annotate LazyBear/Views/Home/Networking/Home.swift @ 346:80bfa88c6b0f

Implementing Prop API
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sun, 11 Apr 2021 19:55:47 +0200
parents
children 280cbc5653b5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
346
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // Home.swift
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 11/4/21.
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
9
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
10 class Home: ObservableObject {
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
11 @Published var showView = false
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
12 @Published var data = HomeResponse()
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
13
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
14 func request(_ url: String) {
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
15 genericRequest(url: url, model: HomeResponse.self) { response in
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
16 // Is intradayPrices is empty -> request all data
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
17 if self.data.intradayPrices == nil {
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
18 self.data = response
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
19 } else {
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
20 // If not, request streaming data (without intradayPrices)
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
21 self.data.lists = response.lists
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
22 self.data.sectorPerformance = response.sectorPerformance
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
23 }
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
24 self.showView = true
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
25 }
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
26 }
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
27 }