27 lines
763 B
Swift
27 lines
763 B
Swift
//
|
|
// AlloVictorViewModel.swift
|
|
// AlloVictor
|
|
//
|
|
// Created by Bodinaud Victor on 13/04/2024.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
@MainActor
|
|
class AlloVictorViewModel: ObservableObject {
|
|
@Published var offersList: [Offer] = []
|
|
@Published var offerDetails: [Int: Offer] = [:]
|
|
|
|
let httpClient = HTTPClient()
|
|
|
|
func getDatas() async throws {
|
|
let listResource = Resource(url: Constants.Urls.list, modelType: OfferListResponseDTO.self)
|
|
let detailsResource = Resource(url: Constants.Urls.detail, modelType: OfferDetailsResponseDTO.self)
|
|
|
|
offersList = try await httpClient.load(listResource).data
|
|
let offer = try await httpClient.load(detailsResource).data
|
|
|
|
offerDetails[offer.id] = offer
|
|
}
|
|
}
|