| @@ -1,31 +0,0 @@ | |||||
| import Fluent | |||||
| import Vapor | |||||
| struct TodoController: RouteCollection { | |||||
| func boot(routes: RoutesBuilder) throws { | |||||
| let todos = routes.grouped("todos") | |||||
| todos.get(use: index) | |||||
| todos.post(use: create) | |||||
| todos.group(":todoID") { todo in | |||||
| todo.delete(use: delete) | |||||
| } | |||||
| } | |||||
| func index(req: Request) async throws -> [Todo] { | |||||
| try await Todo.query(on: req.db).all() | |||||
| } | |||||
| func create(req: Request) async throws -> Todo { | |||||
| let todo = try req.content.decode(Todo.self) | |||||
| try await todo.save(on: req.db) | |||||
| return todo | |||||
| } | |||||
| func delete(req: Request) async throws -> HTTPStatus { | |||||
| guard let todo = try await Todo.find(req.parameters.get("todoID"), on: req.db) else { | |||||
| throw Abort(.notFound) | |||||
| } | |||||
| try await todo.delete(on: req.db) | |||||
| return .noContent | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,44 @@ | |||||
| import Fluent | |||||
| import Vapor | |||||
| struct cntrlCategory: RouteCollection { | |||||
| func boot(routes: RoutesBuilder) throws { | |||||
| let rts = routes.grouped("categories") | |||||
| rts.get(use: index) | |||||
| rts.post(use: create) | |||||
| rts.put(use: update) | |||||
| rts.group(":id") { todo in | |||||
| rts.delete(use: delete) | |||||
| } | |||||
| } | |||||
| func index(req: Request) async throws -> [mdlCategory] { | |||||
| try await mdlCategory.query(on: req.db).all() | |||||
| } | |||||
| func create(req: Request) async throws -> mdlCategory { | |||||
| let obj = try req.content.decode(mdlCategory.self) | |||||
| try await obj.save(on: req.db) | |||||
| return obj | |||||
| } | |||||
| func update(req: Request) async throws -> mdlCategory{ | |||||
| let obj = try req.content.decode(mdlCategory.self) | |||||
| let dbobj = try await mdlCategory.query(on: req.db).filter(\.$id == obj.id!).first()! | |||||
| dbobj.description = obj.description | |||||
| dbobj.name = obj.name | |||||
| dbobj.updatedate = Date() | |||||
| dbobj.isactive = obj.isactive | |||||
| dbobj.updateuserid = -1 | |||||
| try await dbobj.update(on: req.db) | |||||
| return dbobj | |||||
| } | |||||
| func delete(req: Request) async throws -> HTTPStatus { | |||||
| guard let obj = try await mdlCategory.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 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -1,14 +0,0 @@ | |||||
| import Fluent | |||||
| struct CreateTodo: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("todos") | |||||
| .id() | |||||
| .field("title", .string, .required) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("todos").delete() | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,86 @@ | |||||
| // | |||||
| // mdlSegment.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlSegment: Model, Content { | |||||
| static let schema = "segment" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "code") var code: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @Siblings(through: mdlXWorkOrderSegment.self, from: \.$segment, to: \.$workorder) var workorders: [mdlWorkOrder] | |||||
| @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, name: String? = nil, code: String? = nil, description: String? = nil, isactive: Bool? = true, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.code = code | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlSegment{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("segment") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("code", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("segment").delete() | |||||
| } | |||||
| } | |||||
| struct Seed: Migration{ | |||||
| func prepare(on database: Database) -> EventLoopFuture<Void> { | |||||
| let mdls: [mdlSegment] = [ | |||||
| .init(id: nil, name: "Inspection", code: "0001", description: nil, createuserid: -1, updateuserid: -1), | |||||
| .init(id: nil, name: "Oil Sample", code: "0002", description: nil, createuserid: -1, updateuserid: -1), | |||||
| .init(id: nil, name: "Consumption", code: "0003", description: nil, createuserid: -1, updateuserid: -1), | |||||
| .init(id: nil, name: "Part", code: "0004", description: nil, createuserid: -1, updateuserid: -1) | |||||
| ] | |||||
| return mdls.map { mdl in | |||||
| mdl.save(on: database) | |||||
| } | |||||
| .flatten(on: database.eventLoop) | |||||
| } | |||||
| func revert(on database: Database) -> EventLoopFuture<Void> { | |||||
| mdlSegment.query(on: database).delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,67 @@ | |||||
| // | |||||
| // mdlUnit.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlUnit: Model, Content { | |||||
| static let schema = "unit" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @Parent(key: "dataTypeId") var datatype: mdlDataType | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = nil, datatypeid: Int? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.$datatype.$id.value = datatypeid! | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlUnit{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("unit") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("dataTypeId", .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("unit").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,35 @@ | |||||
| // | |||||
| // Category.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| final class Category: Model, Content { | |||||
| static let schema = "category" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,35 @@ | |||||
| // | |||||
| // ComparisonType.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| final class ComparisonType: Model, Content { | |||||
| static let schema = "comparisonType" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Timestamp(key: "createDate", on: .create) var createdate: Date? | |||||
| @Field(key: "creteUserId") var createuserid: Int? | |||||
| @Timestamp(key: "updateDate", on: .update) var updatedate: Date? | |||||
| @Field(key: "updateUserId") var updateuserid: Int? | |||||
| init() { } | |||||
| init(id: Int? = nil, name: String? = nil, description: String? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,63 @@ | |||||
| // | |||||
| // mdlDivision.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlDivision: Model, Content { | |||||
| static let schema = "division" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlDivision{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("division") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("division").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,66 @@ | |||||
| // | |||||
| // mdlFluid.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlFluid: Model, Content { | |||||
| static let schema = "fluid" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "sortOrder") var sortorder: Int? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, sortorder: Int? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.sortorder = sortorder | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlFluid{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("fluid") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("sortOrder", .int) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("fluid").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,66 @@ | |||||
| // | |||||
| // mdlFuel.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlFuel: Model, Content { | |||||
| static let schema = "fuel" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "sortOrder") var sortorder: Int? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, sortorder: Int? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.sortorder = sortorder | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlFuel{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("fuel") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("sortOrder", .int) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("fuel").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,63 @@ | |||||
| // | |||||
| // mdlIncompleteReason.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlIncompleteReason: Model, Content { | |||||
| static let schema = "incompleteReason" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlIncompleteReason{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("incompleteReason") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("incompleteReason").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,66 @@ | |||||
| // | |||||
| // mdlLevel.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlLevel: Model, Content { | |||||
| static let schema = "level" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "sortOrder") var sortorder: Int? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, sortorder: Int? = nil, isactive: Bool? = nil, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.sortorder = sortorder | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlLevel{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("level") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("sortOrder", .int) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("level").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,103 @@ | |||||
| // | |||||
| // mdlLocation.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlLocation: Model, Content { | |||||
| static let schema = "location" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "address") var address: String? | |||||
| @Field(key: "address2") var address2: String? | |||||
| @Field(key: "city") var city: String? | |||||
| @Field(key: "postalCode") var postalcode: String? | |||||
| @Field(key: "dealerCode") var dealercode: String? | |||||
| @Field(key: "fileLocation") var filelocation: String? | |||||
| @Field(key: "isAcrtive") var isactive: Bool? | |||||
| @Parent(key: "stateId") var state: mdlState | |||||
| @OptionalParent(key: "unitId") var unit: mdlUnit? | |||||
| @OptionalParent(key: "labSettingId") var labsetting: mdlLabSetting? | |||||
| @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, | |||||
| name: String? = nil, | |||||
| address: String? = nil, | |||||
| address2: String? = nil, | |||||
| city: String? = nil, | |||||
| postalcode: String? = nil, | |||||
| dealercode: String? = nil, | |||||
| filelocation: String? = nil, | |||||
| isactive: Bool? = nil, | |||||
| createuserid: Int? = nil, | |||||
| updateuserid: Int? = nil, | |||||
| stateid: Int? = nil, | |||||
| unitid: Int? = nil, | |||||
| labsettingid: Int? = nil | |||||
| ) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.address = address | |||||
| self.address2 = address2 | |||||
| self.city = city | |||||
| self.postalcode = postalcode | |||||
| self.dealercode = dealercode | |||||
| self.filelocation = filelocation | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| self.$state.$id.value = stateid! | |||||
| self.$unit.$id.value = unitid! | |||||
| self.$labsetting.$id.value = labsettingid! | |||||
| } | |||||
| } | |||||
| extension mdlLocation{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("location") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("address", .string) | |||||
| .field("address2", .string) | |||||
| .field("city", .string) | |||||
| .field("postalCode", .string) | |||||
| .field("dealerCode", .string) | |||||
| .field("fileLocation", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .field("stateId", .int) | |||||
| .field("unitId", .int) | |||||
| .field("labSettingId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("location").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,63 @@ | |||||
| // | |||||
| // mdlNoteType.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlNoteType: Model, Content { | |||||
| static let schema = "noteType" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = true, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlNoteType{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("noteType") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("noteType").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,63 @@ | |||||
| // | |||||
| // mdlPart.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| import Foundation | |||||
| import FluentKit | |||||
| final class mdlPart: Model, Content { | |||||
| static let schema = "part" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, isactive: Bool? = true, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| extension mdlPart{ | |||||
| struct Create: AsyncMigration { | |||||
| func prepare(on database: Database) async throws { | |||||
| try await database.schema("part") | |||||
| .field("id", .int, .identifier(auto: true)) | |||||
| .field("name", .string) | |||||
| .field("description", .string) | |||||
| .field("isActive", .bool) | |||||
| .field("createDate", .datetime) | |||||
| .field("createUserId", .int) | |||||
| .field("updateDate", .datetime) | |||||
| .field("updateUserId", .int) | |||||
| .create() | |||||
| } | |||||
| func revert(on database: Database) async throws { | |||||
| try await database.schema("part").delete() | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/25/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,41 @@ | |||||
| // | |||||
| // Compartment.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| final class Compartment: Model, Content { | |||||
| static let schema = "compartment" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "code") var code: String? | |||||
| @Field(key: "sortOrder") var sortorder: Int? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, code: String? = nil, sortorder: Int?, isactive: Bool?, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.code = code | |||||
| self.sortorder = sortorder | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,41 @@ | |||||
| // | |||||
| // CompartmentLocation.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/24/24. | |||||
| // | |||||
| import Fluent | |||||
| import Vapor | |||||
| final class CompartmentLocation: Model, Content { | |||||
| static let schema = "compartmentLocation" | |||||
| @ID(custom: "id", generatedBy: .database) var id: Int? | |||||
| @Field(key: "name") var name: String? | |||||
| @Field(key: "description") var description: String? | |||||
| @Field(key: "code") var code: String? | |||||
| @Field(key: "sortOrder") var sortorder: Int? | |||||
| @Field(key: "isActive") var isactive: Bool? | |||||
| @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, name: String? = nil, description: String? = nil, code: String? = nil, sortorder: Int?, isactive: Bool?, createuserid: Int? = nil, updateuserid: Int? = nil) { | |||||
| self.id = id | |||||
| self.name = name | |||||
| self.description = description | |||||
| self.code = code | |||||
| self.sortorder = sortorder | |||||
| self.isactive = isactive | |||||
| self.createuserid = createuserid | |||||
| self.updateuserid = updateuserid | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/26/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 2/1/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 2/1/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||
| @@ -1,19 +0,0 @@ | |||||
| import Fluent | |||||
| import Vapor | |||||
| final class Todo: Model, Content { | |||||
| static let schema = "todos" | |||||
| @ID(key: .id) | |||||
| var id: UUID? | |||||
| @Field(key: "title") | |||||
| var title: String | |||||
| init() { } | |||||
| init(id: UUID? = nil, title: String) { | |||||
| self.id = id | |||||
| self.title = title | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,8 @@ | |||||
| // | |||||
| // File.swift | |||||
| // | |||||
| // | |||||
| // Created by Michiel Carman on 1/31/24. | |||||
| // | |||||
| import Foundation | |||||