Mercurial > public > lazybear
annotate LazyBear/Views/Company/Networking/Company.swift @ 403:48b3d2a410d4
Implementing Insiders.swift
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sun, 23 May 2021 19:00:00 +0200 |
parents | 8357b101df67 |
children | 444ec927d62f |
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 |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 class Company: ObservableObject { |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 @Published var showChartView = false |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 @Published var chartData = ChartResponse() |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 |
403
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
14 @Published var showInsidersView = false |
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
15 @Published var insidersData = InsidersResponse() |
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
16 |
401
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
17 func request(_ url: String, _ requestType: RequestType, _ view: String) { |
399
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
18 if view == "chart" { |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 genericRequest(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
|
20 switch requestType { |
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
21 case .initial: |
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
22 self.chartData = response |
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
23 case .refresh: |
402
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
401
diff
changeset
|
24 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
|
25 case .streaming: |
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
26 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
|
27 } |
f843c6382529
Add Enumeration to Networks files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
399
diff
changeset
|
28 |
399
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
29 self.showChartView = true |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
30 } |
403
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
31 } else if view == "insider" { |
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
32 genericRequest(url: url, model: InsidersResponse.self) { response in |
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
33 self.insidersData = response |
48b3d2a410d4
Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
34 } |
399
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
35 } |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
36 } |
5c99883c7964
Implementing networking in CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
37 } |