view LazyBear/Views/Profile/Networking/Profile.swift @ 378:6802c2393203

Implementing ProfileView (Watchlists)
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Wed, 21 Apr 2021 23:12:56 +0200
parents d01859776fe6
children 6303385b3629
line wrap: on
line source

//
//  Profile.swift
//  LazyBear
//
//  Created by Dennis Concepción Martín on 16/4/21.
//

import SwiftUI

class Profile: ObservableObject {
    @Published var showView = false
    @Published var data = ProfileResponse()
    
    var streamingRequests = 0  // Count streaming requests
    
    func request(_ url: String) {
        genericRequest(url: url, model: ProfileResponse.self) { response in
            self.streamingRequests += 1

            // If is the first request -> init()
            if self.streamingRequests == 1 {
                self.data = response
            } else {
                 // If not, request streaming data (without intradayPrices)
                self.data.quotes = response.quotes
            }

            self.showView = true
        }
    }
}