ios-dev/comments/Api.swift

76 lines
1.6 KiB
Swift
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//
// Api.swift
// comments
//
// Created by Эрнест Литвиненко on 11.03.2024.
//
import Foundation
import Alamofire
struct PostStruct: Decodable, Identifiable {
var id: Int
var userId: Int
var title: String
var body: String
}
struct CardProps: Decodable, Identifiable, Hashable{
var id: Int
var name: String
var amount: Float
var lastDigits: String
var color: String
}
struct FetchBalance: Decodable {
var amount: String
var currency: String
}
class Api {
private let BASE_URL = "http://localhost:3000"
func fetchPosts() async -> [PostStruct] {
let result = await AF.request(BASE_URL + "/posts").serializingDecodable([PostStruct].self).result
var data: [PostStruct] = []
do {
try data = result.get()
} catch {
return []
}
return data
}
func fetchCards() async -> [CardProps] {
let result = await AF.request(BASE_URL + "/cards").serializingDecodable([CardProps].self).result
var data: [CardProps] = []
do {
try data = result.get()
} catch {
return []
}
return data
}
func fetchBalance() async -> FetchBalance? {
let result = await AF.request(BASE_URL + "/balance").serializingDecodable(FetchBalance.self).result
var data: FetchBalance? = nil
do {
try data = result.get()
} catch {
return nil
}
return data!
}
}