Files
vapor-po/Sources/DatabaseClient/PurchaseOrders.swift

25 lines
908 B
Swift

import Dependencies
import DependenciesMacros
import Fluent
import SharedModels
import Vapor
public extension DatabaseClient {
@DependencyClient
struct PurchaseOrders: Sendable {
public var create: @Sendable (PurchaseOrder.Create, User.ID) async throws -> PurchaseOrder
public var fetchAll: @Sendable () async throws -> [PurchaseOrder]
public var fetchPage: @Sendable (PageRequest) async throws -> Page<PurchaseOrder>
public var get: @Sendable (PurchaseOrder.ID) async throws -> PurchaseOrder?
// var update: @Sendable (PurchaseOrder.ID, PurchaseOrder.Update) async throws -> PurchaseOrder
public var delete: @Sendable (PurchaseOrder.ID) async throws -> Void
}
}
extension PurchaseOrder: Content {}
extension PurchaseOrder.Create: Content {}
extension DatabaseClient.PurchaseOrders: TestDependencyKey {
public static let testValue: DatabaseClient.PurchaseOrders = Self()
}