import Foundation enum DefaultContainer { static func documentFileURL(_ name: String) -> URL { let directory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] return directory.appendingPathComponent(name) } @MainActor static func makeFleetModel() -> FleetViewModel { FleetViewModel( repository: FileInstanceRepository(location: documentFileURL("instances.json")), probe: ConnectionProbe(client: SimAdminClient()), credentials: KeychainCredentialStore() ) } @MainActor static func makeMessagesModel() -> MessagesViewModel { MessagesViewModel( repository: FileInstanceRepository(location: documentFileURL("instances.json")), service: MessageService( client: SimAdminClient(), sessions: InstanceSessionStore(), credentials: KeychainCredentialStore() ) ) } @MainActor static func makeDeviceModel(instance: Instance) -> DeviceViewModel { DeviceViewModel( instance: instance, service: DeviceService( client: SimAdminClient(), sessions: InstanceSessionStore(), credentials: KeychainCredentialStore() ) ) } }