33 lines
819 B
Swift
33 lines
819 B
Swift
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
|
|
)
|
|
}
|