Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

104 řádky
3.1 KiB

  1. //
  2. // mdlLocation.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 1/24/24.
  6. //
  7. import Fluent
  8. import Vapor
  9. import Foundation
  10. import FluentKit
  11. final class mdlLocation: Model, Content {
  12. static let schema = "location"
  13. @ID(custom: "id", generatedBy: .database) var id: Int?
  14. @Field(key: "name") var name: String?
  15. @Field(key: "address") var address: String?
  16. @Field(key: "address2") var address2: String?
  17. @Field(key: "city") var city: String?
  18. @Field(key: "postalCode") var postalcode: String?
  19. @Field(key: "dealerCode") var dealercode: String?
  20. @Field(key: "fileLocation") var filelocation: String?
  21. @Field(key: "isAcrtive") var isactive: Bool?
  22. @Parent(key: "stateId") var state: mdlState
  23. @OptionalParent(key: "unitId") var unit: mdlUnit?
  24. @OptionalParent(key: "labSettingId") var labsetting: mdlLabSetting?
  25. @Timestamp(key: "createDate", on: .create) var createdate: Date?
  26. @Field(key: "createUserId") var createuserid: Int?
  27. @Timestamp(key: "updateDate", on: .update) var updatedate: Date?
  28. @Field(key: "updateUserId") var updateuserid: Int?
  29. init() { }
  30. init(id: Int? = nil,
  31. name: String? = nil,
  32. address: String? = nil,
  33. address2: String? = nil,
  34. city: String? = nil,
  35. postalcode: String? = nil,
  36. dealercode: String? = nil,
  37. filelocation: String? = nil,
  38. isactive: Bool? = nil,
  39. createuserid: Int? = nil,
  40. updateuserid: Int? = nil,
  41. stateid: Int? = nil,
  42. unitid: Int? = nil,
  43. labsettingid: Int? = nil
  44. ) {
  45. self.id = id
  46. self.name = name
  47. self.address = address
  48. self.address2 = address2
  49. self.city = city
  50. self.postalcode = postalcode
  51. self.dealercode = dealercode
  52. self.filelocation = filelocation
  53. self.isactive = isactive
  54. self.createuserid = createuserid
  55. self.updateuserid = updateuserid
  56. self.$state.$id.value = stateid!
  57. self.$unit.$id.value = unitid!
  58. self.$labsetting.$id.value = labsettingid!
  59. }
  60. }
  61. extension mdlLocation{
  62. struct Create: AsyncMigration {
  63. func prepare(on database: Database) async throws {
  64. try await database.schema("location")
  65. .field("id", .int, .identifier(auto: true))
  66. .field("name", .string)
  67. .field("address", .string)
  68. .field("address2", .string)
  69. .field("city", .string)
  70. .field("postalCode", .string)
  71. .field("dealerCode", .string)
  72. .field("fileLocation", .string)
  73. .field("isActive", .bool)
  74. .field("createDate", .datetime)
  75. .field("createUserId", .int)
  76. .field("updateDate", .datetime)
  77. .field("updateUserId", .int)
  78. .field("stateId", .int)
  79. .field("unitId", .int)
  80. .field("labSettingId", .int)
  81. .create()
  82. }
  83. func revert(on database: Database) async throws {
  84. try await database.schema("location").delete()
  85. }
  86. }
  87. }