Skip to content

Commit deef1e8

Browse files
committed
Added DataTransferService dependencies
1 parent 9d3bf75 commit deef1e8

File tree

2 files changed

+50
-13
lines changed

2 files changed

+50
-13
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//
2+
// DataTransferService+Dependencies.swift
3+
// SkyWizard-SwiftUI
4+
//
5+
// Created by Hishara Dilshan on 07/11/2024.
6+
//
7+
8+
import Foundation
9+
import NetworkingService
10+
import Factory
11+
12+
extension Container {
13+
private var networkConfigWeather: Factory<ApiNetworkConfig> {
14+
Factory(self) {
15+
guard let url = URL(string: "https://api.open-meteo.com/v1") else {
16+
fatalError("Could not create URL from string: https://api.open-meteo.com/v1")
17+
}
18+
return .init(baseUrl: url)
19+
}
20+
}
21+
22+
private var networkConfigGeocoding: Factory<ApiNetworkConfig> {
23+
Factory(self) {
24+
guard let url = URL(string: "https://api.open-meteo.com/v1") else {
25+
fatalError("Could not create URL from string: https://api.open-meteo.com/v1")
26+
}
27+
return .init(baseUrl: url)
28+
}
29+
}
30+
31+
var dataTransferServiceWeather: Factory<NetworkDataTransferService> {
32+
Factory(self) {
33+
let networkService: NetworkService = {
34+
return DefaultNetworkService.init(networkConfig: self.networkConfigWeather(), sessionManagerType: .defaultType, loggerType: .defaultType)
35+
}()
36+
37+
return DefaultNetworkDataTransferService(networkService: networkService, logger: DefaultNetworkDataTransferErrorLogger())
38+
}
39+
}
40+
41+
var dataTransferServiceGeocoding: Factory<NetworkDataTransferService> {
42+
Factory(self) {
43+
let networkService: NetworkService = {
44+
return DefaultNetworkService.init(networkConfig: self.networkConfigGeocoding(), sessionManagerType: .defaultType, loggerType: .defaultType)
45+
}()
46+
47+
return DefaultNetworkDataTransferService(networkService: networkService, logger: DefaultNetworkDataTransferErrorLogger())
48+
}
49+
}
50+
}

SkyWizardWidget/Application/Dependencies.swift

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)