Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

233 linhas
7.9 KiB

  1. //
  2. // OilSampleItem.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 mdlOilSampleItem: Model, Content{
  12. struct input{
  13. let id: Int?
  14. let compartmentname: String
  15. let compartmentcode: String
  16. let compartmentlocationname1: String
  17. let compartmentlocationcode1: String
  18. let compartmentlocationname2: String
  19. let compartmentlocationcode2: String
  20. let hoursonoil: Decimal?
  21. let oiladded: Decimal?
  22. let jobsitename: String
  23. let fluidname: String
  24. let viscosityname: String
  25. let oilchanged: Bool?
  26. let filterchanged: Bool?
  27. let levelname: String
  28. let comment: String
  29. let createdate: Date?
  30. let createuserid: Int?
  31. let updatedate: Date?
  32. let updateuserid: Int?
  33. let oilsample: mdlOilSample
  34. }
  35. struct output{
  36. let id: Int?
  37. let compartmentname: String
  38. let compartmentcode: String
  39. let compartmentlocationname1: String
  40. let compartmentlocationcode1: String
  41. let compartmentlocationname2: String
  42. let compartmentlocationcode2: String
  43. let hoursonoil: Decimal?
  44. let oiladded: Decimal?
  45. let jobsitename: String
  46. let fluidname: String
  47. let viscosityname: String
  48. let oilchanged: Bool?
  49. let filterchanged: Bool?
  50. let levelname: String
  51. let comment: String
  52. let createdate: Date?
  53. let createuserid: Int?
  54. let updatedate: Date?
  55. let updateuserid: Int?
  56. let oilsample: mdlOilSample
  57. }
  58. static let schema = "OilSampleItem"
  59. @ID(custom: "id", generatedBy: .database) var id: Int?
  60. @Field(key: "compartmentName") var compartmentname: String
  61. @Field(key: "compartmentCode") var compartmentcode: String
  62. @Field(key: "compartmentLocationName1") var compartmentlocationname1: String
  63. @Field(key: "compartmentLocationCode1") var compartmentlocationcode1: String
  64. @Field(key: "compartmentLocationName2") var compartmentlocationname2: String
  65. @Field(key: "compartmentLocationCode2") var compartmentlocationcode2: String
  66. @Field(key: "hoursOnOil") var hoursonoil: Decimal?
  67. @Field(key: "oilAdded") var oiladded: Decimal?
  68. @Field(key: "jobsiteName") var jobsitename: String
  69. @Field(key: "fluidName") var fluidname: String
  70. @Field(key: "viscosityName") var viscosityname: String
  71. @Field(key: "oilChanged") var oilchanged: Bool?
  72. @Field(key: "filterChanged") var filterchanged: Bool?
  73. @Field(key: "levelName") var levelname: String
  74. @Field(key: "comment") var comment: String
  75. @Field(key: "createUserId" ) var createuserid: Int?
  76. @Timestamp(key: "createDate", on: .create) var createdate: Date?
  77. @Field(key: "updateUserId") var updateuserid: Int?
  78. @Timestamp(key: "updateDate", on: .update) var updatedate: Date?
  79. @Parent(key: "oilSampleId") var oilsample: mdlOilSample
  80. init(){}
  81. init(id: Int? = nil
  82. , compartmentname: String
  83. , compartmentcode: String
  84. , compartmentlocationname1: String
  85. , compartmentlocationcode1: String
  86. , compartmentlocationname2: String
  87. , compartmentlocationcode2: String
  88. , hoursonoil: Decimal? = nil
  89. , oiladded: Decimal? = nil
  90. , jobsitename: String
  91. , fluidname: String
  92. , viscosityname: String
  93. , oilchanged: Bool? = nil
  94. , filterchanged: Bool? = nil
  95. , levelname: String
  96. , comment: String
  97. , createuserid: Int? = -1
  98. , createdate: Date? = nil
  99. , updateuserid: Int? = -1
  100. , updatedate: Date? = nil
  101. , oilsample: mdlOilSample
  102. ){
  103. self.id = id
  104. self.compartmentname = compartmentname
  105. self.compartmentcode = compartmentcode
  106. self.compartmentlocationname1 = compartmentlocationname1
  107. self.compartmentlocationcode1 = compartmentlocationcode1
  108. self.compartmentlocationname2 = compartmentlocationname2
  109. self.compartmentlocationcode2 = compartmentlocationcode2
  110. self.hoursonoil = hoursonoil
  111. self.oiladded = oiladded
  112. self.jobsitename = jobsitename
  113. self.fluidname = fluidname
  114. self.viscosityname = viscosityname
  115. self.oilchanged = oilchanged
  116. self.filterchanged = filterchanged
  117. self.levelname = levelname
  118. self.comment = comment
  119. self.createuserid = createuserid
  120. self.createdate = createdate
  121. self.updateuserid = updateuserid
  122. self.updatedate = updatedate
  123. self.$oilsample.id = oilsample.id!
  124. }
  125. }
  126. extension mdlOilSampleItem {
  127. struct Input: Content{
  128. let id: Int?
  129. let compartmentname: String
  130. let compartmentcode: String
  131. let compartmentlocationname1: String
  132. let compartmentlocationcode1: String
  133. let compartmentlocationname2: String
  134. let compartmentlocationcode2: String
  135. let hoursonoil: Decimal?
  136. let oiladded: Decimal?
  137. let jobsitename: String
  138. let fluidname: String
  139. let viscosityname: String
  140. let oilchanged: Bool?
  141. let filterchanged: Bool?
  142. let levelname: String
  143. let comment: String
  144. let createdate: Date?
  145. let createuserid: Int?
  146. let updatedate: Date?
  147. let updateuserid: Int?
  148. let oilsample: mdlOilSample
  149. }
  150. struct Output: Content{
  151. let id: Int?
  152. let compartmentname: String
  153. let compartmentcode: String
  154. let compartmentlocationname1: String
  155. let compartmentlocationcode1: String
  156. let compartmentlocationname2: String
  157. let compartmentlocationcode2: String
  158. let hoursonoil: Decimal?
  159. let oiladded: Decimal?
  160. let jobsitename: String
  161. let fluidname: String
  162. let viscosityname: String
  163. let oilchanged: Bool?
  164. let filterchanged: Bool?
  165. let levelname: String
  166. let comment: String
  167. let createdate: Date?
  168. let createuserid: Int?
  169. let updatedate: Date?
  170. let updateuserid: Int?
  171. let oilsample: mdlOilSample
  172. }
  173. struct create: Migration{
  174. func prepare(on database: Database) -> EventLoopFuture<Void> {
  175. return database.schema("OilSampleItem")
  176. .field("id", .int, .identifier(auto: true))
  177. .field("compartmentName", .string)
  178. .field("compartmentCode", .string)
  179. .field("compartmentLocationName1", .string)
  180. .field("compartmentLocationName2", .string)
  181. .field("compartmentLocationCode1", .string)
  182. .field("compartmentLocationCode2", .string)
  183. .field("hoursOnOil", .float)
  184. .field("oilAdded", .float)
  185. .field("jobsiteName", .string)
  186. .field("fluidName", .string)
  187. .field("viscosityName", .string)
  188. .field("oilChanged", .bool)
  189. .field("filterChanged", .bool)
  190. .field("levelName", .bool)
  191. .field("comment", .string)
  192. .field("oilSampleId", .int, .required, .references("OilSample", "id"))
  193. .field("createUserId", .int)
  194. .field("createDate", .datetime)
  195. .field("updateUserId", .int)
  196. .field("updateDate", .datetime)
  197. .create()
  198. }
  199. func revert(on database: Database) -> EventLoopFuture<Void> {
  200. database.schema("OilSampleItem").delete()
  201. }
  202. }
  203. /* Uncomment if you need to seed the table.
  204. struct seed: Migration {
  205. func prepare(on database: Database) -> EventLoopFuture<Void> {
  206. // 1
  207. let array: [<#Model#>] = [
  208. <#init#>
  209. ]
  210. // 2
  211. return array.map { obj in
  212. obj.save(on: database)
  213. }
  214. .flatten(on: database.eventLoop)
  215. }
  216. func revert(on database: Database) -> EventLoopFuture<Void> {
  217. // 3
  218. <#Model#>.query(on: database).delete()
  219. }
  220. }
  221. */
  222. }