Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

224 wiersze
6.7 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 longitude: 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 image: Data?
  25. let isOverride: Bool
  26. let downloaded: Bool?
  27. let loaddate: Date?
  28. let pulldate: Date?
  29. func toFuelEntry() -> FuelEntry {
  30. let entry = FuelEntry()
  31. entry.id = self.id
  32. entry.timestamp = self.timestamp
  33. entry.userID = self.userID
  34. entry.latitude = self.latitude
  35. entry.longitude = self.longitude
  36. entry.product = self.product
  37. entry.make = self.make
  38. entry.model = self.model
  39. entry.serialNumber = self.serialNumber
  40. entry.tankID = self.tankID
  41. entry.fuelAmount = self.fuelAmount
  42. entry.fuelType = self.fuelType
  43. entry.isOverride = self.isOverride
  44. entry.image = nil
  45. entry.downloaded = self.downloaded
  46. entry.loaddate = self.loaddate
  47. entry.pulldate = self.pulldate
  48. entry._$idExists = self.id == nil ? false : true
  49. return entry
  50. }
  51. }
  52. struct Output: Content {
  53. let id: UUID?
  54. let timestamp: Date
  55. let ssid: String
  56. let latitude: Double
  57. let longitude: Double
  58. let product: String
  59. let make: String
  60. let model: String
  61. let serialNumber: String
  62. let tankID: String
  63. let fuelAmount: Double
  64. let fuelType: String
  65. let isOverride: Bool
  66. let image: Data?
  67. let loaddate: Date?
  68. }
  69. struct wimage: Content{
  70. let id: UUID?
  71. let timestamp: Date
  72. let userID: String
  73. let latitude: Double
  74. let longitude: Double
  75. let product: String
  76. let make: String
  77. let model: String
  78. let serialNumber: String
  79. let tankID: String
  80. let fuelAmount: Double
  81. let fuelType: String
  82. let isOverride: Bool
  83. let image: Data?
  84. let downloaded: Bool?
  85. let loaddate: Date?
  86. let pulldate: Date?
  87. func toFuelEntry() -> FuelEntry {
  88. let entry = FuelEntry()
  89. entry.id = self.id
  90. entry.timestamp = self.timestamp
  91. entry.userID = self.userID
  92. entry.latitude = self.latitude
  93. entry.longitude = self.longitude
  94. entry.product = self.product
  95. entry.make = self.make
  96. entry.model = self.model
  97. entry.serialNumber = self.serialNumber
  98. entry.tankID = self.tankID
  99. entry.fuelAmount = self.fuelAmount
  100. entry.fuelType = self.fuelType
  101. entry.isOverride = self.isOverride
  102. entry.image = self.image
  103. entry.downloaded = self.downloaded
  104. entry.loaddate = self.loaddate
  105. entry.pulldate = self.pulldate
  106. entry._$idExists = self.id == nil ? false : true
  107. return entry
  108. }
  109. }
  110. @ID(key: .id)
  111. var id: UUID?
  112. @Field(key: "timestamp")
  113. var timestamp: Date
  114. @Field(key: "user_id")
  115. var userID: String
  116. @Field(key: "latitude")
  117. var latitude: Double
  118. @Field(key: "longitude")
  119. var longitude: Double
  120. @Field(key: "image")
  121. var image: Data?
  122. @Field(key: "product")
  123. var product: String
  124. @Field(key: "make")
  125. var make: String
  126. @Field(key: "model")
  127. var model: String
  128. @Field(key: "serial_number")
  129. var serialNumber: String
  130. @Field(key: "tank_id")
  131. var tankID: String
  132. @Field(key: "fuel_amount")
  133. var fuelAmount: Double
  134. @Field(key: "fuel_type")
  135. var fuelType: String
  136. @Field(key: "is_override")
  137. var isOverride: Bool
  138. @Field(key: "downloaded")
  139. var downloaded: Bool?
  140. @Timestamp(key: "loadDate", on: .create) var loaddate: Date?
  141. @Timestamp(key: "pullDate", on: .none) var pulldate: Date?
  142. // var imageData: Data?
  143. init() {}
  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, downloaded: 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, image: Data?, 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.downloaded = downloaded ?? nil
  179. self.image = image ?? nil
  180. // self.imageData = imageData
  181. }
  182. 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?
  183. self.id = id
  184. self.timestamp = timestamp
  185. self.userID = userID
  186. self.latitude = latitude
  187. self.longitude = longitude
  188. self.image = image ?? nil
  189. self.product = product
  190. self.make = make
  191. self.model = model
  192. self.serialNumber = serialNumber
  193. self.tankID = tankID
  194. self.fuelAmount = fuelAmount
  195. self.fuelType = fuelType
  196. self.isOverride = isOverride
  197. // self.imageData = imageData
  198. }
  199. }