Files
vapor-po/Sources/SharedModels/PurchaseOrder.swift

73 lines
1.7 KiB
Swift

import Dependencies
import Foundation
public struct PurchaseOrder: Codable, Equatable, Identifiable, Sendable {
public let id: Int
public var workOrder: Int?
public var materials: String
public var customer: String
public var truckStock: Bool
public var createdBy: User
public var createdFor: Employee
public var vendorBranch: VendorBranch
public var createdAt: Date?
public var updatedAt: Date?
public init(
id: Int,
workOrder: Int? = nil,
materials: String,
customer: String,
truckStock: Bool,
createdBy: User,
createdFor: Employee,
vendorBranch: VendorBranch,
createdAt: Date?,
updatedAt: Date?
) {
self.id = id
self.workOrder = workOrder
self.materials = materials
self.customer = customer
self.truckStock = truckStock
self.createdBy = createdBy
self.createdFor = createdFor
self.vendorBranch = vendorBranch
self.createdAt = createdAt
self.updatedAt = updatedAt
}
}
public extension PurchaseOrder {
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 createdForID: Employee.ID
public let vendorBranchID: VendorBranch.ID
public init(
id: Int? = nil,
workOrder: Int? = nil,
materials: String,
customer: String,
truckStock: Bool? = nil,
createdForID: Employee.ID,
vendorBranchID: VendorBranch.ID
) {
self.id = id
self.workOrder = workOrder
self.materials = materials
self.customer = customer
self.truckStock = truckStock
self.createdForID = createdForID
self.vendorBranchID = vendorBranchID
}
}
}