feat: Fixes release build failures and get's release dockerfile working.
This commit is contained in:
@@ -6,8 +6,8 @@ import Vapor
|
||||
|
||||
public extension DatabaseClient.Employees {
|
||||
|
||||
static func live(database: any Database) -> DatabaseClient.Employees {
|
||||
.init { create in
|
||||
static func live(database: any Database) -> Self {
|
||||
Self { create in
|
||||
let model = try create.toModel()
|
||||
try await model.save(on: database)
|
||||
return try model.toDTO()
|
||||
@@ -18,13 +18,13 @@ public extension DatabaseClient.Employees {
|
||||
try await model.delete(on: database)
|
||||
} fetchAll: { request in
|
||||
var query = EmployeeModel.query(on: database)
|
||||
.sort(\.$lastName)
|
||||
.sort(\EmployeeModel.$lastName)
|
||||
|
||||
switch request {
|
||||
case .active:
|
||||
query = query.filter(\.$active == true)
|
||||
query = query.filter(\EmployeeModel.$active == true)
|
||||
case .inactive:
|
||||
query = query.filter(\.$active == false)
|
||||
query = query.filter(\EmployeeModel.$active == false)
|
||||
case .all:
|
||||
break
|
||||
}
|
||||
@@ -9,7 +9,8 @@ public extension DatabaseClient.PurchaseOrders {
|
||||
.init { create in
|
||||
let model = try create.toModel()
|
||||
try await model.save(on: database)
|
||||
let fetched = try await PurchaseOrderModel.allQuery(on: database).filter(\.$id == model.id!).first()!
|
||||
let fetched = try await PurchaseOrderModel.allQuery(on: database)
|
||||
.filter(\PurchaseOrderModel.$id == model.id!).first()!
|
||||
return try fetched.toDTO()
|
||||
} fetchAll: {
|
||||
try await PurchaseOrderModel.allQuery(on: database)
|
||||
@@ -21,7 +22,7 @@ public extension DatabaseClient.PurchaseOrders {
|
||||
.map { try $0.toDTO() }
|
||||
} get: { id in
|
||||
try await PurchaseOrderModel.allQuery(on: database)
|
||||
.filter(\.$id == id)
|
||||
.filter(\PurchaseOrderModel.$id == id)
|
||||
.first()
|
||||
.map { try $0.toDTO() }
|
||||
} delete: { id in
|
||||
@@ -34,17 +35,17 @@ public extension DatabaseClient.PurchaseOrders {
|
||||
|
||||
switch search {
|
||||
case let .employee(id):
|
||||
return try await query.filter(\.$createdFor.$id == id)
|
||||
return try await query.filter(\PurchaseOrderModel.$createdFor.$id == id)
|
||||
.paginate(page)
|
||||
.map { try $0.toDTO() }
|
||||
|
||||
case let .customer(search):
|
||||
return try await query.filter(\.$customer ~~ search)
|
||||
return try await query.filter(\PurchaseOrderModel.$customer ~~ search)
|
||||
.paginate(page)
|
||||
.map { try $0.toDTO() }
|
||||
|
||||
case let .vendor(id):
|
||||
return try await query.filter(\.$vendorBranch.$id == id)
|
||||
return try await query.filter(\PurchaseOrderModel.$vendorBranch.$id == id)
|
||||
.paginate(page)
|
||||
.map { try $0.toDTO() }
|
||||
}
|
||||
@@ -190,11 +191,11 @@ final class PurchaseOrderModel: Model, Codable, @unchecked Sendable {
|
||||
|
||||
static func allQuery(on db: any Database) -> QueryBuilder<PurchaseOrderModel> {
|
||||
PurchaseOrderModel.query(on: db)
|
||||
.sort(\.$id, .descending)
|
||||
.with(\.$createdBy)
|
||||
.with(\.$createdFor)
|
||||
.with(\.$vendorBranch) { branch in
|
||||
branch.with(\.$vendor)
|
||||
.sort(\PurchaseOrderModel.$id, .descending)
|
||||
.with(\PurchaseOrderModel.$createdBy)
|
||||
.with(\PurchaseOrderModel.$createdFor)
|
||||
.with(\PurchaseOrderModel.$vendorBranch) { branch in
|
||||
branch.with(\VendorBranchModel.$vendor)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,9 +28,9 @@ public extension DatabaseClient.Users {
|
||||
var query = UserModel.query(on: database)
|
||||
|
||||
if let username = login.username {
|
||||
query = query.filter(\.$username == username)
|
||||
query = query.filter(\UserModel.$username == username)
|
||||
} else {
|
||||
query = query.filter(\.$email == login.email!)
|
||||
query = query.filter(\UserModel.$email == login.email!)
|
||||
}
|
||||
|
||||
guard let user = try await query.first() else {
|
||||
@@ -265,7 +265,7 @@ public struct UserPasswordAuthenticator: AsyncBasicAuthenticator {
|
||||
|
||||
public func authenticate(basic: BasicAuthorization, for request: Request) async throws {
|
||||
guard let user = try await UserModel.query(on: request.db)
|
||||
.filter(\.$username == basic.username)
|
||||
.filter(\UserModel.$username == basic.username)
|
||||
.first(),
|
||||
try Bcrypt.verify(basic.password, created: user.passwordHash)
|
||||
else {
|
||||
@@ -282,8 +282,8 @@ public struct UserTokenAuthenticator: AsyncBearerAuthenticator {
|
||||
|
||||
public func authenticate(bearer: BearerAuthorization, for request: Request) async throws {
|
||||
guard let token = try await UserTokenModel.query(on: request.db)
|
||||
.filter(\.$value == bearer.token)
|
||||
.with(\.$user)
|
||||
.filter(\UserTokenModel.$value == bearer.token)
|
||||
.with(\UserTokenModel.$user)
|
||||
.first()
|
||||
else {
|
||||
throw Abort(.unauthorized)
|
||||
@@ -299,7 +299,7 @@ public struct UserSessionAuthenticator: AsyncSessionAuthenticator {
|
||||
|
||||
public func authenticate(sessionID: User.SessionID, for request: Request) async throws {
|
||||
guard let user = try await UserModel.query(on: request.db)
|
||||
.filter(\.$username == sessionID)
|
||||
.filter(\UserModel.$username == sessionID)
|
||||
.first()
|
||||
else {
|
||||
throw Abort(.unauthorized)
|
||||
@@ -23,8 +23,8 @@ public extension DatabaseClient.VendorBranches {
|
||||
break
|
||||
case let .for(vendorID: vendorID):
|
||||
let branches = try await VendorModel.query(on: db)
|
||||
.filter(\.$id == vendorID)
|
||||
.with(\.$branches)
|
||||
.filter(\VendorModel.$id == vendorID)
|
||||
.with(\VendorModel.$branches)
|
||||
.first()?
|
||||
.branches
|
||||
.map { try $0.toDTO() }
|
||||
@@ -36,7 +36,7 @@ public extension DatabaseClient.VendorBranches {
|
||||
return try await query.all().map { try $0.toDTO() }
|
||||
} fetchAllWithDetail: {
|
||||
try await VendorBranchModel.query(on: db)
|
||||
.with(\.$vendor)
|
||||
.with(\VendorBranchModel.$vendor)
|
||||
.all()
|
||||
.map { try $0.toDetail() }
|
||||
} get: { id in
|
||||
@@ -17,13 +17,13 @@ public extension DatabaseClient.Vendors {
|
||||
}
|
||||
try await model.delete(on: db)
|
||||
} fetchAll: { request in
|
||||
var query = VendorModel.query(on: db).sort(\.$name, .ascending)
|
||||
var query = VendorModel.query(on: db).sort(\VendorModel.$name, .ascending)
|
||||
|
||||
let withBranches = request == .withBranches
|
||||
|
||||
switch request {
|
||||
case .withBranches:
|
||||
query = query.with(\.$branches)
|
||||
query = query.with(\VendorModel.$branches)
|
||||
case .all:
|
||||
break
|
||||
}
|
||||
@@ -34,7 +34,7 @@ public extension DatabaseClient.Vendors {
|
||||
var query = VendorModel.query(on: db).filter(\.$id == id)
|
||||
let withBranches = request == .withBranches
|
||||
if withBranches {
|
||||
query = query.with(\.$branches)
|
||||
query = query.with(\VendorModel.$branches)
|
||||
}
|
||||
return try await query.first().map { try $0.toDTO(includeBranches: withBranches) }
|
||||
} update: { id, updates, withBranches in
|
||||
@@ -47,8 +47,8 @@ public extension DatabaseClient.Vendors {
|
||||
return try model.toDTO()
|
||||
}
|
||||
return try await VendorModel.query(on: db)
|
||||
.filter(\.$id == id)
|
||||
.with(\.$branches)
|
||||
.filter(\VendorModel.$id == id)
|
||||
.with(\VendorModel.$branches)
|
||||
.first()!
|
||||
.toDTO()
|
||||
}
|
||||
Reference in New Issue
Block a user