Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

104 строки
3.2 KiB

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