twigs-swift-sdk/Sources/Twigs/Category.swift

19 lines
716 B
Swift

import Foundation
public struct Category: Identifiable, Hashable, Codable {
public let budgetId: String
public let id: String
public let title: String
public let description: String?
public let amount: Int
public let expense: Bool
public let archived: Bool
}
public protocol CategoryRepository {
func getCategories(budgetId: String?, expense: Bool?, archived: Bool?, count: Int?, page: Int?) async throws -> [Category]
func getCategory(_ categoryId: String) async throws -> Category
func createCategory(_ category: Category) async throws -> Category
func updateCategory(_ category: Category) async throws -> Category
func deleteCategory(_ id: String) async throws
}