NetworkManager.swift 669 B

123456789101112131415161718192021222324
  1. import Combine
  2. import Foundation
  3. import Swinject
  4. protocol NetworkManager {}
  5. final class BaseNetworkManager: NetworkManager, Injectable {
  6. @Injected() private var keychain: Keychain!
  7. private var nightscoutAPI: NightscoutAPI? {
  8. guard let urlString = keychain.getValue(String.self, forKey: NightscoutConfig.Config.urlKey),
  9. let url = URL(string: urlString),
  10. let secret = keychain.getValue(String.self, forKey: NightscoutConfig.Config.secretKey)
  11. else {
  12. return nil
  13. }
  14. return NightscoutAPI(url: url, secret: secret)
  15. }
  16. init(resolver: Resolver) {
  17. injectServices(resolver)
  18. }
  19. }