You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

131 lines
5.3 KiB

  1. //
  2. // File.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 mdlInspectionCategoryItemSpecItem: Model, Content{
  12. static let schema = "InspectionCategoryItemSpecItem"
  13. @ID(custom: "id", generatedBy: .database) var id: Int?
  14. @Field(key: "name") var name: String
  15. @Field(key: "average") var average: Float
  16. @Field(key: "qualifier") var qualifier: String
  17. @Field(key: "result") var result: String
  18. @Field(key: "sortOrder") var sortorder: Int
  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: "inspectionCategoryItemSpecId") var inspectioncategoryitemspec: mdlInspectionCategoryItemSpec
  24. @Parent(key: "comparisonTypeId") var comparisontype: mdlComparisonType
  25. @Parent(key: "unitId") var unit: mdlUnit
  26. @Children(for: \.$inspectioncategoryitemspecitem) var inspectioncategoryitemspecitemtests: [mdlInspectionCategoryItemSpecItemTest]
  27. @Children(for: \.$inspectioncategoryitemspecitem) var inspectioncategoryitemspecitemvalues: [mdlInspectionCategoryItemSpecItemValue]
  28. init(){}
  29. init(id: Int? = nil, name: String, average: Float, qualifier: String, result: String, sortorder: Int, createuserid: Int? = -1, createdate: Date? = nil, updateuserid: Int? = -1, updatedate: Date? = nil, inspectioncategoryitemspec: mdlInspectionCategoryItemSpec, comparisontype: mdlComparisonType, unit: mdlUnit, inspectioncategoryitemspecitemtests: [mdlInspectionCategoryItemSpecItemTest]?, inspectioncategoryitemspecitemvalues: [mdlInspectionCategoryItemSpecItemValue]?){
  30. self.id = id
  31. self.name = name
  32. self.average = average
  33. self.qualifier = qualifier
  34. self.result = result
  35. self.sortorder = sortorder
  36. self.createuserid = createuserid
  37. self.createdate = createdate
  38. self.updateuserid = updateuserid
  39. self.updatedate = updatedate
  40. self.$inspectioncategoryitemspec.id = inspectioncategoryitemspec.id!
  41. self.$comparisontype.id = comparisontype.id!
  42. self.$unit.id = unit.id!
  43. self.$inspectioncategoryitemspecitemtests.value = inspectioncategoryitemspecitemtests
  44. self.$inspectioncategoryitemspecitemvalues.value = inspectioncategoryitemspecitemvalues
  45. }
  46. }
  47. extension mdlInspectionCategoryItemSpecItem {
  48. struct Input: Content{
  49. let id: Int?
  50. let name: String
  51. let average: Float
  52. let qualifier: String
  53. let result: String
  54. let sortorder: Int
  55. let createdate: Date?
  56. let createuserid: Int?
  57. let updatedate: Date?
  58. let updateuserid: Int?
  59. let inspectioncategoryitemspec: mdlInspectionCategoryItemSpec
  60. let comparisontype: mdlComparisonType
  61. let unit: mdlUnit
  62. let inspectioncategoryitemspecitemtests: [mdlInspectionCategoryItemSpecItemTest]?
  63. let inspectioncategoryitemspecitemvalues: [mdlInspectionCategoryItemSpecItemValue]?
  64. }
  65. struct Output: Content{
  66. let id: Int?
  67. let name: String
  68. let average: Float
  69. let qualifier: String
  70. let result: String
  71. let sortorder: Int
  72. let createdate: Date?
  73. let createuserid: Int?
  74. let updatedate: Date?
  75. let updateuserid: Int?
  76. let inspectioncategoryitemspec: mdlInspectionCategoryItemSpec
  77. let comparisontype: mdlComparisonType
  78. let unit: mdlUnit
  79. let inspectioncategoryitemspecitemtests: [mdlInspectionCategoryItemSpecItemTest]?
  80. let inspectioncategoryitemspecitemvalues: [mdlInspectionCategoryItemSpecItemValue]?
  81. }
  82. struct create: Migration{
  83. func prepare(on database: Database) -> EventLoopFuture<Void> {
  84. return database.schema("InspectionCategoryItemSpecItem")
  85. .field("id", .int, .identifier(auto: true))
  86. .field("name", .string)
  87. .field("average", .float)
  88. .field("qualifier", .string)
  89. .field("result", .string)
  90. .field("sortOrder", .int)
  91. .field("inspectionCategoryItemSpecId", .int, .required, .references("InspectionCategoryItemSpec", "id"))
  92. .field("comparisonTypeId", .int, .required, .references("ComparisonType", "id"))
  93. .field("unitId", .int, .required, .references("Unit", "id"))
  94. .field("createUserId", .int)
  95. .field("createDate", .datetime)
  96. .field("updateUserId", .int)
  97. .field("updateDate", .datetime)
  98. .create()
  99. }
  100. func revert(on database: Database) -> EventLoopFuture<Void> {
  101. database.schema("InspectionCategoryItemSpecItem").delete()
  102. }
  103. }
  104. /* Uncomment if you need to seed the table.
  105. struct seed: Migration {
  106. func prepare(on database: Database) -> EventLoopFuture<Void> {
  107. // 1
  108. let array: [<#Model#>] = [
  109. <#init#>
  110. ]
  111. // 2
  112. return array.map { obj in
  113. obj.save(on: database)
  114. }
  115. .flatten(on: database.eventLoop)
  116. }
  117. func revert(on database: Database) -> EventLoopFuture<Void> {
  118. // 3
  119. <#Model#>.query(on: database).delete()
  120. }
  121. }
  122. */
  123. }