import Dependencies import DependenciesMacros import FluentKit import SharedModels import Vapor public extension DependencyValues { var database: DatabaseClient { get { self[DatabaseClient.self] } set { self[DatabaseClient.self] = newValue } } } @DependencyClient public struct DatabaseClient: Sendable { public var employees: Employees public var migrations: @Sendable () async throws -> [any AsyncMigration] public var purchaseOrders: PurchaseOrders public var users: Users public var vendorBranches: VendorBranches public var vendors: Vendors } extension DatabaseClient: TestDependencyKey { public static let testValue: DatabaseClient = Self( employees: .testValue, purchaseOrders: .testValue, users: .testValue, vendorBranches: .testValue, vendors: .testValue ) }