Advertisement
McFamous

Untitled

Dec 29th, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. import Foundation
  2.  
  3. struct RoamingChargingSessionApi: Codable {
  4. let id: Int
  5. let sessionId: Int
  6. let locationId: Int
  7. let evseId: Int
  8. let connectorId: Int
  9. let payment: RatePaymentApi
  10. let clientId: Int
  11. let amount: Money
  12. let power: Double
  13. let currentPower: Double
  14. let batteryPercent: Int
  15. let reservedAt: Int?
  16. let reservationExpiresAt: Int?
  17. let startedAt: Int?
  18. let finishAt: Int?
  19. let state: ChargingSessionApi.ChargingSessionStateApi
  20. let completed: Bool
  21. let chargingConnectorType: ConnectorTypeApi
  22. let chargingConnectorPower: Int
  23. let invoceLink: String?
  24. let limitAmount: Int?
  25. let limitEnergy: Int?
  26. let limitFinishAt: Int?
  27. let limitBatteryPercent: Int?
  28.  
  29. enum CodingKeys: String, CodingKey {
  30. case id
  31. case sessionId = "session_id"
  32. case locationId = "location_id"
  33. case evseId = "evse_id"
  34. case connectorId = "connector_id"
  35. case payment
  36. case clientId = "client_id"
  37. case amount
  38. case power
  39. case currentPower = "current_power"
  40. case batteryPercent = "battery_percent"
  41. case reservedAt = "reserved_at"
  42. case reservationExpiresAt = "reservation_expires_at"
  43. case startedAt = "started_at"
  44. case finishAt = "finish_at"
  45. case state
  46. case completed
  47. case chargingConnectorType = "charging_connector_type"
  48. case chargingConnectorPower = "charging_connector_power"
  49. case invoceLink = "invoice_link"
  50. case limitAmount = "limit_amount"
  51. case limitEnergy = "limit_energy"
  52. case limitFinishAt = "limit_finish_at"
  53. case limitBatteryPercent = "limit_battery_percent"
  54. }
  55.  
  56. func toChargingSessionApi() -> ChargingSessionApi {
  57. return ChargingSessionApi(
  58. id: id,
  59. chargingPointId: locationId,
  60. chargingStationId: 0,
  61. chargingConnectorId: connectorId,
  62. reservationId: 0,
  63. chargingRateId: 0,
  64. payment: payment,
  65. clientId: clientId,
  66. amount: amount,
  67. paid: false,
  68. paidAt: nil,
  69. power: power,
  70. currentPower: currentPower,
  71. batteryPercent: batteryPercent,
  72. reservedAt: reservedAt,
  73. reservationExpiresAt: reservationExpiresAt,
  74. startedAt: startedAt,
  75. finishAt: finishAt,
  76. state: state,
  77. completed: completed,
  78. chargingPointName: "location.name",
  79. chargingPointAddress: "location.address",
  80. chargingPointCoordinates: [],
  81. chargingConnectorName: "connector.name",
  82. chargingConnectorType: chargingConnectorType,
  83. chargingConnectorPower: chargingConnectorPower,
  84. invoceLink: invoceLink,
  85. limitAmount: limitAmount,
  86. limitEnergy: limitEnergy,
  87. limitFinishAt: limitFinishAt,
  88. limitBatteryPercent: limitBatteryPercent)
  89. }
  90. }
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement