import Foundation public enum GRDBDatabaseTable: String { case HAAppEntity = "hAAppEntity" case watchConfig case assistPipelines case carPlayConfig case appEntityRegistryListForDisplay case entityRegistry case deviceRegistry case appPanel case customWidget case appArea case homeViewConfiguration case cameraListConfiguration case assistConfiguration // Dropped since 2025.2, now saved as json file // Context: https://github.com/groue/GRDB.swift/issues/1626#issuecomment-2623927815 case clientEvent } public enum DatabaseTables { public enum AppEntity: String, CaseIterable { case id case entityId case serverId case domain case name case icon case rawDeviceClass } public enum WatchConfig: String, CaseIterable { case id case assist case items } // Assist pipelines public enum AssistPipelines: String, CaseIterable { case serverId case preferredPipeline case pipelines } // CarPlay configuration public enum CarPlayConfig: String, CaseIterable { case id case tabs case quickAccessItems } // Table where it is store frontend related values such as // precision for sensors public enum AppEntityRegistryListForDisplay: String, CaseIterable { case id case serverId case entityId case registry } // Sidebar dashboard panels public enum AppPanel: String, CaseIterable { case id case serverId case icon case title case path case component case showInSidebar } public enum CustomWidget: String, CaseIterable { case id case name case items case itemsStates } // Areas from Home Assistant public enum AppArea: String, CaseIterable { case id case serverId case areaId case name case aliases case picture case icon case entities } // Home View Configuration (per server) public enum HomeViewConfiguration: String, CaseIterable { case id case sectionOrder case visibleSectionIds case allowMultipleSelection case entityOrderByRoom case hiddenEntityIds case showUsagePredictionSection case areasLayout case showSummaries } // Camera List Configuration (per server) public enum CameraListConfiguration: String, CaseIterable { case serverId case areaOrders case sectionOrder } // Entity Registry (full entity registry data) public enum EntityRegistry: String, CaseIterable { case id // Auto generated by GRDB (serverId-uniqueId) case serverId case uniqueId case entityId case platform case configEntryId case deviceId case areaId case disabledBy case hiddenBy case entityCategory case name case originalName case icon case originalIcon case aliases case labels case deviceClass case originalDeviceClass case capabilities case supportedFeatures case unitOfMeasurement case options case translationKey case hasEntityName } // Device Registry (full device registry data) public enum DeviceRegistry: String, CaseIterable { case id // Auto generated by GRDB (serverId-deviceId) case serverId case deviceId case areaId case configurationURL case configEntries case configEntriesSubentries case connections case createdAt case disabledBy case entryType case hwVersion case identifiers case labels case manufacturer case model case modelID case modifiedAt case nameByUser case name case primaryConfigEntry case serialNumber case swVersion case viaDeviceID } public enum AssistConfiguration: String, CaseIterable { case id case enableOnDeviceSTT case enableModernUI case theme case muteTTS } }