annotate LazyBear/Views/Profile/Networking/Profile.swift @ 377:d01859776fe6

ProfileView updated
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Wed, 21 Apr 2021 16:44:11 +0200
parents f3cb5bdea8e5
children 6802c2393203
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
377
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
10 class Profile: ObservableObject {
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
11 @Published var showView = false
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
12 @Published var data = ProfileResponse()
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
13
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
14 var streamingRequests = 0 // Count streaming requests
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
15
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
16 func request(_ url: String) {
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
17 genericRequest(url: url, model: ProfileResponse.self) { response in
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
18 self.streamingRequests += 1
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
19
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
20 // If is the first request -> init()
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
21 if self.streamingRequests == 1 {
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
22 self.data = response
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
23 } else {
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
24 // If not, request streaming data (without intradayPrices)
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
25 self.data.quotes = response.quotes
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
26 }
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
27 }
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
28 }
d01859776fe6 ProfileView updated
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 375
diff changeset
29 }