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.

233 wiersze
7.1 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. let useremail: String?
  30. func toFuelEntry() -> FuelEntry {
  31. let entry = FuelEntry()
  32. entry.id = self.id
  33. entry.timestamp = self.timestamp
  34. entry.userID = self.userID
  35. entry.latitude = self.latitude
  36. entry.longitude = self.longitude
  37. entry.product = self.product
  38. entry.make = self.make
  39. entry.model = self.model
  40. entry.serialNumber = self.serialNumber
  41. entry.tankID = self.tankID
  42. entry.fuelAmount = self.fuelAmount
  43. entry.fuelType = self.fuelType
  44. entry.isOverride = self.isOverride
  45. entry.image = nil
  46. entry.downloaded = self.downloaded
  47. entry.loaddate = self.loaddate
  48. entry.pulldate = self.pulldate
  49. entry._$idExists = self.id == nil ? false : true
  50. entry.tabletserial = self.useremail
  51. return entry
  52. }
  53. }
  54. struct Output: Content {
  55. let id: UUID?
  56. let timestamp: Date
  57. let ssid: String
  58. let latitude: Double
  59. let longitude: Double
  60. let product: String
  61. let make: String
  62. let model: String
  63. let serialNumber: String
  64. let tankID: String
  65. let fuelAmount: Double
  66. let fuelType: String
  67. let isOverride: Bool
  68. let image: Data?
  69. let loaddate: Date?
  70. let useremail: String?
  71. }
  72. struct wimage: Content{
  73. let id: UUID?
  74. let timestamp: Date
  75. let userID: String
  76. let latitude: Double
  77. let longitude: Double
  78. let product: String
  79. let make: String
  80. let model: String
  81. let serialNumber: String
  82. let tankID: String
  83. let fuelAmount: Double
  84. let fuelType: String
  85. let isOverride: Bool
  86. let image: Data?
  87. let downloaded: Bool?
  88. let loaddate: Date?
  89. let pulldate: Date?
  90. func toFuelEntry() -> FuelEntry {
  91. let entry = FuelEntry()
  92. entry.id = self.id
  93. entry.timestamp = self.timestamp
  94. entry.userID = self.userID
  95. entry.latitude = self.latitude
  96. entry.longitude = self.longitude
  97. entry.product = self.product
  98. entry.make = self.make
  99. entry.model = self.model
  100. entry.serialNumber = self.serialNumber
  101. entry.tankID = self.tankID
  102. entry.fuelAmount = self.fuelAmount
  103. entry.fuelType = self.fuelType
  104. entry.isOverride = self.isOverride
  105. entry.image = self.image
  106. entry.downloaded = self.downloaded
  107. entry.loaddate = self.loaddate
  108. entry.pulldate = self.pulldate
  109. entry._$idExists = self.id == nil ? false : true
  110. return entry
  111. }
  112. }
  113. @ID(key: .id)
  114. var id: UUID?
  115. @Field(key: "timestamp")
  116. var timestamp: Date
  117. @Field(key: "user_id")
  118. var userID: String
  119. @Field(key: "latitude")
  120. var latitude: Double
  121. @Field(key: "longitude")
  122. var longitude: Double
  123. @Field(key: "image")
  124. var image: Data?
  125. @Field(key: "product")
  126. var product: String
  127. @Field(key: "make")
  128. var make: String
  129. @Field(key: "model")
  130. var model: String
  131. @Field(key: "serial_number")
  132. var serialNumber: String
  133. @Field(key: "tank_id")
  134. var tankID: String
  135. @Field(key: "fuel_amount")
  136. var fuelAmount: Double
  137. @Field(key: "fuel_type")
  138. var fuelType: String
  139. @Field(key: "is_override")
  140. var isOverride: Bool
  141. @Field(key: "downloaded")
  142. var downloaded: Bool?
  143. @Field(key: "tablet_serial")
  144. var tabletserial: String?
  145. @Timestamp(key: "loadDate", on: .create) var loaddate: Date?
  146. @Timestamp(key: "pullDate", on: .none) var pulldate: Date?
  147. // var imageData: Data?
  148. init() {}
  149. 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? = nil, tabletserial: String? = nil) { //imageData: Data?
  150. self.id = id
  151. self.timestamp = timestamp
  152. self.userID = userID
  153. self.latitude = latitude
  154. self.longitude = longitude
  155. self.image = image ?? nil
  156. self.product = product
  157. self.make = make
  158. self.model = model
  159. self.serialNumber = serialNumber
  160. self.tankID = tankID
  161. self.fuelAmount = fuelAmount
  162. self.fuelType = fuelType
  163. self.isOverride = isOverride
  164. self.downloaded = downloaded ?? nil
  165. self.image = image ?? nil
  166. self.tabletserial = tabletserial ?? nil
  167. // self.imageData = imageData
  168. }
  169. 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, tabletserial: String? = nil) { //imageData: Data?
  170. self.id = id
  171. self.timestamp = timestamp
  172. self.userID = userID
  173. self.latitude = latitude
  174. self.longitude = longitude
  175. self.image = image ?? nil
  176. self.product = product
  177. self.make = make
  178. self.model = model
  179. self.serialNumber = serialNumber
  180. self.tankID = tankID
  181. self.fuelAmount = fuelAmount
  182. self.fuelType = fuelType
  183. self.isOverride = isOverride
  184. self.downloaded = downloaded ?? nil
  185. self.image = image ?? nil
  186. self.tabletserial = tabletserial ?? nil
  187. // self.imageData = imageData
  188. }
  189. 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, tabletserial: String? = nil) { //imageData: Data?
  190. self.id = id
  191. self.timestamp = timestamp
  192. self.userID = userID
  193. self.latitude = latitude
  194. self.longitude = longitude
  195. self.image = image ?? nil
  196. self.product = product
  197. self.make = make
  198. self.model = model
  199. self.serialNumber = serialNumber
  200. self.tankID = tankID
  201. self.fuelAmount = fuelAmount
  202. self.fuelType = fuelType
  203. self.isOverride = isOverride
  204. self.tabletserial = tabletserial ?? nil
  205. // self.imageData = imageData
  206. }
  207. }