diff --git a/Sources/App/Controllers/LinkingControllers/cntrlXWorkOrderSegment.swift b/Sources/App/Controllers/LinkingControllers/cntrlXWorkOrderSegment.swift deleted file mode 100644 index c32cadf..0000000 --- a/Sources/App/Controllers/LinkingControllers/cntrlXWorkOrderSegment.swift +++ /dev/null @@ -1,49 +0,0 @@ -// -// cntrlXWorkOrderSegment.swift -// -// -// Created by Michiel Carman on 4/1/24. -// - -import Fluent -import Vapor - -struct cntrlXWorkOrderSegment: RouteCollection { - func boot(routes: RoutesBuilder) throws { - let rts = routes.grouped("xworkordersegments") - rts.get(use: index) - rts.post(use: create) - rts.put(use: update) - rts.group(":id") { rt in - rts.delete(use: delete) - } - } - - func index(req: Request) async throws -> [mdlXWorkOrderSegment] { - try await mdlXWorkOrderSegment.query(on: req.db).all() - } - - func create(req: Request) async throws -> mdlXWorkOrderSegment { - let obj = try req.content.decode(mdlXWorkOrderSegment.self) - try await obj.save(on: req.db) - return obj - } - func update(req: Request) async throws -> mdlXWorkOrderSegment{ - let obj = try req.content.decode(mdlXWorkOrderSegment.self) - let dbobj = try await mdlXWorkOrderSegment.query(on: req.db).filter(\.$id == obj.id!).first()! - - dbobj.updatedate = Date() - dbobj.updateuserid = -1 - try await dbobj.update(on: req.db) - return dbobj - - } - - func delete(req: Request) async throws -> HTTPStatus { - guard let obj = try await mdlXWorkOrderSegment.find(req.parameters.get("id"), on: req.db) else { - throw Abort(.notFound) - } - try await obj.delete(on: req.db) - return .noContent - } -} diff --git a/Sources/App/Controllers/TemplateControllers/cntrlTemplate.swift b/Sources/App/Controllers/TemplateControllers/cntrlTemplate.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/TemplateControllers/cntrlTemplate.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/TemplateControllers/cntrlTemplateCategory.swift b/Sources/App/Controllers/TemplateControllers/cntrlTemplateCategory.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/TemplateControllers/cntrlTemplateCategory.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/TemplateControllers/cntrlTemplateItemSpec.swift b/Sources/App/Controllers/TemplateControllers/cntrlTemplateItemSpec.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/TemplateControllers/cntrlTemplateItemSpec.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Attachments/cntrlWorkOrderAttachment.swift b/Sources/App/Controllers/WorkOrderControllers/Attachments/cntrlWorkOrderAttachment.swift new file mode 100644 index 0000000..d5603ed --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Attachments/cntrlWorkOrderAttachment.swift @@ -0,0 +1,49 @@ +// +// cntrlWorkOrderAttachment.swift +// +// +// Created by Michiel Carman on 4/1/24. +// + +import Fluent +import Vapor + +struct cntrlWorkOrderAttachment: RouteCollection { + func boot(routes: RoutesBuilder) throws { + let rts = routes.grouped("workorderattachments") + rts.get(use: index) + rts.post(use: create) + rts.put(use: update) + rts.group(":id") { rt in + rts.delete(use: delete) + } + } + + func index(req: Request) async throws -> [mdlWorkOrderAttachment] { + try await mdlWorkOrderAttachment.query(on: req.db).all() + } + + func create(req: Request) async throws -> mdlWorkOrderAttachment { + let obj = try req.content.decode(mdlWorkOrderAttachment.self) + try await obj.save(on: req.db) + return obj + } + func update(req: Request) async throws -> mdlWorkOrderAttachment{ + let obj = try req.content.decode(mdlWorkOrderAttachment.self) + let dbobj = try await mdlWorkOrderAttachment.query(on: req.db).filter(\.$id == obj.id!).first()! + + dbobj.updatedate = Date() + dbobj.updateuserid = -1 + try await dbobj.update(on: req.db) + return dbobj + + } + + func delete(req: Request) async throws -> HTTPStatus { + guard let obj = try await mdlWorkOrderAttachment.find(req.parameters.get("id"), on: req.db) else { + throw Abort(.notFound) + } + try await obj.delete(on: req.db) + return .noContent + } +} diff --git a/Sources/App/Controllers/WorkOrderControllers/Consumptions/cntrlConsumption.swift b/Sources/App/Controllers/WorkOrderControllers/Consumptions/cntrlConsumption.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Consumptions/cntrlConsumption.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspection.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspection.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspection.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionCategory.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionCategory.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionCategory.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItem.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItem.swift new file mode 100644 index 0000000..200068d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItem.swift @@ -0,0 +1,8 @@ +// +// File 2.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemResponse.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemResponse.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemResponse.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpec.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpec.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpec.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItem.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItem.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItem.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemTest.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemTest.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemTest.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemValue.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemValue.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionItemSpecItemValue.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionLevel.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionLevel.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionLevel.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionType.swift b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionType.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Inspections/cntrlInspectionType.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Notes/cntrlNote.swift b/Sources/App/Controllers/WorkOrderControllers/Notes/cntrlNote.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Notes/cntrlNote.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/Parts/cntrlWorkOrderPart.swift b/Sources/App/Controllers/WorkOrderControllers/Parts/cntrlWorkOrderPart.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/Parts/cntrlWorkOrderPart.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/SignatureControllers/cntrlSignature.swift b/Sources/App/Controllers/WorkOrderControllers/SignatureControllers/cntrlSignature.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/SignatureControllers/cntrlSignature.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderFlow.swift b/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderFlow.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderFlow.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderSegment.swift b/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderSegment.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Controllers/WorkOrderControllers/cntrlWorkOrderSegment.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/TemplateTables/mdlTemplate.swift b/Sources/App/Models/TemplateTables/mdlTemplate.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/TemplateTables/mdlTemplate.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/TemplateTables/mdlTemplateCategory.swift b/Sources/App/Models/TemplateTables/mdlTemplateCategory.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/TemplateTables/mdlTemplateCategory.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/TemplateTables/mdlTemplateItemSpec.swift b/Sources/App/Models/TemplateTables/mdlTemplateItemSpec.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/TemplateTables/mdlTemplateItemSpec.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Attachments/mdlWorkOrderAttachment.swift b/Sources/App/Models/WorkOrderTables/Attachments/mdlWorkOrderAttachment.swift new file mode 100644 index 0000000..2c13715 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Attachments/mdlWorkOrderAttachment.swift @@ -0,0 +1,61 @@ +// +// mdlWorkOrderAttachment.swift +// +// +// Created by Michiel Carman on 2/16/24. +// + + +import Fluent +import Vapor +import Foundation +import FluentKit + +final class mdlWorkOrderAttachment: Model, Content { + static let schema = "workOrderAttachment" + + @ID(custom: "id", generatedBy: .database) var id: Int? + + @Parent(key: "workOrderId") var workorder: mdlWorkOrder + @Parent(key: "equipmentId") var equipment: mdlEquipment + + @Timestamp(key: "createDate", on: .create) var createdate: Date? + @Field(key: "createUserId") var createuserid: Int? + @Timestamp(key: "updateDate", on: .update) var updatedate: Date? + @Field(key: "updateUserId") var updateuserid: Int? + + init() { } + + init(id: Int? = nil, + workorderid: Int, + equipmentid: Int, + createuserid: Int? = -1, + updateuserid: Int? = -1 + ) { + self.id = id + self.$workorder.$id.value = workorderid + self.$equipment.$id.value = equipmentid + self.createuserid = createuserid + self.updateuserid = updateuserid + } +} +extension mdlWorkOrderAttachment{ + struct Create: AsyncMigration { + func prepare(on database: Database) async throws { + try await database.schema("workOrderAttachment") + .field("id", .int, .identifier(auto: true)) + .field("workOrderId", .int, .references("workOrder", "id")) + .field("equipmentId", .int, .references("equipment", "id")) + .field("createDate", .datetime) + .field("createUserId", .int) + .field("updateDate", .datetime) + .field("updateUserId", .int) + .create() + } + + func revert(on database: Database) async throws { + try await database.schema("<#schema#>").delete() + } + } +} + diff --git a/Sources/App/Models/WorkOrderTables/Consumptions/mdlConsumption.swift b/Sources/App/Models/WorkOrderTables/Consumptions/mdlConsumption.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Consumptions/mdlConsumption.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspection.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspection.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspection.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionCategory.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionCategory.swift new file mode 100644 index 0000000..e8d970e --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionCategory.swift @@ -0,0 +1,65 @@ +// +// mdlInspectionCategory.swift +// +// +// Created by Michiel Carman on 2/16/24. +// + + +import Fluent +import Vapor +import Foundation +import FluentKit + +final class mdlInspectionCategory: Model, Content { + static let schema = "inspectionCategory" + + @ID(custom: "id", generatedBy: .database) var id: Int? + + @Parent(key: "inspectionId") var inspection: mdlInspection + @Parent(key: "categoryId") var category: mdlCategory + @Field(key: "summary") var summary: String? + + @Timestamp(key: "createDate", on: .create) var createdate: Date? + @Field(key: "createUserId") var createuserid: Int? + @Timestamp(key: "updateDate", on: .update) var updatedate: Date? + @Field(key: "updateUserId") var updateuserid: Int? + + init() { } + + init(id: Int? = nil, + inspectionid: Int, + categoryid: Int, + summary: String? = nil, + createuserid: Int? = nil, + updateuserid: Int? = nil + ) { + self.id = id + self.$inspection.$id.value = inspectionid + self.$category.$id.value = categoryid + self.summary = summary + self.createuserid = createuserid + self.updateuserid = updateuserid + } +} +extension mdlInspectionCategory{ + struct Create: AsyncMigration { + func prepare(on database: Database) async throws { + try await database.schema("inspectionCategory") + .field("id", .int, .identifier(auto: true)) + .field("isnpectionId", .int, .references("inspection", "id")) + .field("categoryId", .int, .references("category", "id")) + .field("summary", .string) + .field("createDate", .datetime) + .field("createUserId", .int) + .field("updateDate", .datetime) + .field("updateUserId", .int) + .create() + } + + func revert(on database: Database) async throws { + try await database.schema("inspectionCategory").delete() + } + } +} + diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItem.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItem.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItem.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemResponse.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemResponse.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemResponse.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpec.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpec.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpec.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItem.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItem.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItem.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemTest.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemTest.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemTest.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemValue.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemValue.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionItemSpecItemValue.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionLevel.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionLevel.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionLevel.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionType.swift b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionType.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Inspections/mdlInspectionType.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Notes/mdlNote.swift b/Sources/App/Models/WorkOrderTables/Notes/mdlNote.swift new file mode 100644 index 0000000..d1f0508 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Notes/mdlNote.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/4/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/Parts/mdlWorkOrderPart.swift b/Sources/App/Models/WorkOrderTables/Parts/mdlWorkOrderPart.swift new file mode 100644 index 0000000..caf7b5c --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Parts/mdlWorkOrderPart.swift @@ -0,0 +1,8 @@ +// +// File 4.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/OilSampleTables/mdlOilSample.swift b/Sources/App/Models/WorkOrderTables/Samples/mdlOilSample.swift similarity index 76% rename from Sources/App/Models/OilSampleTables/mdlOilSample.swift rename to Sources/App/Models/WorkOrderTables/Samples/mdlOilSample.swift index a683748..965127e 100644 --- a/Sources/App/Models/OilSampleTables/mdlOilSample.swift +++ b/Sources/App/Models/WorkOrderTables/Samples/mdlOilSample.swift @@ -15,7 +15,7 @@ final class mdlOilSample: Model, Content { @ID(custom: "id", generatedBy: .database) var id: Int? - @Parent(key: "segmentId") var segment: mdlSegment + @Parent(key: "workOrderSegmentId") var segment: mdlWorkOrderSegment @Field(key: "name") var name: String? @Field(key: "code") var code: String? @@ -44,9 +44,9 @@ final class mdlOilSample: Model, Content { init() { } - init(id: Int? = nil, segmentid: Int? = nil, name: String? = nil, code: String? = nil, l1name: String? = nil, l1code: String? = nil, l2name: String? = nil, l2code: String? = nil, meterreading: Decimal? = nil, previousmeterreading: Decimal? = nil, hoursonoil: Decimal? = nil, oiladded: Decimal? = nil, unit: String? = nil, jobsite: String? = nil, fluid: String? = nil, viscosity: String? = nil, oilchanged: Bool? = nil, filterchanged: Bool? = nil, level: String? = nil, comment: String? = nil, sortorder: Int? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { + init(id: Int? = nil, segmentid: Int, name: String? = nil, code: String? = nil, l1name: String? = nil, l1code: String? = nil, l2name: String? = nil, l2code: String? = nil, meterreading: Decimal? = nil, previousmeterreading: Decimal? = nil, hoursonoil: Decimal? = nil, oiladded: Decimal? = nil, unit: String? = nil, jobsite: String? = nil, fluid: String? = nil, viscosity: String? = nil, oilchanged: Bool? = nil, filterchanged: Bool? = nil, level: String? = nil, comment: String? = nil, sortorder: Int? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { self.id = id - self.$segment.$id.value = segmentid! + self.$segment.$id.value = segmentid self.name = name self.code = code self.l1name = l1name @@ -120,4 +120,20 @@ extension mdlOilSample{ .update() } } + struct Mod1: AsyncMigration{ + func prepare(on database: Database) async throws { + try await database.schema("oilSample") + .deleteField("segmentId") + .field("workOrderSegmentId", .int, .references("workOrderSegment", "id")) + .update() + + } + + func revert(on database: Database) async throws { + try await database.schema("oilSample") + .deleteField("workOrderSegmentId") + .field("segmentId", .int, .references("segment", "id")) + .update() + } + } } diff --git a/Sources/App/Models/WorkOrderTables/Signatures/mdlSignature.swift b/Sources/App/Models/WorkOrderTables/Signatures/mdlSignature.swift new file mode 100644 index 0000000..9017d4d --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/Signatures/mdlSignature.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/mdlWorkOrderFlow.swift b/Sources/App/Models/WorkOrderTables/mdlWorkOrderFlow.swift new file mode 100644 index 0000000..2dd51e2 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/mdlWorkOrderFlow.swift @@ -0,0 +1,8 @@ +// +// File 3.swift +// +// +// Created by Michiel Carman on 4/3/24. +// + +import Foundation diff --git a/Sources/App/Models/WorkOrderTables/mdlWorkOrderSegment.swift b/Sources/App/Models/WorkOrderTables/mdlWorkOrderSegment.swift new file mode 100644 index 0000000..34171e2 --- /dev/null +++ b/Sources/App/Models/WorkOrderTables/mdlWorkOrderSegment.swift @@ -0,0 +1,64 @@ +// +// mdlWorkOrderSegment.swift +// +// +// Created by Michiel Carman on 2/16/24. +// + + +import Fluent +import Vapor +import Foundation +import FluentKit + +final class mdlWorkOrderSegment: Model, Content { + static let schema = "workOrderSegment" + + @ID(custom: "id", generatedBy: .database) var id: Int? + + @Parent(key: "workOrderId") var workorder: mdlWorkOrder + @Parent(key: "segmentId") var segment: mdlSegment + + @Children(for: \.$segment) var parts: [mdlWorkOrderPart] + @Children(for: \.$segment) var inspections: [mdlInspection] + + @Timestamp(key: "createDate", on: .create) var createdate: Date? + @Field(key: "createUserId") var createuserid: Int? + @Timestamp(key: "updateDate", on: .update) var updatedate: Date? + @Field(key: "updateUserId") var updateuserid: Int? + + init() { } + + init(id: Int? = nil, + workorderid: Int, + segmentid: Int, + createuserid: Int? = nil, + updateuserid: Int? = nil + ) { + self.id = id + self.$workorder.$id.value = workorderid + self.$segment.$id.value = segmentid + self.createuserid = createuserid + self.updateuserid = updateuserid + } +} +extension mdlWorkOrderSegment{ + struct Create: AsyncMigration { + func prepare(on database: Database) async throws { + try await database.schema("workOrderSegment") + .field("id", .int, .identifier(auto: true)) + .field("workOrderId", .int) + .field("segmentId", .int) + .field("createDate", .datetime) + .field("createUserId", .int) + .field("updateDate", .datetime) + .field("updateUserId", .int) + .create() + } + + func revert(on database: Database) async throws { + try await database.schema("workOrderSegment").delete() + } + } +} +