ev-recharge-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 (105) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +92 -0
  4. data/lib/shell_ev/api_helper.rb +10 -0
  5. data/lib/shell_ev/client.rb +77 -0
  6. data/lib/shell_ev/configuration.rb +110 -0
  7. data/lib/shell_ev/controllers/base_controller.rb +66 -0
  8. data/lib/shell_ev/controllers/charging_controller.rb +216 -0
  9. data/lib/shell_ev/controllers/locations_controller.rb +352 -0
  10. data/lib/shell_ev/controllers/o_auth_authorization_controller.rb +42 -0
  11. data/lib/shell_ev/exceptions/api_exception.rb +10 -0
  12. data/lib/shell_ev/exceptions/bad_request_exception.rb +37 -0
  13. data/lib/shell_ev/exceptions/http401_error_response_exception.rb +52 -0
  14. data/lib/shell_ev/exceptions/m400_error_response_error1_exception.rb +52 -0
  15. data/lib/shell_ev/exceptions/m401_error_response_error1_exception.rb +52 -0
  16. data/lib/shell_ev/exceptions/m404_error_response_error1_exception.rb +53 -0
  17. data/lib/shell_ev/exceptions/m405_error_response_error1_exception.rb +52 -0
  18. data/lib/shell_ev/exceptions/m429_error_response_error1_exception.rb +52 -0
  19. data/lib/shell_ev/exceptions/m500_error_response_error1_exception.rb +52 -0
  20. data/lib/shell_ev/exceptions/m503_error_response_error1_exception.rb +52 -0
  21. data/lib/shell_ev/exceptions/not_found_exception.rb +37 -0
  22. data/lib/shell_ev/exceptions/o_auth_provider_exception.rb +48 -0
  23. data/lib/shell_ev/exceptions/unauthorized_exception.rb +37 -0
  24. data/lib/shell_ev/http/auth/o_auth2.rb +90 -0
  25. data/lib/shell_ev/http/http_call_back.rb +10 -0
  26. data/lib/shell_ev/http/http_method_enum.rb +10 -0
  27. data/lib/shell_ev/http/http_request.rb +10 -0
  28. data/lib/shell_ev/http/http_response.rb +10 -0
  29. data/lib/shell_ev/models/accessibility.rb +60 -0
  30. data/lib/shell_ev/models/accessibility_status_enum.rb +29 -0
  31. data/lib/shell_ev/models/active_response200_json.rb +78 -0
  32. data/lib/shell_ev/models/active_response200_json_status_enum.rb +23 -0
  33. data/lib/shell_ev/models/address.rb +81 -0
  34. data/lib/shell_ev/models/base_model.rb +62 -0
  35. data/lib/shell_ev/models/chargesession_start_body.rb +59 -0
  36. data/lib/shell_ev/models/connector_vo.rb +134 -0
  37. data/lib/shell_ev/models/connector_vo_connector_type_enum.rb +71 -0
  38. data/lib/shell_ev/models/connector_vo_updated_by_enum.rb +29 -0
  39. data/lib/shell_ev/models/coordinates.rb +70 -0
  40. data/lib/shell_ev/models/data_active.rb +153 -0
  41. data/lib/shell_ev/models/data_active_session_code_enum.rb +44 -0
  42. data/lib/shell_ev/models/data_active_session_state_enum.rb +35 -0
  43. data/lib/shell_ev/models/data_retrieve.rb +152 -0
  44. data/lib/shell_ev/models/data_retrieve_session_code_enum.rb +44 -0
  45. data/lib/shell_ev/models/data_retrieve_session_state_enum.rb +35 -0
  46. data/lib/shell_ev/models/electrical_properties.rb +81 -0
  47. data/lib/shell_ev/models/electrical_properties_power_type_enum.rb +26 -0
  48. data/lib/shell_ev/models/env_enum.rb +23 -0
  49. data/lib/shell_ev/models/evse_vo.rb +143 -0
  50. data/lib/shell_ev/models/evse_vo_authorization_methods_enum.rb +26 -0
  51. data/lib/shell_ev/models/evse_vo_status_enum.rb +29 -0
  52. data/lib/shell_ev/models/get_charge_session_retrieve_response200_json.rb +78 -0
  53. data/lib/shell_ev/models/get_charge_session_retrieve_response200_json_status_enum.rb +23 -0
  54. data/lib/shell_ev/models/get_locations_list_authorization_methods_enum.rb +26 -0
  55. data/lib/shell_ev/models/get_locations_list_connector_types_enum.rb +71 -0
  56. data/lib/shell_ev/models/get_locations_list_evse_status_enum.rb +29 -0
  57. data/lib/shell_ev/models/get_markers_list_authorization_methods_enum.rb +26 -0
  58. data/lib/shell_ev/models/get_markers_list_connector_types_enum.rb +71 -0
  59. data/lib/shell_ev/models/get_markers_list_evse_status_enum.rb +29 -0
  60. data/lib/shell_ev/models/get_nearby_locations_authorization_methods_enum.rb +26 -0
  61. data/lib/shell_ev/models/get_nearby_locations_connector_types_enum.rb +71 -0
  62. data/lib/shell_ev/models/get_nearby_locations_evse_status_enum.rb +29 -0
  63. data/lib/shell_ev/models/inline_response202.rb +76 -0
  64. data/lib/shell_ev/models/inline_response2021.rb +58 -0
  65. data/lib/shell_ev/models/inline_response2021_status_enum.rb +23 -0
  66. data/lib/shell_ev/models/inline_response202_data.rb +48 -0
  67. data/lib/shell_ev/models/inline_response202_status_enum.rb +23 -0
  68. data/lib/shell_ev/models/location_respone_object.rb +172 -0
  69. data/lib/shell_ev/models/m400_error_response.rb +78 -0
  70. data/lib/shell_ev/models/m400_error_response_error.rb +80 -0
  71. data/lib/shell_ev/models/m401_error_response.rb +78 -0
  72. data/lib/shell_ev/models/m401_error_response_error.rb +80 -0
  73. data/lib/shell_ev/models/m404_error_response.rb +79 -0
  74. data/lib/shell_ev/models/m404_error_response_error.rb +80 -0
  75. data/lib/shell_ev/models/m405_error_response.rb +78 -0
  76. data/lib/shell_ev/models/m405_error_response_error.rb +80 -0
  77. data/lib/shell_ev/models/m429_error_response.rb +78 -0
  78. data/lib/shell_ev/models/m429_error_response_error.rb +80 -0
  79. data/lib/shell_ev/models/m500_error_response.rb +78 -0
  80. data/lib/shell_ev/models/m500_error_response_error.rb +80 -0
  81. data/lib/shell_ev/models/m503_error_response.rb +78 -0
  82. data/lib/shell_ev/models/m503_error_response_error.rb +80 -0
  83. data/lib/shell_ev/models/multi_location_marker.rb +126 -0
  84. data/lib/shell_ev/models/o_auth_provider_error_enum.rb +45 -0
  85. data/lib/shell_ev/models/o_auth_token.rb +100 -0
  86. data/lib/shell_ev/models/opening_hours_object.rb +70 -0
  87. data/lib/shell_ev/models/opening_hours_object_week_day_enum.rb +38 -0
  88. data/lib/shell_ev/models/response_base_status_enum.rb +26 -0
  89. data/lib/shell_ev/models/response_error401_all_of1.rb +57 -0
  90. data/lib/shell_ev/models/response_error401_all_of1_errors_items.rb +80 -0
  91. data/lib/shell_ev/models/single_location_marker.rb +157 -0
  92. data/lib/shell_ev/models/single_location_marker_authorization_methods_items_enum.rb +26 -0
  93. data/lib/shell_ev/models/single_location_marker_status_enum.rb +30 -0
  94. data/lib/shell_ev/models/stop_charge_session_request_body_json.rb +48 -0
  95. data/lib/shell_ev/models/success_response.rb +58 -0
  96. data/lib/shell_ev/models/tariff_vo.rb +111 -0
  97. data/lib/shell_ev/models/tariff_vo_updated_by_enum.rb +29 -0
  98. data/lib/shell_ev/utilities/date_time_helper.rb +11 -0
  99. data/lib/shell_ev/utilities/file_wrapper.rb +16 -0
  100. data/lib/shell_ev/utilities/union_type_lookup.rb +38 -0
  101. data/lib/shell_ev.rb +125 -0
  102. data/test/controllers/controller_test_base.rb +34 -0
  103. data/test/controllers/test_charging_controller.rb +78 -0
  104. data/test/http_response_catcher.rb +19 -0
  105. metadata +224 -0
@@ -0,0 +1,23 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Indicates overall status of the request
8
+ class GetChargeSessionRetrieveResponse200JsonStatusEnum
9
+ GET_CHARGE_SESSION_RETRIEVE_RESPONSE200_JSON_STATUS_ENUM = [
10
+ # TODO: Write general description for SUCCESS
11
+ SUCCESS = 'SUCCESS'.freeze,
12
+
13
+ # TODO: Write general description for FAILED
14
+ FAILED = 'FAILED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ GET_CHARGE_SESSION_RETRIEVE_RESPONSE200_JSON_STATUS_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetLocationsListAuthorizationMethods.
8
+ class GetLocationsListAuthorizationMethodsEnum
9
+ GET_LOCATIONS_LIST_AUTHORIZATION_METHODS_ENUM = [
10
+ # TODO: Write general description for NEWMOTIONAPP
11
+ NEWMOTIONAPP = 'NewMotionApp'.freeze,
12
+
13
+ # TODO: Write general description for RFIDTOKEN
14
+ RFIDTOKEN = 'RFIDToken'.freeze,
15
+
16
+ # TODO: Write general description for PNC
17
+ PNC = 'PnC'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ GET_LOCATIONS_LIST_AUTHORIZATION_METHODS_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,71 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetLocationsListConnectorTypes.
8
+ class GetLocationsListConnectorTypesEnum
9
+ GET_LOCATIONS_LIST_CONNECTOR_TYPES_ENUM = [
10
+ # TODO: Write general description for AVCON
11
+ AVCON = 'Avcon'.freeze,
12
+
13
+ # TODO: Write general description for DOMESTIC
14
+ DOMESTIC = 'Domestic'.freeze,
15
+
16
+ # TODO: Write general description for INDUSTRIAL2PDC
17
+ INDUSTRIAL2PDC = 'Industrial2PDc'.freeze,
18
+
19
+ # TODO: Write general description for INDUSTRIALPNEAC
20
+ INDUSTRIALPNEAC = 'IndustrialPneAc'.freeze,
21
+
22
+ # TODO: Write general description for INDUSTRIAL3PEAC
23
+ INDUSTRIAL3PEAC = 'Industrial3PEAc'.freeze,
24
+
25
+ # TODO: Write general description for INDUSTRIAL3PENAC
26
+ INDUSTRIAL3PENAC = 'Industrial3PENAc'.freeze,
27
+
28
+ # TODO: Write general description for TYPE1
29
+ TYPE1 = 'Type1'.freeze,
30
+
31
+ # TODO: Write general description for TYPE1COMBO
32
+ TYPE1COMBO = 'Type1Combo'.freeze,
33
+
34
+ # TODO: Write general description for TYPE2
35
+ TYPE2 = 'Type2'.freeze,
36
+
37
+ # TODO: Write general description for TYPE2COMBO
38
+ TYPE2COMBO = 'Type2Combo'.freeze,
39
+
40
+ # TODO: Write general description for TYPE3
41
+ TYPE3 = 'Type3'.freeze,
42
+
43
+ # TODO: Write general description for LPI
44
+ LPI = 'LPI'.freeze,
45
+
46
+ # TODO: Write general description for NEMA520
47
+ NEMA520 = 'Nema520'.freeze,
48
+
49
+ # TODO: Write general description for SAEJ1772
50
+ SAEJ1772 = 'SAEJ1772'.freeze,
51
+
52
+ # TODO: Write general description for SPI
53
+ SPI = 'SPI'.freeze,
54
+
55
+ # TODO: Write general description for TEPCOCHADEMO
56
+ TEPCOCHADEMO = 'TepcoCHAdeMO'.freeze,
57
+
58
+ # TODO: Write general description for TESLA
59
+ TESLA = 'Tesla'.freeze,
60
+
61
+ # TODO: Write general description for UNSPECIFIED
62
+ UNSPECIFIED = 'Unspecified'.freeze
63
+ ].freeze
64
+
65
+ def self.validate(value)
66
+ return false if value.nil?
67
+
68
+ GET_LOCATIONS_LIST_CONNECTOR_TYPES_ENUM.include?(value)
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,29 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetLocationsListEvseStatus.
8
+ class GetLocationsListEvseStatusEnum
9
+ GET_LOCATIONS_LIST_EVSE_STATUS_ENUM = [
10
+ # TODO: Write general description for AVAILABLE
11
+ AVAILABLE = 'Available'.freeze,
12
+
13
+ # TODO: Write general description for OCCUPIED
14
+ OCCUPIED = 'Occupied'.freeze,
15
+
16
+ # TODO: Write general description for UNAVAILABLE
17
+ UNAVAILABLE = 'Unavailable'.freeze,
18
+
19
+ # TODO: Write general description for UNKNOWN
20
+ UNKNOWN = 'Unknown'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ GET_LOCATIONS_LIST_EVSE_STATUS_ENUM.include?(value)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,26 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetMarkersListAuthorizationMethods.
8
+ class GetMarkersListAuthorizationMethodsEnum
9
+ GET_MARKERS_LIST_AUTHORIZATION_METHODS_ENUM = [
10
+ # TODO: Write general description for NEWMOTIONAPP
11
+ NEWMOTIONAPP = 'NewMotionApp'.freeze,
12
+
13
+ # TODO: Write general description for RFIDTOKEN
14
+ RFIDTOKEN = 'RFIDToken'.freeze,
15
+
16
+ # TODO: Write general description for PNC
17
+ PNC = 'PnC'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ GET_MARKERS_LIST_AUTHORIZATION_METHODS_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,71 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetMarkersListConnectorTypes.
8
+ class GetMarkersListConnectorTypesEnum
9
+ GET_MARKERS_LIST_CONNECTOR_TYPES_ENUM = [
10
+ # TODO: Write general description for AVCON
11
+ AVCON = 'Avcon'.freeze,
12
+
13
+ # TODO: Write general description for DOMESTIC
14
+ DOMESTIC = 'Domestic'.freeze,
15
+
16
+ # TODO: Write general description for INDUSTRIAL2PDC
17
+ INDUSTRIAL2PDC = 'Industrial2PDc'.freeze,
18
+
19
+ # TODO: Write general description for INDUSTRIALPNEAC
20
+ INDUSTRIALPNEAC = 'IndustrialPneAc'.freeze,
21
+
22
+ # TODO: Write general description for INDUSTRIAL3PEAC
23
+ INDUSTRIAL3PEAC = 'Industrial3PEAc'.freeze,
24
+
25
+ # TODO: Write general description for INDUSTRIAL3PENAC
26
+ INDUSTRIAL3PENAC = 'Industrial3PENAc'.freeze,
27
+
28
+ # TODO: Write general description for TYPE1
29
+ TYPE1 = 'Type1'.freeze,
30
+
31
+ # TODO: Write general description for TYPE1COMBO
32
+ TYPE1COMBO = 'Type1Combo'.freeze,
33
+
34
+ # TODO: Write general description for TYPE2
35
+ TYPE2 = 'Type2'.freeze,
36
+
37
+ # TODO: Write general description for TYPE2COMBO
38
+ TYPE2COMBO = 'Type2Combo'.freeze,
39
+
40
+ # TODO: Write general description for TYPE3
41
+ TYPE3 = 'Type3'.freeze,
42
+
43
+ # TODO: Write general description for LPI
44
+ LPI = 'LPI'.freeze,
45
+
46
+ # TODO: Write general description for NEMA520
47
+ NEMA520 = 'Nema520'.freeze,
48
+
49
+ # TODO: Write general description for SAEJ1772
50
+ SAEJ1772 = 'SAEJ1772'.freeze,
51
+
52
+ # TODO: Write general description for SPI
53
+ SPI = 'SPI'.freeze,
54
+
55
+ # TODO: Write general description for TEPCOCHADEMO
56
+ TEPCOCHADEMO = 'TepcoCHAdeMO'.freeze,
57
+
58
+ # TODO: Write general description for TESLA
59
+ TESLA = 'Tesla'.freeze,
60
+
61
+ # TODO: Write general description for UNSPECIFIED
62
+ UNSPECIFIED = 'Unspecified'.freeze
63
+ ].freeze
64
+
65
+ def self.validate(value)
66
+ return false if value.nil?
67
+
68
+ GET_MARKERS_LIST_CONNECTOR_TYPES_ENUM.include?(value)
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,29 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetMarkersListEvseStatus.
8
+ class GetMarkersListEvseStatusEnum
9
+ GET_MARKERS_LIST_EVSE_STATUS_ENUM = [
10
+ # TODO: Write general description for AVAILABLE
11
+ AVAILABLE = 'Available'.freeze,
12
+
13
+ # TODO: Write general description for OCCUPIED
14
+ OCCUPIED = 'Occupied'.freeze,
15
+
16
+ # TODO: Write general description for UNAVAILABLE
17
+ UNAVAILABLE = 'Unavailable'.freeze,
18
+
19
+ # TODO: Write general description for UNKNOWN
20
+ UNKNOWN = 'Unknown'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ GET_MARKERS_LIST_EVSE_STATUS_ENUM.include?(value)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,26 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetNearbyLocationsAuthorizationMethods.
8
+ class GetNearbyLocationsAuthorizationMethodsEnum
9
+ GET_NEARBY_LOCATIONS_AUTHORIZATION_METHODS_ENUM = [
10
+ # TODO: Write general description for NEWMOTIONAPP
11
+ NEWMOTIONAPP = 'NewMotionApp'.freeze,
12
+
13
+ # TODO: Write general description for RFIDTOKEN
14
+ RFIDTOKEN = 'RFIDToken'.freeze,
15
+
16
+ # TODO: Write general description for PNC
17
+ PNC = 'PnC'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ GET_NEARBY_LOCATIONS_AUTHORIZATION_METHODS_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,71 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetNearbyLocationsConnectorTypes.
8
+ class GetNearbyLocationsConnectorTypesEnum
9
+ GET_NEARBY_LOCATIONS_CONNECTOR_TYPES_ENUM = [
10
+ # TODO: Write general description for AVCON
11
+ AVCON = 'Avcon'.freeze,
12
+
13
+ # TODO: Write general description for DOMESTIC
14
+ DOMESTIC = 'Domestic'.freeze,
15
+
16
+ # TODO: Write general description for INDUSTRIAL2PDC
17
+ INDUSTRIAL2PDC = 'Industrial2PDc'.freeze,
18
+
19
+ # TODO: Write general description for INDUSTRIALPNEAC
20
+ INDUSTRIALPNEAC = 'IndustrialPneAc'.freeze,
21
+
22
+ # TODO: Write general description for INDUSTRIAL3PEAC
23
+ INDUSTRIAL3PEAC = 'Industrial3PEAc'.freeze,
24
+
25
+ # TODO: Write general description for INDUSTRIAL3PENAC
26
+ INDUSTRIAL3PENAC = 'Industrial3PENAc'.freeze,
27
+
28
+ # TODO: Write general description for TYPE1
29
+ TYPE1 = 'Type1'.freeze,
30
+
31
+ # TODO: Write general description for TYPE1COMBO
32
+ TYPE1COMBO = 'Type1Combo'.freeze,
33
+
34
+ # TODO: Write general description for TYPE2
35
+ TYPE2 = 'Type2'.freeze,
36
+
37
+ # TODO: Write general description for TYPE2COMBO
38
+ TYPE2COMBO = 'Type2Combo'.freeze,
39
+
40
+ # TODO: Write general description for TYPE3
41
+ TYPE3 = 'Type3'.freeze,
42
+
43
+ # TODO: Write general description for LPI
44
+ LPI = 'LPI'.freeze,
45
+
46
+ # TODO: Write general description for NEMA520
47
+ NEMA520 = 'Nema520'.freeze,
48
+
49
+ # TODO: Write general description for SAEJ1772
50
+ SAEJ1772 = 'SAEJ1772'.freeze,
51
+
52
+ # TODO: Write general description for SPI
53
+ SPI = 'SPI'.freeze,
54
+
55
+ # TODO: Write general description for TEPCOCHADEMO
56
+ TEPCOCHADEMO = 'TepcoCHAdeMO'.freeze,
57
+
58
+ # TODO: Write general description for TESLA
59
+ TESLA = 'Tesla'.freeze,
60
+
61
+ # TODO: Write general description for UNSPECIFIED
62
+ UNSPECIFIED = 'Unspecified'.freeze
63
+ ].freeze
64
+
65
+ def self.validate(value)
66
+ return false if value.nil?
67
+
68
+ GET_NEARBY_LOCATIONS_CONNECTOR_TYPES_ENUM.include?(value)
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,29 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # GetNearbyLocationsEvseStatus.
8
+ class GetNearbyLocationsEvseStatusEnum
9
+ GET_NEARBY_LOCATIONS_EVSE_STATUS_ENUM = [
10
+ # TODO: Write general description for AVAILABLE
11
+ AVAILABLE = 'Available'.freeze,
12
+
13
+ # TODO: Write general description for OCCUPIED
14
+ OCCUPIED = 'Occupied'.freeze,
15
+
16
+ # TODO: Write general description for UNAVAILABLE
17
+ UNAVAILABLE = 'Unavailable'.freeze,
18
+
19
+ # TODO: Write general description for UNKNOWN
20
+ UNKNOWN = 'Unknown'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ GET_NEARBY_LOCATIONS_EVSE_STATUS_ENUM.include?(value)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,76 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # InlineResponse202 Model.
8
+ class InlineResponse202 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
13
+ # responses. This will be played back in the response from the request.
14
+ # @return [UUID | String]
15
+ attr_accessor :request_id
16
+
17
+ # Indicates overall status of the request
18
+ # @return [InlineResponse202StatusEnum]
19
+ attr_accessor :status
20
+
21
+ # Indicates overall status of the request
22
+ # @return [Array[InlineResponse202Data]]
23
+ attr_accessor :data
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['request_id'] = 'RequestId'
29
+ @_hash['status'] = 'Status'
30
+ @_hash['data'] = 'Data'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ []
37
+ end
38
+
39
+ # An array for nullable fields
40
+ def self.nullables
41
+ []
42
+ end
43
+
44
+ def initialize(request_id = nil,
45
+ status = nil,
46
+ data = nil)
47
+ @request_id = request_id
48
+ @status = status
49
+ @data = data
50
+ end
51
+
52
+ # Creates an instance of the object from a hash.
53
+ def self.from_hash(hash)
54
+ return nil unless hash
55
+
56
+ # Extract variables from the hash.
57
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : nil
58
+ status = hash.key?('Status') ? hash['Status'] : nil
59
+ # Parameter is an array, so we need to iterate through it
60
+ data = nil
61
+ unless hash['Data'].nil?
62
+ data = []
63
+ hash['Data'].each do |structure|
64
+ data << (InlineResponse202Data.from_hash(structure) if structure)
65
+ end
66
+ end
67
+
68
+ data = nil unless hash.key?('Data')
69
+
70
+ # Create object from extracted values.
71
+ InlineResponse202.new(request_id,
72
+ status,
73
+ data)
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,58 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # InlineResponse2021 Model.
8
+ class InlineResponse2021 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
13
+ # responses. This will be played back in the response from the request.
14
+ # @return [UUID | String]
15
+ attr_accessor :request_id
16
+
17
+ # Indicates overall status of the request
18
+ # @return [InlineResponse2021StatusEnum]
19
+ attr_accessor :status
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['request_id'] = 'RequestId'
25
+ @_hash['status'] = 'Status'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ []
32
+ end
33
+
34
+ # An array for nullable fields
35
+ def self.nullables
36
+ []
37
+ end
38
+
39
+ def initialize(request_id = nil,
40
+ status = nil)
41
+ @request_id = request_id
42
+ @status = status
43
+ end
44
+
45
+ # Creates an instance of the object from a hash.
46
+ def self.from_hash(hash)
47
+ return nil unless hash
48
+
49
+ # Extract variables from the hash.
50
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : nil
51
+ status = hash.key?('Status') ? hash['Status'] : nil
52
+
53
+ # Create object from extracted values.
54
+ InlineResponse2021.new(request_id,
55
+ status)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,23 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Indicates overall status of the request
8
+ class InlineResponse2021StatusEnum
9
+ INLINE_RESPONSE2021_STATUS_ENUM = [
10
+ # TODO: Write general description for SUCCESS
11
+ SUCCESS = 'SUCCESS'.freeze,
12
+
13
+ # TODO: Write general description for FAILED
14
+ FAILED = 'FAILED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ INLINE_RESPONSE2021_STATUS_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,48 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # InlineResponse202Data Model.
8
+ class InlineResponse202Data < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Session Id for tracking.
13
+ # @return [String]
14
+ attr_accessor :session_id
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['session_id'] = 'SessionId'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ []
26
+ end
27
+
28
+ # An array for nullable fields
29
+ def self.nullables
30
+ []
31
+ end
32
+
33
+ def initialize(session_id = nil)
34
+ @session_id = session_id
35
+ end
36
+
37
+ # Creates an instance of the object from a hash.
38
+ def self.from_hash(hash)
39
+ return nil unless hash
40
+
41
+ # Extract variables from the hash.
42
+ session_id = hash.key?('SessionId') ? hash['SessionId'] : nil
43
+
44
+ # Create object from extracted values.
45
+ InlineResponse202Data.new(session_id)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,23 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Indicates overall status of the request
8
+ class InlineResponse202StatusEnum
9
+ INLINE_RESPONSE202_STATUS_ENUM = [
10
+ # TODO: Write general description for SUCCESS
11
+ SUCCESS = 'SUCCESS'.freeze,
12
+
13
+ # TODO: Write general description for FAILED
14
+ FAILED = 'FAILED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ INLINE_RESPONSE202_STATUS_ENUM.include?(value)
21
+ end
22
+ end
23
+ end