TempPresetIntent.swift 810 B

12345678910111213141516171819202122232425262728293031
  1. import AppIntents
  2. import Foundation
  3. import Intents
  4. import Swinject
  5. struct TempPreset: AppEntity, Identifiable {
  6. static var defaultQuery = TempPresetsQuery()
  7. var id: UUID
  8. var name: String
  9. var targetTop: Decimal?
  10. var targetBottom: Decimal?
  11. var duration: Decimal
  12. var displayRepresentation: DisplayRepresentation {
  13. DisplayRepresentation(title: "\(name)")
  14. }
  15. static var typeDisplayRepresentation: TypeDisplayRepresentation = "Presets"
  16. }
  17. struct TempPresetsQuery: EntityQuery {
  18. func entities(for identifiers: [TempPreset.ID]) async throws -> [TempPreset] {
  19. await TempPresetsIntentRequest().fetchIDs(identifiers)
  20. }
  21. func suggestedEntities() async throws -> [TempPreset] {
  22. await TempPresetsIntentRequest().fetchAndProcessTempTargets()
  23. }
  24. }