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

204 строки
6.2 KiB

  1. //
  2. // FuelEntry.swift
  3. //
  4. //
  5. // Created by Bill Ryckman on 4/24/23.
  6. //
  7. import Fluent
  8. import Vapor
  9. final class FuelEntry: Model, Content {
  10. static let schema = "fuel_entries"
  11. struct woimage: Content{
  12. let id: UUID?
  13. let timestamp: Date
  14. let userID: String
  15. let latitude: Double
  16. let longitutde: Double
  17. let product: String
  18. let make: String
  19. let model: String
  20. let serialNumber: String
  21. let tankID: String
  22. let fuelAmount: Double
  23. let fuelType: String
  24. let isOverride: Bool
  25. let downloaded: Bool?
  26. let loaddate: Date?
  27. let pulldate: Date?
  28. func toFuelEntry() -> FuelEntry {
  29. var entry = FuelEntry()
  30. entry.id = self.id
  31. entry.timestamp = self.timestamp
  32. entry.userID = self.userID
  33. entry.latitude = self.latitude
  34. entry.longitude = self.longitutde
  35. entry.product = self.product
  36. entry.make = self.make
  37. entry.model = self.model
  38. entry.serialNumber = self.serialNumber
  39. entry.tankID = self.tankID
  40. entry.fuelAmount = self.fuelAmount
  41. entry.fuelType = self.fuelType
  42. entry.isOverride = self.isOverride
  43. entry.downloaded = self.downloaded
  44. entry.loaddate = self.loaddate
  45. entry.pulldate = self.pulldate
  46. entry._$idExists = self.id == nil ? false : true
  47. return entry
  48. }
  49. }
  50. struct wimage: Content{
  51. let id: UUID?
  52. let timestamp: Date
  53. let userID: String
  54. let latitude: Double
  55. let longitutde: Double
  56. let product: String
  57. let make: String
  58. let model: String
  59. let serialNumber: String
  60. let tankID: String
  61. let fuelAmount: Double
  62. let fuelType: String
  63. let isOverride: Bool
  64. let image: Data?
  65. let downloaded: Bool?
  66. let loaddate: Date?
  67. let pulldate: Date?
  68. func toFuelEntry() -> FuelEntry {
  69. var entry = FuelEntry()
  70. entry.id = self.id
  71. entry.timestamp = self.timestamp
  72. entry.userID = self.userID
  73. entry.latitude = self.latitude
  74. entry.longitude = self.longitutde
  75. entry.product = self.product
  76. entry.make = self.make
  77. entry.model = self.model
  78. entry.serialNumber = self.serialNumber
  79. entry.tankID = self.tankID
  80. entry.fuelAmount = self.fuelAmount
  81. entry.fuelType = self.fuelType
  82. entry.isOverride = self.isOverride
  83. entry.image = self.image
  84. entry.downloaded = self.downloaded
  85. entry.loaddate = self.loaddate
  86. entry.pulldate = self.pulldate
  87. entry._$idExists = self.id == nil ? false : true
  88. return entry
  89. }
  90. }
  91. @ID(key: .id)
  92. var id: UUID?
  93. @Field(key: "timestamp")
  94. var timestamp: Date
  95. @Field(key: "user_id")
  96. var userID: String
  97. @Field(key: "latitude")
  98. var latitude: Double
  99. @Field(key: "longitude")
  100. var longitude: Double
  101. @Field(key: "image")
  102. var image: Data?
  103. @Field(key: "product")
  104. var product: String
  105. @Field(key: "make")
  106. var make: String
  107. @Field(key: "model")
  108. var model: String
  109. @Field(key: "serial_number")
  110. var serialNumber: String
  111. @Field(key: "tank_id")
  112. var tankID: String
  113. @Field(key: "fuel_amount")
  114. var fuelAmount: Double
  115. @Field(key: "fuel_type")
  116. var fuelType: String
  117. @Field(key: "is_override")
  118. var isOverride: Bool
  119. @Field(key: "downloaded")
  120. var downloaded: Bool?
  121. @Timestamp(key: "loadDate", on: .create) var loaddate: Date?
  122. @Timestamp(key: "pullDate", on: .none) var pulldate: Date?
  123. // var imageData: Data?
  124. init() {}
  125. init(id: UUID? = nil, timestamp: Date, userID: String, latitude: Double, longitude: Double, image: Data?, product: String, make: String, model: String, serialNumber: String, tankID: String, fuelAmount: Double, fuelType: String, isOverride: Bool, downloaded: Bool?) { //imageData: Data?
  126. self.id = id
  127. self.timestamp = timestamp
  128. self.userID = userID
  129. self.latitude = latitude
  130. self.longitude = longitude
  131. self.image = image ?? nil
  132. self.product = product
  133. self.make = make
  134. self.model = model
  135. self.serialNumber = serialNumber
  136. self.tankID = tankID
  137. self.fuelAmount = fuelAmount
  138. self.fuelType = fuelType
  139. self.isOverride = isOverride
  140. self.downloaded = downloaded ?? nil
  141. self.image = image ?? nil
  142. // self.imageData = imageData
  143. }
  144. init(id: UUID? = nil, timestamp: Date, userID: String, latitude: Double, longitude: Double, image: Data?, product: String, make: String, model: String, serialNumber: String, tankID: String, fuelAmount: Double, fuelType: String, isOverride: Bool) { //imageData: Data?
  145. self.id = id
  146. self.timestamp = timestamp
  147. self.userID = userID
  148. self.latitude = latitude
  149. self.longitude = longitude
  150. self.image = image ?? nil
  151. self.product = product
  152. self.make = make
  153. self.model = model
  154. self.serialNumber = serialNumber
  155. self.tankID = tankID
  156. self.fuelAmount = fuelAmount
  157. self.fuelType = fuelType
  158. self.isOverride = isOverride
  159. self.downloaded = downloaded ?? nil
  160. self.image = image ?? nil
  161. // self.imageData = imageData
  162. }
  163. init(id: UUID? = nil, timestamp: Date, userID: String, latitude: Double, longitude: Double, product: String, make: String, model: String, serialNumber: String, tankID: String, fuelAmount: Double, fuelType: String, isOverride: Bool) { //imageData: Data?
  164. self.id = id
  165. self.timestamp = timestamp
  166. self.userID = userID
  167. self.latitude = latitude
  168. self.longitude = longitude
  169. self.image = image ?? nil
  170. self.product = product
  171. self.make = make
  172. self.model = model
  173. self.serialNumber = serialNumber
  174. self.tankID = tankID
  175. self.fuelAmount = fuelAmount
  176. self.fuelType = fuelType
  177. self.isOverride = isOverride
  178. // self.imageData = imageData
  179. }
  180. }