feat: Initial purchase order views, login seems to be broken though.

This commit is contained in:
2025-01-17 12:58:32 -05:00
parent e1d07008a1
commit be0b5a6033
18 changed files with 534 additions and 288 deletions

View File

@@ -6,8 +6,8 @@ import SharedModels
public extension DatabaseClient.PurchaseOrders {
static func live(database: any Database) -> Self {
.init { create, createdById in
let model = try create.toModel(createdByID: createdById)
.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()!
return try fetched.toDTO()
@@ -62,7 +62,7 @@ extension PurchaseOrder {
extension PurchaseOrder.Create {
func toModel(createdByID: User.ID) throws -> PurchaseOrderModel {
func toModel() throws -> PurchaseOrderModel {
try validate()
return .init(
materials: materials,
@@ -157,7 +157,7 @@ final class PurchaseOrderModel: Model, Codable, @unchecked Sendable {
truckStock: truckStock,
createdBy: createdBy.toDTO(),
createdFor: createdFor.toDTO(),
vendorBranch: vendorBranch.toDTO(),
vendorBranch: vendorBranch.toDetail(),
createdAt: createdAt,
updatedAt: updatedAt
)