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 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() }