tesla-api-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +160 -0
  4. data/bin/console +15 -0
  5. data/lib/tesla_fleet_management_api/api_helper.rb +10 -0
  6. data/lib/tesla_fleet_management_api/client.rb +110 -0
  7. data/lib/tesla_fleet_management_api/configuration.rb +181 -0
  8. data/lib/tesla_fleet_management_api/controllers/base_controller.rb +65 -0
  9. data/lib/tesla_fleet_management_api/controllers/charging_controller.rb +62 -0
  10. data/lib/tesla_fleet_management_api/controllers/energy_controller.rb +315 -0
  11. data/lib/tesla_fleet_management_api/controllers/oauth_authorization_controller.rb +87 -0
  12. data/lib/tesla_fleet_management_api/controllers/partner_controller.rb +82 -0
  13. data/lib/tesla_fleet_management_api/controllers/user_controller.rb +73 -0
  14. data/lib/tesla_fleet_management_api/controllers/vehicles_controller.rb +431 -0
  15. data/lib/tesla_fleet_management_api/exceptions/api_exception.rb +21 -0
  16. data/lib/tesla_fleet_management_api/exceptions/oauth_provider_exception.rb +64 -0
  17. data/lib/tesla_fleet_management_api/http/api_response.rb +19 -0
  18. data/lib/tesla_fleet_management_api/http/auth/bearer_auth.rb +53 -0
  19. data/lib/tesla_fleet_management_api/http/auth/oauth_2.rb +154 -0
  20. data/lib/tesla_fleet_management_api/http/http_call_back.rb +10 -0
  21. data/lib/tesla_fleet_management_api/http/http_method_enum.rb +10 -0
  22. data/lib/tesla_fleet_management_api/http/http_request.rb +10 -0
  23. data/lib/tesla_fleet_management_api/http/http_response.rb +10 -0
  24. data/lib/tesla_fleet_management_api/http/proxy_settings.rb +22 -0
  25. data/lib/tesla_fleet_management_api/logging/configuration/api_logging_configuration.rb +186 -0
  26. data/lib/tesla_fleet_management_api/logging/sdk_logger.rb +17 -0
  27. data/lib/tesla_fleet_management_api/models/api1_dx_vehicles_options_response.rb +76 -0
  28. data/lib/tesla_fleet_management_api/models/api1_dx_warranty_details_response.rb +76 -0
  29. data/lib/tesla_fleet_management_api/models/api1_vehicles_mobile_enabled_response.rb +75 -0
  30. data/lib/tesla_fleet_management_api/models/api1_vehicles_nearby_charging_sites_response.rb +75 -0
  31. data/lib/tesla_fleet_management_api/models/api1_vehicles_response.rb +104 -0
  32. data/lib/tesla_fleet_management_api/models/api1_vehicles_response_get_vehicle.rb +75 -0
  33. data/lib/tesla_fleet_management_api/models/api1_vehicles_wake_up_response.rb +75 -0
  34. data/lib/tesla_fleet_management_api/models/backup_request.rb +75 -0
  35. data/lib/tesla_fleet_management_api/models/backup_response.rb +73 -0
  36. data/lib/tesla_fleet_management_api/models/base_model.rb +110 -0
  37. data/lib/tesla_fleet_management_api/models/calendar_history_response.rb +73 -0
  38. data/lib/tesla_fleet_management_api/models/charge_duration.rb +73 -0
  39. data/lib/tesla_fleet_management_api/models/charge_history.rb +96 -0
  40. data/lib/tesla_fleet_management_api/models/charge_history_response.rb +73 -0
  41. data/lib/tesla_fleet_management_api/models/charge_start_time.rb +73 -0
  42. data/lib/tesla_fleet_management_api/models/charging_dimension.rb +85 -0
  43. data/lib/tesla_fleet_management_api/models/charging_fee.rb +312 -0
  44. data/lib/tesla_fleet_management_api/models/charging_history_data.rb +81 -0
  45. data/lib/tesla_fleet_management_api/models/charging_history_item.rb +222 -0
  46. data/lib/tesla_fleet_management_api/models/charging_history_response.rb +73 -0
  47. data/lib/tesla_fleet_management_api/models/charging_invoice.rb +95 -0
  48. data/lib/tesla_fleet_management_api/models/charging_location.rb +158 -0
  49. data/lib/tesla_fleet_management_api/models/charging_period.rb +96 -0
  50. data/lib/tesla_fleet_management_api/models/charging_session.rb +187 -0
  51. data/lib/tesla_fleet_management_api/models/charging_sessions_data.rb +116 -0
  52. data/lib/tesla_fleet_management_api/models/charging_sessions_response.rb +73 -0
  53. data/lib/tesla_fleet_management_api/models/default_real_mode.rb +36 -0
  54. data/lib/tesla_fleet_management_api/models/driver.rb +164 -0
  55. data/lib/tesla_fleet_management_api/models/drivers_response.rb +94 -0
  56. data/lib/tesla_fleet_management_api/models/enterprise_payer_request.rb +94 -0
  57. data/lib/tesla_fleet_management_api/models/event.rb +89 -0
  58. data/lib/tesla_fleet_management_api/models/fleet_status_request.rb +74 -0
  59. data/lib/tesla_fleet_management_api/models/fleet_telemetry_error.rb +90 -0
  60. data/lib/tesla_fleet_management_api/models/fleet_telemetry_errors_response.rb +74 -0
  61. data/lib/tesla_fleet_management_api/models/fleet_telemetry_jws_request.rb +85 -0
  62. data/lib/tesla_fleet_management_api/models/generic_update_response.rb +73 -0
  63. data/lib/tesla_fleet_management_api/models/kind.rb +36 -0
  64. data/lib/tesla_fleet_management_api/models/kind_get_wall_connector_charging_history.rb +26 -0
  65. data/lib/tesla_fleet_management_api/models/live_status_response.rb +73 -0
  66. data/lib/tesla_fleet_management_api/models/location.rb +85 -0
  67. data/lib/tesla_fleet_management_api/models/location1.rb +85 -0
  68. data/lib/tesla_fleet_management_api/models/me_response.rb +73 -0
  69. data/lib/tesla_fleet_management_api/models/mobile_enabled.rb +85 -0
  70. data/lib/tesla_fleet_management_api/models/oauth_provider_error.rb +62 -0
  71. data/lib/tesla_fleet_management_api/models/oauth_token.rb +96 -0
  72. data/lib/tesla_fleet_management_api/models/off_grid_vehicle_charging_reserve_request.rb +79 -0
  73. data/lib/tesla_fleet_management_api/models/operation_request.rb +75 -0
  74. data/lib/tesla_fleet_management_api/models/orders_response.rb +91 -0
  75. data/lib/tesla_fleet_management_api/models/pagination.rb +127 -0
  76. data/lib/tesla_fleet_management_api/models/price_component.rb +95 -0
  77. data/lib/tesla_fleet_management_api/models/products_response.rb +85 -0
  78. data/lib/tesla_fleet_management_api/models/public_key_response.rb +73 -0
  79. data/lib/tesla_fleet_management_api/models/region_response.rb +73 -0
  80. data/lib/tesla_fleet_management_api/models/register_partner_request.rb +73 -0
  81. data/lib/tesla_fleet_management_api/models/register_partner_response.rb +73 -0
  82. data/lib/tesla_fleet_management_api/models/response.rb +82 -0
  83. data/lib/tesla_fleet_management_api/models/response1.rb +75 -0
  84. data/lib/tesla_fleet_management_api/models/response2.rb +74 -0
  85. data/lib/tesla_fleet_management_api/models/response3.rb +115 -0
  86. data/lib/tesla_fleet_management_api/models/response_api1_dx_vehicles_options_response.rb +84 -0
  87. data/lib/tesla_fleet_management_api/models/response_api1_dx_warranty_details_response.rb +124 -0
  88. data/lib/tesla_fleet_management_api/models/response_calendar_history_response.rb +91 -0
  89. data/lib/tesla_fleet_management_api/models/response_charge_history_response.rb +83 -0
  90. data/lib/tesla_fleet_management_api/models/response_fleet_telemetry_errors_response.rb +83 -0
  91. data/lib/tesla_fleet_management_api/models/response_live_status_response.rb +196 -0
  92. data/lib/tesla_fleet_management_api/models/response_me_response.rb +102 -0
  93. data/lib/tesla_fleet_management_api/models/response_orders_response.rb +157 -0
  94. data/lib/tesla_fleet_management_api/models/response_public_key_response.rb +74 -0
  95. data/lib/tesla_fleet_management_api/models/response_region_response.rb +83 -0
  96. data/lib/tesla_fleet_management_api/models/response_register_partner_response.rb +223 -0
  97. data/lib/tesla_fleet_management_api/models/signaling.rb +94 -0
  98. data/lib/tesla_fleet_management_api/models/simple_ok_response.rb +75 -0
  99. data/lib/tesla_fleet_management_api/models/site_info_response.rb +75 -0
  100. data/lib/tesla_fleet_management_api/models/storm_mode_request.rb +73 -0
  101. data/lib/tesla_fleet_management_api/models/tariff_element.rb +95 -0
  102. data/lib/tesla_fleet_management_api/models/tariffs.rb +94 -0
  103. data/lib/tesla_fleet_management_api/models/time_of_use_settings_request.rb +74 -0
  104. data/lib/tesla_fleet_management_api/models/total_cost.rb +95 -0
  105. data/lib/tesla_fleet_management_api/models/tou_settings.rb +77 -0
  106. data/lib/tesla_fleet_management_api/models/vehicle_base.rb +147 -0
  107. data/lib/tesla_fleet_management_api/models/vehicle_option.rb +107 -0
  108. data/lib/tesla_fleet_management_api/models/warranty_item.rb +155 -0
  109. data/lib/tesla_fleet_management_api/utilities/date_time_helper.rb +11 -0
  110. data/lib/tesla_fleet_management_api/utilities/file_wrapper.rb +28 -0
  111. data/lib/tesla_fleet_management_api.rb +153 -0
  112. metadata +195 -0
@@ -0,0 +1,315 @@
1
+ # tesla_fleet_management_api
2
+ #
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module TeslaFleetManagementApi
7
+ # EnergyController
8
+ class EnergyController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @param [String] energy_site_id Required parameter: TODO: type description
11
+ # here
12
+ # @param [BackupRequest] body Required parameter: TODO: type description
13
+ # here
14
+ # @return [ApiResponse] Complete http response with raw body and status code.
15
+ def adjust_site_s_backup_reserve(energy_site_id,
16
+ body)
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/api/1/energy_sites/{energy_site_id}/backup',
20
+ Server::DEFAULT)
21
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
22
+ .is_required(true)
23
+ .should_encode(true))
24
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
25
+ .body_param(new_parameter(body)
26
+ .is_required(true))
27
+ .header_param(new_parameter('application/json', key: 'accept'))
28
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
29
+ .auth(Single.new('bearerAuth')))
30
+ .response(new_response_handler
31
+ .deserializer(APIHelper.method(:custom_type_deserializer))
32
+ .deserialize_into(BackupResponse.method(:from_hash))
33
+ .is_api_response(true))
34
+ .execute
35
+ end
36
+
37
+ # TODO: type endpoint description here
38
+ # @param [String] energy_site_id Required parameter: TODO: type description
39
+ # here
40
+ # @param [Kind] kind Required parameter: Example:
41
+ # @param [DateTime] start_date Required parameter: TODO: type description
42
+ # here
43
+ # @param [DateTime] end_date Required parameter: TODO: type description
44
+ # here
45
+ # @param [String] period Optional parameter: TODO: type description here
46
+ # @param [String] time_zone Optional parameter: TODO: type description
47
+ # here
48
+ # @return [ApiResponse] Complete http response with raw body and status code.
49
+ def get_backup_or_energy_history(energy_site_id,
50
+ kind,
51
+ start_date,
52
+ end_date,
53
+ period: nil,
54
+ time_zone: nil)
55
+ @api_call
56
+ .request(new_request_builder(HttpMethodEnum::GET,
57
+ '/api/1/energy_sites/{energy_site_id}/calendar_history',
58
+ Server::DEFAULT)
59
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
60
+ .is_required(true)
61
+ .should_encode(true))
62
+ .query_param(new_parameter(kind, key: 'kind')
63
+ .is_required(true))
64
+ .query_param(new_parameter(start_date, key: 'start_date')
65
+ .is_required(true))
66
+ .query_param(new_parameter(end_date, key: 'end_date')
67
+ .is_required(true))
68
+ .query_param(new_parameter(period, key: 'period'))
69
+ .query_param(new_parameter(time_zone, key: 'time_zone'))
70
+ .header_param(new_parameter('application/json', key: 'accept'))
71
+ .auth(Single.new('bearerAuth')))
72
+ .response(new_response_handler
73
+ .deserializer(APIHelper.method(:custom_type_deserializer))
74
+ .deserialize_into(CalendarHistoryResponse.method(:from_hash))
75
+ .is_api_response(true))
76
+ .execute
77
+ end
78
+
79
+ # TODO: type endpoint description here
80
+ # @param [String] energy_site_id Required parameter: TODO: type description
81
+ # here
82
+ # @param [KindGetWallConnectorChargingHistory] kind Required parameter:
83
+ # Example:
84
+ # @param [DateTime] start_date Required parameter: TODO: type description
85
+ # here
86
+ # @param [DateTime] end_date Required parameter: TODO: type description
87
+ # here
88
+ # @param [String] time_zone Optional parameter: TODO: type description
89
+ # here
90
+ # @return [ApiResponse] Complete http response with raw body and status code.
91
+ def get_wall_connector_charging_history(energy_site_id,
92
+ kind,
93
+ start_date,
94
+ end_date,
95
+ time_zone: nil)
96
+ @api_call
97
+ .request(new_request_builder(HttpMethodEnum::GET,
98
+ '/api/1/energy_sites/{energy_site_id}/telemetry_history',
99
+ Server::DEFAULT)
100
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
101
+ .is_required(true)
102
+ .should_encode(true))
103
+ .query_param(new_parameter(kind, key: 'kind')
104
+ .is_required(true))
105
+ .query_param(new_parameter(start_date, key: 'start_date')
106
+ .is_required(true))
107
+ .query_param(new_parameter(end_date, key: 'end_date')
108
+ .is_required(true))
109
+ .query_param(new_parameter(time_zone, key: 'time_zone'))
110
+ .header_param(new_parameter('application/json', key: 'accept'))
111
+ .auth(Single.new('bearerAuth')))
112
+ .response(new_response_handler
113
+ .deserializer(APIHelper.method(:custom_type_deserializer))
114
+ .deserialize_into(ChargeHistoryResponse.method(:from_hash))
115
+ .is_api_response(true))
116
+ .execute
117
+ end
118
+
119
+ # TODO: type endpoint description here
120
+ # @param [String] energy_site_id Required parameter: TODO: type description
121
+ # here
122
+ # @return [ApiResponse] Complete http response with raw body and status code.
123
+ def get_live_site_status(energy_site_id)
124
+ @api_call
125
+ .request(new_request_builder(HttpMethodEnum::GET,
126
+ '/api/1/energy_sites/{energy_site_id}/live_status',
127
+ Server::DEFAULT)
128
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
129
+ .is_required(true)
130
+ .should_encode(true))
131
+ .header_param(new_parameter('application/json', key: 'accept'))
132
+ .auth(Single.new('bearerAuth')))
133
+ .response(new_response_handler
134
+ .deserializer(APIHelper.method(:custom_type_deserializer))
135
+ .deserialize_into(LiveStatusResponse.method(:from_hash))
136
+ .is_api_response(true))
137
+ .execute
138
+ end
139
+
140
+ # TODO: type endpoint description here
141
+ # @param [String] energy_site_id Required parameter: TODO: type description
142
+ # here
143
+ # @param [OperationRequest] body Required parameter: TODO: type description
144
+ # here
145
+ # @return [ApiResponse] Complete http response with raw body and status code.
146
+ def set_site_mode_autonomous_or_self_consumption(energy_site_id,
147
+ body)
148
+ @api_call
149
+ .request(new_request_builder(HttpMethodEnum::POST,
150
+ '/api/1/energy_sites/{energy_site_id}/operation',
151
+ Server::DEFAULT)
152
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
153
+ .is_required(true)
154
+ .should_encode(true))
155
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
156
+ .body_param(new_parameter(body)
157
+ .is_required(true))
158
+ .header_param(new_parameter('application/json', key: 'accept'))
159
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
160
+ .auth(Single.new('bearerAuth')))
161
+ .response(new_response_handler
162
+ .deserializer(APIHelper.method(:custom_type_deserializer))
163
+ .deserialize_into(GenericUpdateResponse.method(:from_hash))
164
+ .is_api_response(true))
165
+ .execute
166
+ end
167
+
168
+ # TODO: type endpoint description here
169
+ # @param [String] energy_site_id Required parameter: TODO: type description
170
+ # here
171
+ # @param [Object] body Optional parameter: TODO: type description here
172
+ # @return [ApiResponse] Complete http response with raw body and status code.
173
+ def allow_disallow_charging_from_the_grid_and_exporting_energy_to_the_grid(energy_site_id,
174
+ body: nil)
175
+ @api_call
176
+ .request(new_request_builder(HttpMethodEnum::POST,
177
+ '/api/1/energy_sites/{energy_site_id}/grid_import_export',
178
+ Server::DEFAULT)
179
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
180
+ .is_required(true)
181
+ .should_encode(true))
182
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
183
+ .body_param(new_parameter(body))
184
+ .header_param(new_parameter('application/json', key: 'accept'))
185
+ .body_serializer(APIHelper.method(:json_serialize))
186
+ .auth(Single.new('bearerAuth')))
187
+ .response(new_response_handler
188
+ .deserializer(APIHelper.method(:custom_type_deserializer))
189
+ .deserialize_into(GenericUpdateResponse.method(:from_hash))
190
+ .is_api_response(true))
191
+ .execute
192
+ end
193
+
194
+ # TODO: type endpoint description here
195
+ # @param [String] energy_site_id Required parameter: TODO: type description
196
+ # here
197
+ # @param [OffGridVehicleChargingReserveRequest] body Required parameter:
198
+ # TODO: type description here
199
+ # @return [ApiResponse] Complete http response with raw body and status code.
200
+ def adjust_site_s_off_grid_vehicle_charging_reserve(energy_site_id,
201
+ body)
202
+ @api_call
203
+ .request(new_request_builder(HttpMethodEnum::POST,
204
+ '/api/1/energy_sites/{energy_site_id}/off_grid_vehicle_charging_reserve',
205
+ Server::DEFAULT)
206
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
207
+ .is_required(true)
208
+ .should_encode(true))
209
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
210
+ .body_param(new_parameter(body)
211
+ .is_required(true))
212
+ .header_param(new_parameter('application/json', key: 'accept'))
213
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
214
+ .auth(Single.new('bearerAuth')))
215
+ .response(new_response_handler
216
+ .deserializer(APIHelper.method(:custom_type_deserializer))
217
+ .deserialize_into(GenericUpdateResponse.method(:from_hash))
218
+ .is_api_response(true))
219
+ .execute
220
+ end
221
+
222
+ # TODO: type endpoint description here
223
+ # @param [String] energy_site_id Required parameter: TODO: type description
224
+ # here
225
+ # @param [StormModeRequest] body Required parameter: TODO: type description
226
+ # here
227
+ # @return [ApiResponse] Complete http response with raw body and status code.
228
+ def update_storm_watch_participation(energy_site_id,
229
+ body)
230
+ @api_call
231
+ .request(new_request_builder(HttpMethodEnum::POST,
232
+ '/api/1/energy_sites/{energy_site_id}/storm_mode',
233
+ Server::DEFAULT)
234
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
235
+ .is_required(true)
236
+ .should_encode(true))
237
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
238
+ .body_param(new_parameter(body)
239
+ .is_required(true))
240
+ .header_param(new_parameter('application/json', key: 'accept'))
241
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
242
+ .auth(Single.new('bearerAuth')))
243
+ .response(new_response_handler
244
+ .deserializer(APIHelper.method(:custom_type_deserializer))
245
+ .deserialize_into(GenericUpdateResponse.method(:from_hash))
246
+ .is_api_response(true))
247
+ .execute
248
+ end
249
+
250
+ # TODO: type endpoint description here
251
+ # @param [String] energy_site_id Required parameter: TODO: type description
252
+ # here
253
+ # @param [TimeOfUseSettingsRequest] body Required parameter: TODO: type
254
+ # description here
255
+ # @return [ApiResponse] Complete http response with raw body and status code.
256
+ def update_time_of_use_tou_settings(energy_site_id,
257
+ body)
258
+ @api_call
259
+ .request(new_request_builder(HttpMethodEnum::POST,
260
+ '/api/1/energy_sites/{energy_site_id}/time_of_use_settings',
261
+ Server::DEFAULT)
262
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
263
+ .is_required(true)
264
+ .should_encode(true))
265
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
266
+ .body_param(new_parameter(body)
267
+ .is_required(true))
268
+ .header_param(new_parameter('application/json', key: 'accept'))
269
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
270
+ .auth(Single.new('bearerAuth')))
271
+ .response(new_response_handler
272
+ .deserializer(APIHelper.method(:custom_type_deserializer))
273
+ .deserialize_into(GenericUpdateResponse.method(:from_hash))
274
+ .is_api_response(true))
275
+ .execute
276
+ end
277
+
278
+ # TODO: type endpoint description here
279
+ # @return [ApiResponse] Complete http response with raw body and status code.
280
+ def get_user_products_vehicles_energy_sites
281
+ @api_call
282
+ .request(new_request_builder(HttpMethodEnum::GET,
283
+ '/api/1/products',
284
+ Server::DEFAULT)
285
+ .header_param(new_parameter('application/json', key: 'accept'))
286
+ .auth(Single.new('bearerAuth')))
287
+ .response(new_response_handler
288
+ .deserializer(APIHelper.method(:custom_type_deserializer))
289
+ .deserialize_into(ProductsResponse.method(:from_hash))
290
+ .is_api_response(true))
291
+ .execute
292
+ end
293
+
294
+ # TODO: type endpoint description here
295
+ # @param [String] energy_site_id Required parameter: TODO: type description
296
+ # here
297
+ # @return [ApiResponse] Complete http response with raw body and status code.
298
+ def get_site_information_assets_settings_features(energy_site_id)
299
+ @api_call
300
+ .request(new_request_builder(HttpMethodEnum::GET,
301
+ '/api/1/energy_sites/{energy_site_id}/site_info',
302
+ Server::DEFAULT)
303
+ .template_param(new_parameter(energy_site_id, key: 'energy_site_id')
304
+ .is_required(true)
305
+ .should_encode(true))
306
+ .header_param(new_parameter('application/json', key: 'accept'))
307
+ .auth(Single.new('bearerAuth')))
308
+ .response(new_response_handler
309
+ .deserializer(APIHelper.method(:custom_type_deserializer))
310
+ .deserialize_into(SiteInfoResponse.method(:from_hash))
311
+ .is_api_response(true))
312
+ .execute
313
+ end
314
+ end
315
+ end
@@ -0,0 +1,87 @@
1
+ # tesla_fleet_management_api
2
+ #
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module TeslaFleetManagementApi
7
+ # OauthAuthorizationController
8
+ class OauthAuthorizationController < BaseController
9
+ # Create a new OAuth 2 token.
10
+ # @param [String] authorization Required parameter: Authorization header in
11
+ # Basic auth format
12
+ # @param [String] code Required parameter: Authorization Code
13
+ # @param [String] redirect_uri Required parameter: Redirect Uri
14
+ # @param [Hash] _field_parameters Additional optional form parameters are
15
+ # supported by this endpoint.
16
+ # @return [ApiResponse] Complete http response with raw body and status code.
17
+ def request_token_oauth_2(authorization,
18
+ code,
19
+ redirect_uri,
20
+ _field_parameters: nil)
21
+ @api_call
22
+ .request(new_request_builder(HttpMethodEnum::POST,
23
+ '/token',
24
+ Server::AUTH_SERVER)
25
+ .form_param(new_parameter('authorization_code', key: 'grant_type'))
26
+ .header_param(new_parameter(authorization, key: 'Authorization')
27
+ .is_required(true))
28
+ .form_param(new_parameter(code, key: 'code')
29
+ .is_required(true))
30
+ .form_param(new_parameter(redirect_uri, key: 'redirect_uri')
31
+ .is_required(true))
32
+ .header_param(new_parameter('application/x-www-form-urlencoded', key: 'content-type'))
33
+ .header_param(new_parameter('application/json', key: 'accept'))
34
+ .additional_form_params(_field_parameters))
35
+ .response(new_response_handler
36
+ .deserializer(APIHelper.method(:custom_type_deserializer))
37
+ .deserialize_into(OauthToken.method(:from_hash))
38
+ .is_api_response(true)
39
+ .local_error('400',
40
+ 'OAuth 2 provider returned an error.',
41
+ OauthProviderException)
42
+ .local_error('401',
43
+ 'OAuth 2 provider says client authentication failed.',
44
+ OauthProviderException))
45
+ .execute
46
+ end
47
+
48
+ # Obtain a new access token using a refresh token
49
+ # @param [String] authorization Required parameter: Authorization header in
50
+ # Basic auth format
51
+ # @param [String] refresh_token Required parameter: Refresh token
52
+ # @param [String] scope Optional parameter: Requested scopes as a
53
+ # space-delimited list.
54
+ # @param [Hash] _field_parameters Additional optional form parameters are
55
+ # supported by this endpoint.
56
+ # @return [ApiResponse] Complete http response with raw body and status code.
57
+ def refresh_token_oauth_2(authorization,
58
+ refresh_token,
59
+ scope: nil,
60
+ _field_parameters: nil)
61
+ @api_call
62
+ .request(new_request_builder(HttpMethodEnum::POST,
63
+ '/token',
64
+ Server::AUTH_SERVER)
65
+ .form_param(new_parameter('refresh_token', key: 'grant_type'))
66
+ .header_param(new_parameter(authorization, key: 'Authorization')
67
+ .is_required(true))
68
+ .form_param(new_parameter(refresh_token, key: 'refresh_token')
69
+ .is_required(true))
70
+ .form_param(new_parameter(scope, key: 'scope'))
71
+ .header_param(new_parameter('application/x-www-form-urlencoded', key: 'content-type'))
72
+ .header_param(new_parameter('application/json', key: 'accept'))
73
+ .additional_form_params(_field_parameters))
74
+ .response(new_response_handler
75
+ .deserializer(APIHelper.method(:custom_type_deserializer))
76
+ .deserialize_into(OauthToken.method(:from_hash))
77
+ .is_api_response(true)
78
+ .local_error('400',
79
+ 'OAuth 2 provider returned an error.',
80
+ OauthProviderException)
81
+ .local_error('401',
82
+ 'OAuth 2 provider says client authentication failed.',
83
+ OauthProviderException))
84
+ .execute
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,82 @@
1
+ # tesla_fleet_management_api
2
+ #
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module TeslaFleetManagementApi
7
+ # PartnerController
8
+ class PartnerController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @return [ApiResponse] Complete http response with raw body and status code.
11
+ def get_vins_with_fleet_telemetry_errors
12
+ @api_call
13
+ .request(new_request_builder(HttpMethodEnum::GET,
14
+ '/api/1/partner_accounts/fleet_telemetry_error_vins',
15
+ Server::DEFAULT)
16
+ .header_param(new_parameter('application/json', key: 'accept'))
17
+ .auth(Single.new('bearerAuth')))
18
+ .response(new_response_handler
19
+ .deserializer(APIHelper.method(:custom_type_deserializer))
20
+ .deserialize_into(BackupResponse.method(:from_hash))
21
+ .is_api_response(true))
22
+ .execute
23
+ end
24
+
25
+ # TODO: type endpoint description here
26
+ # @return [ApiResponse] Complete http response with raw body and status code.
27
+ def get_recent_fleet_telemetry_errors
28
+ @api_call
29
+ .request(new_request_builder(HttpMethodEnum::GET,
30
+ '/api/1/partner_accounts/fleet_telemetry_errors',
31
+ Server::DEFAULT)
32
+ .header_param(new_parameter('application/json', key: 'accept'))
33
+ .auth(Single.new('bearerAuth')))
34
+ .response(new_response_handler
35
+ .deserializer(APIHelper.method(:custom_type_deserializer))
36
+ .deserialize_into(FleetTelemetryErrorsResponse.method(:from_hash))
37
+ .is_api_response(true))
38
+ .execute
39
+ end
40
+
41
+ # TODO: type endpoint description here
42
+ # @param [String] domain Required parameter: TODO: type description here
43
+ # @return [ApiResponse] Complete http response with raw body and status code.
44
+ def get_public_key_for_a_domain(domain)
45
+ @api_call
46
+ .request(new_request_builder(HttpMethodEnum::GET,
47
+ '/api/1/partner_accounts/public_key',
48
+ Server::DEFAULT)
49
+ .query_param(new_parameter(domain, key: 'domain')
50
+ .is_required(true))
51
+ .header_param(new_parameter('application/json', key: 'accept'))
52
+ .auth(Single.new('bearerAuth')))
53
+ .response(new_response_handler
54
+ .deserializer(APIHelper.method(:custom_type_deserializer))
55
+ .deserialize_into(PublicKeyResponse.method(:from_hash))
56
+ .is_api_response(true))
57
+ .execute
58
+ end
59
+
60
+ # TODO: type endpoint description here
61
+ # @param [RegisterPartnerRequest] body Required parameter: TODO: type
62
+ # description here
63
+ # @return [ApiResponse] Complete http response with raw body and status code.
64
+ def register_a_partner_account(body)
65
+ @api_call
66
+ .request(new_request_builder(HttpMethodEnum::POST,
67
+ '/api/1/partner_accounts',
68
+ Server::DEFAULT)
69
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
70
+ .body_param(new_parameter(body)
71
+ .is_required(true))
72
+ .header_param(new_parameter('application/json', key: 'accept'))
73
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
74
+ .auth(Single.new('bearerAuth')))
75
+ .response(new_response_handler
76
+ .deserializer(APIHelper.method(:custom_type_deserializer))
77
+ .deserialize_into(RegisterPartnerResponse.method(:from_hash))
78
+ .is_api_response(true))
79
+ .execute
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,73 @@
1
+ # tesla_fleet_management_api
2
+ #
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module TeslaFleetManagementApi
7
+ # UserController
8
+ class UserController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @return [ApiResponse] Complete http response with raw body and status code.
11
+ def get_custom_feature_flags_for_a_user
12
+ @api_call
13
+ .request(new_request_builder(HttpMethodEnum::GET,
14
+ '/api/1/users/feature_config',
15
+ Server::DEFAULT)
16
+ .header_param(new_parameter('application/json', key: 'accept'))
17
+ .auth(Single.new('bearerAuth')))
18
+ .response(new_response_handler
19
+ .deserializer(APIHelper.method(:custom_type_deserializer))
20
+ .deserialize_into(BackupResponse.method(:from_hash))
21
+ .is_api_response(true))
22
+ .execute
23
+ end
24
+
25
+ # TODO: type endpoint description here
26
+ # @return [ApiResponse] Complete http response with raw body and status code.
27
+ def get_summary_of_a_user_s_account
28
+ @api_call
29
+ .request(new_request_builder(HttpMethodEnum::GET,
30
+ '/api/1/users/me',
31
+ Server::DEFAULT)
32
+ .header_param(new_parameter('application/json', key: 'accept'))
33
+ .auth(Single.new('bearerAuth')))
34
+ .response(new_response_handler
35
+ .deserializer(APIHelper.method(:custom_type_deserializer))
36
+ .deserialize_into(MeResponse.method(:from_hash))
37
+ .is_api_response(true))
38
+ .execute
39
+ end
40
+
41
+ # TODO: type endpoint description here
42
+ # @return [ApiResponse] Complete http response with raw body and status code.
43
+ def get_active_orders_for_a_user
44
+ @api_call
45
+ .request(new_request_builder(HttpMethodEnum::GET,
46
+ '/api/1/users/orders',
47
+ Server::DEFAULT)
48
+ .header_param(new_parameter('application/json', key: 'accept'))
49
+ .auth(Single.new('bearerAuth')))
50
+ .response(new_response_handler
51
+ .deserializer(APIHelper.method(:custom_type_deserializer))
52
+ .deserialize_into(OrdersResponse.method(:from_hash))
53
+ .is_api_response(true))
54
+ .execute
55
+ end
56
+
57
+ # TODO: type endpoint description here
58
+ # @return [ApiResponse] Complete http response with raw body and status code.
59
+ def get_user_s_region_and_fleet_api_base_url
60
+ @api_call
61
+ .request(new_request_builder(HttpMethodEnum::GET,
62
+ '/api/1/users/region',
63
+ Server::DEFAULT)
64
+ .header_param(new_parameter('application/json', key: 'accept'))
65
+ .auth(Single.new('bearerAuth')))
66
+ .response(new_response_handler
67
+ .deserializer(APIHelper.method(:custom_type_deserializer))
68
+ .deserialize_into(RegionResponse.method(:from_hash))
69
+ .is_api_response(true))
70
+ .execute
71
+ end
72
+ end
73
+ end