fixed for normal service
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
6115b8420b
commit
4f0d099f60
@ -21,4 +21,19 @@ public struct Employees: Codable {
|
|||||||
case page
|
case page
|
||||||
case perPage = "per_page"
|
case perPage = "per_page"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public init(employees: [Employee], total: Int = 0, page: Int = 1, perPage: Int = 10) {
|
||||||
|
self.employees = employees
|
||||||
|
self.total = total
|
||||||
|
self.page = page
|
||||||
|
self.perPage = perPage
|
||||||
|
}
|
||||||
|
|
||||||
|
public init(from decoder: any Decoder) throws {
|
||||||
|
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
|
self.employees = try container.decode([Employee].self, forKey: .employees)
|
||||||
|
self.total = try container.decodeIfPresent(Int.self, forKey: .total) ?? self.employees.count
|
||||||
|
self.page = try container.decodeIfPresent(Int.self, forKey: .page) ?? 1
|
||||||
|
self.perPage = try container.decodeIfPresent(Int.self, forKey: .perPage) ?? self.total
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import Combine
|
|||||||
@MainActor
|
@MainActor
|
||||||
public class EmployeesViewModel: ObservableObject {
|
public class EmployeesViewModel: ObservableObject {
|
||||||
private var serviceMode: EmployeeServiceMode = .production
|
private var serviceMode: EmployeeServiceMode = .production
|
||||||
private var employeeService: EmployeeServiceProtocol = MockEmployeeService.shared
|
private var employeeService: EmployeeServiceProtocol = EmployeeService.shared
|
||||||
@Published public private(set) var employees: [Employee] = []
|
@Published public private(set) var employees: [Employee] = []
|
||||||
@Published public private(set) var errorMessage: String? = nil
|
@Published public private(set) var errorMessage: String? = nil
|
||||||
@Published public private(set) var isLoading: Bool = false
|
@Published public private(set) var isLoading: Bool = false
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user