mirror of
https://github.com/home-assistant/iOS.git
synced 2026-06-18 11:15:36 -05:00
Introduces the AppArea model, its database table, and related query utilities for managing Home Assistant areas and their entities. Updates the database initialization and updater logic to support caching and persisting areas per server, including migration and fetch helpers. <!-- Thank you for submitting a Pull Request and helping to improve Home Assistant. Please complete the following sections to help the processing and review of your changes. Please do not delete anything from this template. --> ## Summary <!-- Provide a brief summary of the changes you have made and most importantly what they aim to achieve --> ## Screenshots <!-- If this is a user-facing change not in the frontend, please include screenshots in light and dark mode. --> ## Link to pull request in Documentation repository <!-- Pull requests that add, change or remove functionality must have a corresponding pull request in the Companion App Documentation repository (https://github.com/home-assistant/companion.home-assistant). Please add the number of this pull request after the "#" --> Documentation: home-assistant/companion.home-assistant# ## Any other notes <!-- If there is any other information of note, like if this Pull Request is part of a bigger change, please include it here. --> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
88 lines
1.8 KiB
Swift
88 lines
1.8 KiB
Swift
import Foundation
|
|
|
|
public enum GRDBDatabaseTable: String {
|
|
case HAAppEntity = "hAAppEntity"
|
|
case watchConfig
|
|
case assistPipelines
|
|
case carPlayConfig
|
|
case appEntityRegistryListForDisplay
|
|
case appPanel
|
|
case customWidget
|
|
case appArea
|
|
|
|
// 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 {
|
|
case id
|
|
case assist
|
|
case items
|
|
}
|
|
|
|
// Assist pipelines
|
|
public enum AssistPipelines: String {
|
|
case serverId
|
|
case preferredPipeline
|
|
case pipelines
|
|
}
|
|
|
|
// CarPlay configuration
|
|
public enum CarPlayConfig: String {
|
|
case id
|
|
case tabs
|
|
case quickAccessItems
|
|
}
|
|
|
|
// Table where it is store frontend related values such as
|
|
// precision for sensors
|
|
public enum AppEntityRegistryListForDisplay: String {
|
|
case id
|
|
case serverId
|
|
case entityId
|
|
case registry
|
|
}
|
|
|
|
// Sidebar dashboard panels
|
|
public enum AppPanel: String {
|
|
case id
|
|
case serverId
|
|
case icon
|
|
case title
|
|
case path
|
|
case component
|
|
case showInSidebar
|
|
}
|
|
|
|
public enum CustomWidget: String {
|
|
case id
|
|
case name
|
|
case items
|
|
case itemsStates
|
|
}
|
|
|
|
// Areas from Home Assistant
|
|
public enum AppArea: String {
|
|
case id
|
|
case serverId
|
|
case areaId
|
|
case name
|
|
case aliases
|
|
case picture
|
|
case icon
|
|
case entities
|
|
}
|
|
}
|