Mercurial > public > simoleon
view Simoleon/Models/CurrencyConversion.swift @ 161:3913aff613e8
Fix bug that didn't request API on symbol change
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 31 Aug 2021 10:57:34 +0100 |
parents | |
children |
line wrap: on
line source
// // CurrencyConversion.swift // Simoleon // // Created by Dennis Concepción Martín on 26/8/21. // import Foundation class CurrencyConversion: ObservableObject { // Forex pair -> XXX/YYY where XXX = base symbol, YYY = quote symbol @Published var baseSymbol = "USD" { didSet { getQuote() } } @Published var quoteSymbol = "EUR" { didSet { getQuote() } } @Published var quote = CurrencyQuoteModel() @Published var isShowing = false @Published var showingAlert = false let networkHelper = NetworkHelper() init() { getQuote() } func getQuote() { self.isShowing = false let pair = "\(baseSymbol)/\(quoteSymbol)" let apiKey = readConfig(withKey: "API_KEY")! let url = "https://api.1forge.com/quotes?pairs=\(pair)&api_key=\(apiKey)" try? networkHelper.httpRequest(url: url, model: [CurrencyQuoteModel].self) { response in if let quote = response.first { self.quote = quote } self.isShowing = true } } }