Mercurial > public > lazybear
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 |
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 } |