aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/iOSApp.swift
diff options
context:
space:
mode:
Diffstat (limited to 'iosApp/iosApp/iOSApp.swift')
-rw-r--r--iosApp/iosApp/iOSApp.swift42
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 {