ev-recharge-sdk 1.3.0 → 2.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +91 -25
  4. data/bin/console +15 -0
  5. data/lib/shell_ev/api_helper.rb +2 -2
  6. data/lib/shell_ev/client.rb +15 -4
  7. data/lib/shell_ev/configuration.rb +88 -15
  8. data/lib/shell_ev/controllers/base_controller.rb +3 -9
  9. data/lib/shell_ev/controllers/charging_controller.rb +19 -18
  10. data/lib/shell_ev/controllers/locations_controller.rb +48 -50
  11. data/lib/shell_ev/controllers/o_auth_authorization_controller.rb +5 -5
  12. data/lib/shell_ev/exceptions/api_exception.rb +13 -2
  13. data/lib/shell_ev/exceptions/bad_request_exception.rb +20 -5
  14. data/lib/shell_ev/exceptions/internal_server_error_exception.rb +21 -5
  15. data/lib/shell_ev/exceptions/not_found_exception.rb +20 -5
  16. data/lib/shell_ev/exceptions/o_auth_provider_exception.rb +21 -5
  17. data/lib/shell_ev/exceptions/serviceunavailable_exception.rb +20 -5
  18. data/lib/shell_ev/exceptions/too_many_requests_exception.rb +20 -5
  19. data/lib/shell_ev/exceptions/unauthorized_exception.rb +20 -5
  20. data/lib/shell_ev/exceptions/v2_charge_session_retrieve404_error_exception.rb +67 -0
  21. data/lib/shell_ev/exceptions/v2_charge_session_start404_error_exception.rb +67 -0
  22. data/lib/shell_ev/exceptions/v2_charge_session_stop404_error_exception.rb +67 -0
  23. data/lib/shell_ev/http/auth/o_auth2.rb +18 -3
  24. data/lib/shell_ev/http/http_call_back.rb +2 -2
  25. data/lib/shell_ev/http/http_method_enum.rb +2 -2
  26. data/lib/shell_ev/http/http_request.rb +2 -2
  27. data/lib/shell_ev/http/http_response.rb +2 -2
  28. data/lib/shell_ev/http/proxy_settings.rb +22 -0
  29. data/lib/shell_ev/models/accessibility_status_enum.rb +17 -2
  30. data/lib/shell_ev/models/{accessibility.rb → accessibility_v2.rb} +17 -14
  31. data/lib/shell_ev/models/active_response200_json.rb +15 -2
  32. data/lib/shell_ev/models/active_response200_json_status_enum.rb +15 -2
  33. data/lib/shell_ev/models/address.rb +16 -2
  34. data/lib/shell_ev/models/bad_request_err_msg.rb +16 -2
  35. data/lib/shell_ev/models/base_model.rb +2 -2
  36. data/lib/shell_ev/models/charge_error.rb +14 -2
  37. data/lib/shell_ev/models/charge_retrieve_state.rb +14 -2
  38. data/lib/shell_ev/models/chargesession_start_body.rb +15 -2
  39. data/lib/shell_ev/models/connector_types_enum.rb +100 -0
  40. data/lib/shell_ev/models/connector_v2.rb +95 -0
  41. data/lib/shell_ev/models/connector_vo_connector_type_enum.rb +31 -2
  42. data/lib/shell_ev/models/connector_vo_updated_by_enum.rb +17 -2
  43. data/lib/shell_ev/models/coordinates.rb +14 -2
  44. data/lib/shell_ev/models/coordinates1.rb +81 -0
  45. data/lib/shell_ev/models/data_active.rb +19 -2
  46. data/lib/shell_ev/models/data_retrieve.rb +19 -2
  47. data/lib/shell_ev/models/day_of_week_enum.rb +56 -0
  48. data/lib/shell_ev/models/electrical_properties_power_type_enum.rb +16 -2
  49. data/lib/shell_ev/models/{electrical_properties.rb → electrical_properties_v2.rb} +22 -8
  50. data/lib/shell_ev/models/evse_status_enum.rb +44 -0
  51. data/lib/shell_ev/models/{evse_vo.rb → evse_v2.rb} +45 -38
  52. data/lib/shell_ev/models/evse_vo_authorization_methods_enum.rb +16 -2
  53. data/lib/shell_ev/models/evse_vo_status_enum.rb +17 -2
  54. data/lib/shell_ev/models/get_charge_session_retrieve_response200_json.rb +15 -2
  55. data/lib/shell_ev/models/get_charge_session_retrieve_response200_json_status_enum.rb +15 -2
  56. data/lib/shell_ev/models/get_ev_locations_authorization_methods_enum.rb +16 -2
  57. data/lib/shell_ev/models/get_ev_locations_connector_types_enum.rb +31 -2
  58. data/lib/shell_ev/models/get_ev_locations_evse_status_enum.rb +17 -2
  59. data/lib/shell_ev/models/inline_response202.rb +17 -6
  60. data/lib/shell_ev/models/inline_response2021.rb +14 -2
  61. data/lib/shell_ev/models/inline_response2021_status_enum.rb +15 -2
  62. data/lib/shell_ev/models/inline_response202_data.rb +14 -2
  63. data/lib/shell_ev/models/inline_response202_status_enum.rb +15 -2
  64. data/lib/shell_ev/models/internal_error_object.rb +15 -2
  65. data/lib/shell_ev/models/{location_respone_object.rb → location_respone_object_v2.rb} +61 -30
  66. data/lib/shell_ev/models/locations_markers_authorization_methods_enum.rb +16 -2
  67. data/lib/shell_ev/models/locations_markers_connector_types_enum.rb +31 -2
  68. data/lib/shell_ev/models/locations_markers_evse_status_enum.rb +17 -2
  69. data/lib/shell_ev/models/multi_location_marker.rb +22 -5
  70. data/lib/shell_ev/models/multi_location_marker_v2.rb +126 -0
  71. data/lib/shell_ev/models/nearby_locations_authorization_methods_enum.rb +16 -2
  72. data/lib/shell_ev/models/nearby_locations_connector_types_enum.rb +31 -2
  73. data/lib/shell_ev/models/nearby_locations_evse_status_enum.rb +17 -2
  74. data/lib/shell_ev/models/not_found_err_msg.rb +16 -2
  75. data/lib/shell_ev/models/o_auth_provider_error_enum.rb +19 -2
  76. data/lib/shell_ev/models/o_auth_token.rb +2 -2
  77. data/lib/shell_ev/models/opening_hours_object.rb +17 -3
  78. data/lib/shell_ev/models/opening_hours_object_week_day_enum.rb +20 -2
  79. data/lib/shell_ev/models/power_range.rb +68 -0
  80. data/lib/shell_ev/models/price_component.rb +86 -0
  81. data/lib/shell_ev/models/ratelimit_err_msg.rb +16 -2
  82. data/lib/shell_ev/models/{response.rb → response_v2.rb} +22 -9
  83. data/lib/shell_ev/models/restrictions.rb +183 -0
  84. data/lib/shell_ev/models/search_by_id_connector.rb +115 -0
  85. data/lib/shell_ev/models/search_by_id_evse.rb +145 -0
  86. data/lib/shell_ev/models/search_by_id_location_respone.rb +196 -0
  87. data/lib/shell_ev/models/search_by_id_response.rb +91 -0
  88. data/lib/shell_ev/models/serviceunavailable_err_msg.rb +16 -2
  89. data/lib/shell_ev/models/single_location_marker.rb +27 -6
  90. data/lib/shell_ev/models/single_location_marker_authorization_methods_items_enum.rb +16 -2
  91. data/lib/shell_ev/models/single_location_marker_response.rb +15 -2
  92. data/lib/shell_ev/models/single_location_marker_response_v2.rb +94 -0
  93. data/lib/shell_ev/models/single_location_marker_status_enum.rb +17 -2
  94. data/lib/shell_ev/models/single_location_marker_v2.rb +157 -0
  95. data/lib/shell_ev/models/tariff.rb +20 -3
  96. data/lib/shell_ev/models/tariff_alt_text.rb +68 -0
  97. data/lib/shell_ev/models/tariff_element.rb +80 -0
  98. data/lib/shell_ev/models/tariff_type_enum.rb +44 -0
  99. data/lib/shell_ev/models/tariff_v2.rb +226 -0
  100. data/lib/shell_ev/models/tariff_vo_updated_by_enum.rb +17 -2
  101. data/lib/shell_ev/models/type_enum.rb +44 -0
  102. data/lib/shell_ev/models/unauthorized_err_msg.rb +16 -2
  103. data/lib/shell_ev/utilities/date_time_helper.rb +2 -2
  104. data/lib/shell_ev/utilities/file_wrapper.rb +16 -4
  105. data/lib/shell_ev/utilities/union_type_lookup.rb +19 -2
  106. data/lib/shell_ev.rb +34 -10
  107. data/test/controllers/controller_test_base.rb +5 -10
  108. data/test/controllers/test_charging_controller.rb +7 -11
  109. data/test/controllers/test_locations_controller.rb +8 -11
  110. data/test/http_response_catcher.rb +3 -3
  111. metadata +38 -15
  112. data/lib/shell_ev/models/connector_vo.rb +0 -131
  113. data/lib/shell_ev/models/tariff_vo.rb +0 -107
@@ -1,131 +0,0 @@
1
- # shell_ev
2
- #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
5
-
6
- module ShellEv
7
- # An EVSE can have one or many Connectors. Each Connector will normally have a
8
- # different socket / cable and only one can be used to charge at a time.
9
- class ConnectorVO < BaseModel
10
- SKIP = Object.new
11
- private_constant :SKIP
12
-
13
- # Internal identifier used to refer to this Connector
14
- # @return [Integer]
15
- attr_accessor :uid
16
-
17
- # Identifier of the Evse as given by the Operator, unique for the containing
18
- # EVSE'
19
- # @return [String]
20
- attr_accessor :external_id
21
-
22
- # Identifier of the Evse as given by the Operator, unique for the containing
23
- # EVSE'
24
- # @return [ConnectorVOConnectorTypeEnum]
25
- attr_accessor :connector_type
26
-
27
- # Electrical Properties of the Connector
28
- # @return [ElectricalProperties]
29
- attr_accessor :electrical_properties
30
-
31
- # Indicates whether Connector has a fixed cable attached. False by default
32
- # (not sent in this case)
33
- # @return [TrueClass | FalseClass]
34
- attr_accessor :fixed_cable
35
-
36
- # Indicates whether Connector has a fixed cable attached. False by default
37
- # (not sent in this case)
38
- # @return [Tariff]
39
- attr_accessor :tariff
40
-
41
- # ISO8601-compliant UTC datetime of the last update of the Connector’s data
42
- # @return [String]
43
- attr_accessor :updated
44
-
45
- # ISO8601-compliant UTC datetime of the last update of the Connector’s data
46
- # @return [ConnectorVOUpdatedByEnum]
47
- attr_accessor :updated_by
48
-
49
- # optional ISO8601-compliant UTC deletion timestamp of the connector
50
- # @return [String]
51
- attr_accessor :deleted
52
-
53
- # A mapping from model property names to API property names.
54
- def self.names
55
- @_hash = {} if @_hash.nil?
56
- @_hash['uid'] = 'uid'
57
- @_hash['external_id'] = 'externalId'
58
- @_hash['connector_type'] = 'connectorType'
59
- @_hash['electrical_properties'] = 'electricalProperties'
60
- @_hash['fixed_cable'] = 'fixedCable'
61
- @_hash['tariff'] = 'tariff'
62
- @_hash['updated'] = 'updated'
63
- @_hash['updated_by'] = 'updatedBy'
64
- @_hash['deleted'] = 'deleted'
65
- @_hash
66
- end
67
-
68
- # An array for optional fields
69
- def self.optionals
70
- %w[
71
- uid
72
- external_id
73
- connector_type
74
- electrical_properties
75
- fixed_cable
76
- tariff
77
- updated
78
- updated_by
79
- deleted
80
- ]
81
- end
82
-
83
- # An array for nullable fields
84
- def self.nullables
85
- []
86
- end
87
-
88
- def initialize(uid = SKIP, external_id = SKIP, connector_type = SKIP,
89
- electrical_properties = SKIP, fixed_cable = SKIP,
90
- tariff = SKIP, updated = SKIP, updated_by = SKIP,
91
- deleted = SKIP)
92
- @uid = uid unless uid == SKIP
93
- @external_id = external_id unless external_id == SKIP
94
- @connector_type = connector_type unless connector_type == SKIP
95
- @electrical_properties = electrical_properties unless electrical_properties == SKIP
96
- @fixed_cable = fixed_cable unless fixed_cable == SKIP
97
- @tariff = tariff unless tariff == SKIP
98
- @updated = updated unless updated == SKIP
99
- @updated_by = updated_by unless updated_by == SKIP
100
- @deleted = deleted unless deleted == SKIP
101
- end
102
-
103
- # Creates an instance of the object from a hash.
104
- def self.from_hash(hash)
105
- return nil unless hash
106
-
107
- # Extract variables from the hash.
108
- uid = hash.key?('uid') ? hash['uid'] : SKIP
109
- external_id = hash.key?('externalId') ? hash['externalId'] : SKIP
110
- connector_type = hash.key?('connectorType') ? hash['connectorType'] : SKIP
111
- electrical_properties = ElectricalProperties.from_hash(hash['electricalProperties']) if
112
- hash['electricalProperties']
113
- fixed_cable = hash.key?('fixedCable') ? hash['fixedCable'] : SKIP
114
- tariff = Tariff.from_hash(hash['tariff']) if hash['tariff']
115
- updated = hash.key?('updated') ? hash['updated'] : SKIP
116
- updated_by = hash.key?('updatedBy') ? hash['updatedBy'] : SKIP
117
- deleted = hash.key?('deleted') ? hash['deleted'] : SKIP
118
-
119
- # Create object from extracted values.
120
- ConnectorVO.new(uid,
121
- external_id,
122
- connector_type,
123
- electrical_properties,
124
- fixed_cable,
125
- tariff,
126
- updated,
127
- updated_by,
128
- deleted)
129
- end
130
- end
131
- end
@@ -1,107 +0,0 @@
1
- # shell_ev
2
- #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
5
-
6
- module ShellEv
7
- # Tariff details for charging on this Connector
8
- class TariffVO < BaseModel
9
- SKIP = Object.new
10
- private_constant :SKIP
11
-
12
- # Tariff to start a charging session
13
- # @return [Float]
14
- attr_accessor :start_fee
15
-
16
- # Tariff per minute of charging time
17
- # @return [Float]
18
- attr_accessor :per_minute
19
-
20
- # Tariff per kWh of energy consumed
21
- # @return [Float]
22
- attr_accessor :per_k_wh
23
-
24
- # ISO 4217 Currency Code of the local currency.
25
- # @return [String]
26
- attr_accessor :currency
27
-
28
- # ISO8601-compliant UTC datetime of the last update of the Tariff
29
- # @return [String]
30
- attr_accessor :updated
31
-
32
- # ISO8601-compliant UTC datetime of the last update of the Tariff
33
- # @return [TariffVOUpdatedByEnum]
34
- attr_accessor :updated_by
35
-
36
- # Tariff structure that this tariff belongs to, typically Default unless
37
- # specific tariff is defined for provider
38
- # @return [String]
39
- attr_accessor :structure
40
-
41
- # A mapping from model property names to API property names.
42
- def self.names
43
- @_hash = {} if @_hash.nil?
44
- @_hash['start_fee'] = 'startFee'
45
- @_hash['per_minute'] = 'perMinute'
46
- @_hash['per_k_wh'] = 'perKWh'
47
- @_hash['currency'] = 'currency'
48
- @_hash['updated'] = 'updated'
49
- @_hash['updated_by'] = 'updatedBy'
50
- @_hash['structure'] = 'structure'
51
- @_hash
52
- end
53
-
54
- # An array for optional fields
55
- def self.optionals
56
- %w[
57
- start_fee
58
- per_minute
59
- per_k_wh
60
- currency
61
- updated
62
- updated_by
63
- structure
64
- ]
65
- end
66
-
67
- # An array for nullable fields
68
- def self.nullables
69
- []
70
- end
71
-
72
- def initialize(start_fee = SKIP, per_minute = SKIP, per_k_wh = SKIP,
73
- currency = SKIP, updated = SKIP, updated_by = SKIP,
74
- structure = SKIP)
75
- @start_fee = start_fee unless start_fee == SKIP
76
- @per_minute = per_minute unless per_minute == SKIP
77
- @per_k_wh = per_k_wh unless per_k_wh == SKIP
78
- @currency = currency unless currency == SKIP
79
- @updated = updated unless updated == SKIP
80
- @updated_by = updated_by unless updated_by == SKIP
81
- @structure = structure unless structure == SKIP
82
- end
83
-
84
- # Creates an instance of the object from a hash.
85
- def self.from_hash(hash)
86
- return nil unless hash
87
-
88
- # Extract variables from the hash.
89
- start_fee = hash.key?('startFee') ? hash['startFee'] : SKIP
90
- per_minute = hash.key?('perMinute') ? hash['perMinute'] : SKIP
91
- per_k_wh = hash.key?('perKWh') ? hash['perKWh'] : SKIP
92
- currency = hash.key?('currency') ? hash['currency'] : SKIP
93
- updated = hash.key?('updated') ? hash['updated'] : SKIP
94
- updated_by = hash.key?('updatedBy') ? hash['updatedBy'] : SKIP
95
- structure = hash.key?('structure') ? hash['structure'] : SKIP
96
-
97
- # Create object from extracted values.
98
- TariffVO.new(start_fee,
99
- per_minute,
100
- per_k_wh,
101
- currency,
102
- updated,
103
- updated_by,
104
- structure)
105
- end
106
- end
107
- end