annotate LazyBear/Views/Company/Networking/Company.swift @ 415:34f9e408b861

Minor UI Updates and tests
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Wed, 09 Jun 2021 12:49:17 +0200
parents b93172662988
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
399
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // Company.swift
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 15/5/21.
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
404
444ec927d62f Install Bazooka package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
9 import Bazooka
399
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
10
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
11 class Company: ObservableObject {
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
12 @Published var showChartView = false
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
13 @Published var chartData = ChartResponse()
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
14
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
15 @Published var showInsidersView = false
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
16 @Published var insidersData = InsidersResponse()
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
17
401
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
18 func request(_ url: String, _ requestType: RequestType, _ view: String) {
404
444ec927d62f Install Bazooka package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
19 let bazooka = Bazooka()
399
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
20 if view == "chart" {
404
444ec927d62f Install Bazooka package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
21 bazooka.request(url: url, model: ChartResponse.self) { response in
401
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
22 switch requestType {
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
23 case .initial:
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
24 self.chartData = response
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
25 case .refresh:
402
8357b101df67 Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 401
diff changeset
26 self.chartData.historicalPrices = response.historicalPrices
401
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
27 case .streaming:
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
28 self.chartData.quote = response.quote
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
29 }
f843c6382529 Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 399
diff changeset
30
399
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
31 self.showChartView = true
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
32 }
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
33 } else if view == "insider" {
404
444ec927d62f Install Bazooka package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
34 bazooka.request(url: url, model: InsidersResponse.self) { response in
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
35 self.insidersData = response
407
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 404
diff changeset
36
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 404
diff changeset
37 self.showInsidersView = true
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 402
diff changeset
38 }
399
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
39 }
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
40 }
5c99883c7964 Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
41 }