ios-dev/comments/Api.swift

76 lines
1.6 KiB
Swift
Raw Normal View History

2024-03-11 14:47:28 +03:00
//
// 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!
}
}