25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

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