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
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
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 }