No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

118 líneas
4.0 KiB

  1. //
  2. // InspectionCategory.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 10/28/21.
  6. //
  7. import Foundation
  8. import Vapor
  9. import Fluent
  10. import FluentPostgresDriver
  11. final class mdlInspectionCategory: Model, Content{
  12. static let schema = "InspectionCategory"
  13. @ID(custom: "id", generatedBy: .database) var id: Int?
  14. @Field(key: "summary") var summary: String
  15. @Field(key: "sortOrder") var sortorder: Int
  16. @Field(key: "categoryName") var categoryname: String
  17. @Field(key: "categoryDescription") var categorydescription: String
  18. @Field(key: "isActive") var isactive: Bool
  19. @Field(key: "createUserId" ) var createuserid: Int?
  20. @Timestamp(key: "createDate", on: .create) var createdate: Date?
  21. @Field(key: "updateUserId") var updateuserid: Int?
  22. @Timestamp(key: "updateDate", on: .update) var updatedate: Date?
  23. @Parent(key: "inspectionId") var inspection: mdlInspection
  24. @Children(for: \.$inspectioncategory) var inspectioncategoryitems: [mdlInspectionCategoryItem]
  25. init(){}
  26. init(id: Int? = nil, summary: String, sortorder: Int = 0, categoryname: String, categorydescription: String, isactive: Bool, createuserid: Int? = -1, createdate: Date? = nil, updateuserid: Int? = -1, updatedate: Date? = nil, inspection: mdlInspection, inspectioncategoyitems: [mdlInspectionCategoryItem]?){
  27. self.id = id
  28. self.summary = summary
  29. self.sortorder = sortorder
  30. self.categoryname = categoryname
  31. self.categorydescription = categorydescription
  32. self.createuserid = createuserid
  33. self.createdate = createdate
  34. self.updateuserid = updateuserid
  35. self.updatedate = updatedate
  36. self.$inspection.id = inspection.id!
  37. self.$inspectioncategoryitems.value = inspectioncategoyitems
  38. }
  39. }
  40. extension mdlInspectionCategory {
  41. struct Input: Content{
  42. let id: Int?
  43. let summary: String
  44. let sortorder: Int
  45. let categoryname: String
  46. let categorydesription: String
  47. let isactive: Bool
  48. let createdate: Date?
  49. let createuserid: Int?
  50. let updatedate: Date?
  51. let updateuserid: Int?
  52. let inspection: mdlInspection
  53. let inspectioncategoryitems: [mdlInspectionCategoryItem]?
  54. }
  55. struct Output: Content{
  56. let id: Int?
  57. let summary: String
  58. let sortorder: Int
  59. let categoryname: String
  60. let categorydesription: String
  61. let isactive: Bool
  62. let createdate: Date?
  63. let createuserid: Int?
  64. let updatedate: Date?
  65. let updateuserid: Int?
  66. let inspection: mdlInspection
  67. let inspectioncategoryitems: [mdlInspectionCategoryItem]?
  68. }
  69. struct create: Migration{
  70. func prepare(on database: Database) -> EventLoopFuture<Void> {
  71. return database.schema("InspectionCategory")
  72. .field("id", .int, .identifier(auto: true))
  73. .field("summary", .string)
  74. .field("sortOrder", .int)
  75. .field("isActive", .bool)
  76. .field("categoryName", .string)
  77. .field("categoryDescription", .string)
  78. .field("inspectionId", .int, .required, .references("Inspection", "id"))
  79. .field("createUserId", .int)
  80. .field("createDate", .datetime)
  81. .field("updateUserId", .int)
  82. .field("updateDate", .datetime)
  83. .create()
  84. }
  85. func revert(on database: Database) -> EventLoopFuture<Void> {
  86. database.schema("InspectionCategory").delete()
  87. }
  88. }
  89. /* Uncomment if you need to seed the table.
  90. struct seed: Migration {
  91. func prepare(on database: Database) -> EventLoopFuture<Void> {
  92. // 1
  93. let array: [<#Model#>] = [
  94. <#init#>
  95. ]
  96. // 2
  97. return array.map { obj in
  98. obj.save(on: database)
  99. }
  100. .flatten(on: database.eventLoop)
  101. }
  102. func revert(on database: Database) -> EventLoopFuture<Void> {
  103. // 3
  104. <#Model#>.query(on: database).delete()
  105. }
  106. }
  107. */
  108. }