diff options
Diffstat (limited to 'iosApp/iosApp/iOSApp.swift')
-rw-r--r-- | iosApp/iosApp/iOSApp.swift | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift index 26c93f1..61c6afc 100644 --- a/iosApp/iosApp/iOSApp.swift +++ b/iosApp/iosApp/iOSApp.swift @@ -1,8 +1,50 @@ +import Foundation import SwiftUI import shared @main struct iOSApp: App { + + init() { + /* Dependency injections */ + + Resolver.shared.add(SessionManager.self) { resolver in + return SessionManager(defaultBaseUrl: NSLocalizedString("app-server-url", comment: "")) + } + Resolver.shared.add(SessionApi.self) { resolver in + return SessionApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(UsersApi.self) { resolver in + return UsersApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(DevicesApi.self) { resolver in + return DevicesApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(PositionsApi.self) { resolver in + return PositionsApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(CommandsApi.self) { resolver in + return CommandsApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(ReportsApi.self) { resolver in + return ReportsApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(GeofencesApi.self) { resolver in + return GeofencesApi(sessionManager: resolver.resolve()) + } + Resolver.shared.add(SessionController.self) { resolver in + return SessionController(sessionApi: resolver.resolve(), usersApi: resolver.resolve()) + } + Resolver.shared.add(UnitsController.self) { resolver in + return UnitsController(devicesApi: resolver.resolve(), positionsApi: resolver.resolve()) + } + Resolver.shared.add(GeofencesController.self) { resolver in + return GeofencesController(geofencesApi: resolver.resolve()) + } + Resolver.shared.add(ReportController.self) { resolver in + return ReportController(reportsApi: resolver.resolve(), geofencesApi: resolver.resolve()) + } + } var body: some Scene { WindowGroup { |