feat: Initial purchase order views, login seems to be broken though.
This commit is contained in:
@@ -10,7 +10,7 @@ public struct PurchaseOrder: Codable, Equatable, Identifiable, Sendable {
|
||||
public var truckStock: Bool
|
||||
public var createdBy: User
|
||||
public var createdFor: Employee
|
||||
public var vendorBranch: VendorBranch
|
||||
public var vendorBranch: VendorBranch.Detail
|
||||
public var createdAt: Date?
|
||||
public var updatedAt: Date?
|
||||
|
||||
@@ -22,7 +22,7 @@ public struct PurchaseOrder: Codable, Equatable, Identifiable, Sendable {
|
||||
truckStock: Bool,
|
||||
createdBy: User,
|
||||
createdFor: Employee,
|
||||
vendorBranch: VendorBranch,
|
||||
vendorBranch: VendorBranch.Detail,
|
||||
createdAt: Date?,
|
||||
updatedAt: Date?
|
||||
) {
|
||||
@@ -41,9 +41,40 @@ public struct PurchaseOrder: Codable, Equatable, Identifiable, Sendable {
|
||||
|
||||
public extension PurchaseOrder {
|
||||
|
||||
// TODO: Add created by id.
|
||||
struct Create: Codable, Sendable {
|
||||
|
||||
public let id: Int?
|
||||
public let workOrder: Int?
|
||||
public let materials: String
|
||||
public let customer: String
|
||||
public let truckStock: Bool?
|
||||
public let createdByID: User.ID
|
||||
public let createdForID: Employee.ID
|
||||
public let vendorBranchID: VendorBranch.ID
|
||||
|
||||
public init(
|
||||
id: Int? = nil,
|
||||
workOrder: Int? = nil,
|
||||
materials: String,
|
||||
customer: String,
|
||||
truckStock: Bool? = nil,
|
||||
createdByID: User.ID,
|
||||
createdForID: Employee.ID,
|
||||
vendorBranchID: VendorBranch.ID
|
||||
) {
|
||||
self.id = id
|
||||
self.workOrder = workOrder
|
||||
self.materials = materials
|
||||
self.customer = customer
|
||||
self.truckStock = truckStock
|
||||
self.createdByID = createdByID
|
||||
self.createdForID = createdForID
|
||||
self.vendorBranchID = vendorBranchID
|
||||
}
|
||||
}
|
||||
|
||||
struct CreateIntermediate: Codable, Sendable {
|
||||
|
||||
public let id: Int?
|
||||
public let workOrder: Int?
|
||||
public let materials: String
|
||||
@@ -69,44 +100,26 @@ public extension PurchaseOrder {
|
||||
self.createdForID = createdForID
|
||||
self.vendorBranchID = vendorBranchID
|
||||
}
|
||||
|
||||
public func toCreate(createdByID userID: User.ID) -> PurchaseOrder.Create {
|
||||
.init(
|
||||
id: id,
|
||||
workOrder: workOrder,
|
||||
materials: materials,
|
||||
customer: customer,
|
||||
truckStock: truckStock,
|
||||
createdByID: userID,
|
||||
createdForID: createdForID,
|
||||
vendorBranchID: vendorBranchID
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
// public extension PurchaseOrder {
|
||||
|
||||
// static func generateMocks(
|
||||
// count: Int = 50,
|
||||
// employees: [Employee],
|
||||
// users: [User],
|
||||
// vendorBranches: [VendorBranch]
|
||||
// ) -> [Self] {
|
||||
// @Dependency(\.date.now) var now
|
||||
// @Dependency(\.uuid) var uuid
|
||||
//
|
||||
// var output = [Self]()
|
||||
//
|
||||
// for id in 0 ... count {
|
||||
// output.append(.init(
|
||||
// id: id,
|
||||
// workOrder: Int.random(in: 0 ... 100),
|
||||
// materials: "Some thing",
|
||||
// customer: "\(RandomNames.firstNames.randomElement()!) \(RandomNames.lastNames.randomElement()!)",
|
||||
// truckStock: Bool.random(),
|
||||
// createdBy: users.randomElement()!,
|
||||
// createdFor: employees.randomElement()!,
|
||||
// vendorBranch: vendorBranches.randomElement()!,
|
||||
// createdAt: now,
|
||||
// updatedAt: now
|
||||
// ))
|
||||
// }
|
||||
//
|
||||
// return output
|
||||
// }
|
||||
// }
|
||||
|
||||
public extension PurchaseOrder.Create {
|
||||
public extension PurchaseOrder.CreateIntermediate {
|
||||
static func generateMocks(
|
||||
count: Int = 50,
|
||||
employees: [Employee],
|
||||
|
||||
Reference in New Issue
Block a user