| @@ -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 | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -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 | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File 2.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -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() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -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() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/4/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File 4.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -15,7 +15,7 @@ final class mdlOilSample: Model, Content { | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | @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: "name") var name: String? | ||||
| @Field(key: "code") var code: String? | @Field(key: "code") var code: String? | ||||
| @@ -44,9 +44,9 @@ final class mdlOilSample: Model, Content { | |||||
| init() { } | 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.id = id | ||||
| self.$segment.$id.value = segmentid! | |||||
| self.$segment.$id.value = segmentid | |||||
| self.name = name | self.name = name | ||||
| self.code = code | self.code = code | ||||
| self.l1name = l1name | self.l1name = l1name | ||||
| @@ -120,4 +120,20 @@ extension mdlOilSample{ | |||||
| .update() | .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() | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File 3.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 4/3/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -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() | |||||
| } | |||||
| } | |||||
| } | |||||