changeset 110:9f02fcaf9ed1

Delete IexApi and LogoApi
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Mon, 01 Feb 2021 18:39:28 +0100
parents b17adecaad0c
children a9b7ea478c25
files LazyBear.xcodeproj/project.pbxproj LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate lazybear/Network/IexApi.swift lazybear/Network/LogoApi.swift lazybear/Network/Request.swift
diffstat 5 files changed, 39 insertions(+), 137 deletions(-) [+]
line wrap: on
line diff
--- a/LazyBear.xcodeproj/project.pbxproj	Mon Feb 01 13:44:06 2021 +0100
+++ b/LazyBear.xcodeproj/project.pbxproj	Mon Feb 01 18:39:28 2021 +0100
@@ -12,12 +12,11 @@
 		950B79F625B1CB7A00E5DB5B /* CompanyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950B79F525B1CB7A00E5DB5B /* CompanyList.swift */; };
 		9520F0B225C712D000692610 /* LineChartShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9520F0B125C712D000692610 /* LineChartShape.swift */; };
 		9520F0B525C7131300692610 /* LineChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9520F0B425C7131300692610 /* LineChart.swift */; };
-		9537923625BDF85D0001F82B /* LogoApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9537923525BDF85D0001F82B /* LogoApi.swift */; };
+		95363CDC25C8741900B74131 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95363CDB25C8741900B74131 /* Request.swift */; };
 		954D992525A2123B001F7F60 /* HistoricalPricesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D992425A2123B001F7F60 /* HistoricalPricesModel.swift */; };
 		954DDF0425C456E800848A4B /* QuoteModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954DDF0325C456E800848A4B /* QuoteModel.swift */; };
 		95612C512598D48200F7698F /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95612C4F2598D48200F7698F /* SearchBar.swift */; };
 		95621AD925BF2EDB00BB17FC /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95621AD825BF2EDB00BB17FC /* CloudKit.framework */; };
-		95700BC625BD9D12009CEEFE /* IexApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95700BC525BD9D12009CEEFE /* IexApi.swift */; };
 		95825AFC25C7255600465409 /* Normalize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95825AFB25C7255600465409 /* Normalize.swift */; };
 		958B678525C42B2400BF9F89 /* ApiAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958B678425C42B2400BF9F89 /* ApiAccess.swift */; };
 		9597CE0125C1DC0A004DDFED /* LogoModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9597CE0025C1DC0A004DDFED /* LogoModifier.swift */; };
@@ -55,13 +54,12 @@
 		950B79F525B1CB7A00E5DB5B /* CompanyList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyList.swift; sourceTree = "<group>"; };
 		9520F0B125C712D000692610 /* LineChartShape.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LineChartShape.swift; path = lazybear/Views/LineChartShape.swift; sourceTree = SOURCE_ROOT; };
 		9520F0B425C7131300692610 /* LineChart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LineChart.swift; path = lazybear/Views/LineChart.swift; sourceTree = SOURCE_ROOT; };
-		9537923525BDF85D0001F82B /* LogoApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LogoApi.swift; path = LazyBear/Network/LogoApi.swift; sourceTree = SOURCE_ROOT; };
+		95363CDB25C8741900B74131 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Request.swift; path = lazybear/Network/Request.swift; sourceTree = SOURCE_ROOT; };
 		954D992425A2123B001F7F60 /* HistoricalPricesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = HistoricalPricesModel.swift; path = lazybear/Models/HistoricalPricesModel.swift; sourceTree = SOURCE_ROOT; };
 		954DDF0325C456E800848A4B /* QuoteModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = QuoteModel.swift; path = lazybear/Models/QuoteModel.swift; sourceTree = SOURCE_ROOT; };
 		95612C4F2598D48200F7698F /* SearchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = "<group>"; };
 		95621AD725BF2EC500BB17FC /* LazyBear.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LazyBear.entitlements; sourceTree = "<group>"; };
 		95621AD825BF2EDB00BB17FC /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
-		95700BC525BD9D12009CEEFE /* IexApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IexApi.swift; path = LazyBear/Network/IexApi.swift; sourceTree = SOURCE_ROOT; };
 		95825AFB25C7255600465409 /* Normalize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Normalize.swift; path = lazybear/Jobs/Normalize.swift; sourceTree = SOURCE_ROOT; };
 		958B678425C42B2400BF9F89 /* ApiAccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiAccess.swift; path = lazybear/ApiAccess.swift; sourceTree = SOURCE_ROOT; };
 		9597CE0025C1DC0A004DDFED /* LogoModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoModifier.swift; sourceTree = "<group>"; };
@@ -171,8 +169,7 @@
 		95945FC325C441BA00EEA1D0 /* Network */ = {
 			isa = PBXGroup;
 			children = (
-				95700BC525BD9D12009CEEFE /* IexApi.swift */,
-				9537923525BDF85D0001F82B /* LogoApi.swift */,
+				95363CDB25C8741900B74131 /* Request.swift */,
 			);
 			path = Network;
 			sourceTree = "<group>";
@@ -326,14 +323,13 @@
 				95E4119225BEC56F00A9C23F /* SuperTitle.swift in Sources */,
 				95B04EB325212369000AD27F /* LazyBearApp.swift in Sources */,
 				95AB4A7D259DCC0C0064C9C1 /* CompanyModel.swift in Sources */,
-				95700BC625BD9D12009CEEFE /* IexApi.swift in Sources */,
-				9537923625BDF85D0001F82B /* LogoApi.swift in Sources */,
 				95E411B625BEE84E00A9C23F /* Stock.swift in Sources */,
 				9520F0B225C712D000692610 /* LineChartShape.swift in Sources */,
 				954D992525A2123B001F7F60 /* HistoricalPricesModel.swift in Sources */,
 				95FE646725C2DC580052832E /* WatchlistCompany+CoreDataClass.swift in Sources */,
 				95E411A725BEE03000A9C23F /* Watchlist.swift in Sources */,
 				95825AFC25C7255600465409 /* Normalize.swift in Sources */,
+				95363CDC25C8741900B74131 /* Request.swift in Sources */,
 				95F7CAF625ADC7B7009E0E7C /* LazyBear.xcdatamodeld in Sources */,
 				95FE646825C2DC580052832E /* WatchlistCompany+CoreDataProperties.swift in Sources */,
 			);
Binary file LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- a/lazybear/Network/IexApi.swift	Mon Feb 01 13:44:06 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-//
-//  API.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 24/1/21.
-//
-
-import SwiftUI
-
-struct IexApi {
-    @EnvironmentObject var apiAccess: ApiAccess  // Env apis info
-    
-    enum Version {
-        case stable
-        
-        var path: String {
-            switch self {
-            case .stable:
-                return "/stable"
-            }
-        }
-    }
-    
-    enum Stock {
-        case symbol(company: String)
-        var path: String {
-            switch self {
-            case let .symbol(company):
-                return "/stock/\(company)"
-            }
-        }
-    }
-
-    enum Endpoint {
-        case historicalPrices
-        case quote
-        var path: String {
-            switch self {
-            case .historicalPrices:
-                return "/chart"
-            case .quote:
-                return "/quote?"
-            }
-        }
-    }
-    
-    enum Range {
-        case period(range: String)
-        var path: String {
-            switch self {
-            case let .period(range):
-                return "/\(range)?"
-            }
-        }
-    }
-    
-    enum Parameters {
-        case chartCloseOnly
-        var path: String {
-            switch self {
-            case .chartCloseOnly:
-                return "chartCloseOnly=true&"
-            }
-        }
-    }
-    
-    
-    // Create URL
-    func getPath(version: Version, stock: Stock, endpoint: Endpoint, range: Range?, parameters: Parameters?) -> String {
-        let version = version.path
-        let stock = stock.path
-        let endpoint = endpoint.path
-        let range = range?.path
-        let parameters = parameters?.path
-        
-        let path = "\(version)\(stock)\(endpoint)\(range ?? "")\(parameters ?? "")token="
-        
-        return path
-        
-    }
-    
-    // Request API
-    func request<T: Decodable>(url: String, model: T.Type, completion: @escaping (_ result: T) -> Void) {
-        // We take some model data T.Type
-        guard let url = URL(string: url) else {
-            print("Invalid URL")
-            return
-        }
-        let request = URLRequest(url: url)
-        URLSession.shared.dataTask(with: request) { data, response, error in
-            if let data = data {
-                do {
-                    // Decode response with the model passed
-                    let decodedResponse = try JSONDecoder().decode(model, from: data)
-                    DispatchQueue.main.async {
-                        print(decodedResponse)
-                        completion(decodedResponse)
-                    }
-                    return
-                } catch {
-                    print(error)
-                }
-            }
-            print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
-        }
-        .resume()
-    }
-}
--- a/lazybear/Network/LogoApi.swift	Mon Feb 01 13:44:06 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-//
-//  GoogleApi.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 24/1/21.
-//
-
-import SwiftUI
-
-struct LogoApi {
-    enum URL {
-        case company(symbol: String)
-        
-        var path: String {
-            switch self {
-            case let .company(symbol):
-                return "/iex/api/logos/\(symbol.uppercased()).png"
-            }
-        }
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lazybear/Network/Request.swift	Mon Feb 01 18:39:28 2021 +0100
@@ -0,0 +1,35 @@
+//
+//  Request.swift
+//  LazyBear
+//
+//  Created by Dennis Concepción Martín on 1/2/21.
+//
+
+import Foundation
+
+// Request API
+func request<T: Decodable>(url: String, model: T.Type, completion: @escaping (_ result: T) -> Void) {
+    // We take some model data T.Type
+    guard let url = URL(string: url) else {
+        print("Invalid URL")
+        return
+    }
+    let request = URLRequest(url: url)
+    URLSession.shared.dataTask(with: request) { data, response, error in
+        if let data = data {
+            do {
+                // Decode response with the model passed
+                let decodedResponse = try JSONDecoder().decode(model, from: data)
+                DispatchQueue.main.async {
+                    print(decodedResponse)
+                    completion(decodedResponse)
+                }
+                return
+            } catch {
+                print(error)
+            }
+        }
+        print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
+    }
+    .resume()
+}