annotate LazyBear/Views/Profile/Networking/Profile.swift @ 374:d402bfa367c2

Implementing ProfileView
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sat, 17 Apr 2021 00:01:59 +0200
parents
children f3cb5bdea8e5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
374
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // Profile.swift
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 16/4/21.
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
9
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
10 class Profile: ObservableObject {
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
11 @Published var showView = false
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
12 @Published var data = ProfileResponse()
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
13
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
14 var streamingRequests = 0 // Count streaming requests
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
15
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
16 func request(_ url: String) {
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
17 genericRequest(url: url, model: ProfileResponse.self) { response in
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
18 print(response)
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
19 self.streamingRequests += 1
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
20
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
21 // If is the first request -> init()
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
22 if self.streamingRequests == 1 {
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
23 self.data = response
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
24 } else {
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
25 // If not, request streaming data (without intradayPrices)
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
26 self.data.quotes = response.quotes
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
27 }
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
28 }
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
29 }
d402bfa367c2 Implementing ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
30 }