alula-ruby 1.9.4 → 1.9.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 616eeec22053f3a741455858c9770437c00672a8ce391e637a307ad6cc2b6ad6
4
- data.tar.gz: 62a5ea73aed37a1c3ad31a00f615372332a5b49cc3b6c30f6e210b2f28cdb2d1
3
+ metadata.gz: 5381b785d12fe103b76842ae6865e14c160e5b79a4a5c23f1d7b2e6c9650467a
4
+ data.tar.gz: 98f1389a28d401b9bb48c7aff922c092fd2b22fd28603129a0e2ba058ff6d14c
5
5
  SHA512:
6
- metadata.gz: 91d70db2056e1b7a64603893c68f4d872a60a03840f84a78fb091fc259365deed7f402fccf205aa476fae8c257cecb6dc664f988dc23a12b10ad28194e49310e
7
- data.tar.gz: 9f4061bf81898c88ab0c3b2e63eb71c87ee15cbb91a8cfd76c870c9bf7f42230c4f5b4fd18ceeb5a09c518a3f4a14e09916fa139fe68b29bef79d247ae343a5f
6
+ metadata.gz: 7b44d4846656e63df3b77a67a5583dde8963a0b070bcc7a2fc7cc3263e1524bd8e1fed63ae90bcab18cad961bd2af84a244070c8652a797fc548df257c3db576
7
+ data.tar.gz: cd25bc1f7a77cf9acac2ac50afaf138a6f80f535e2ae6fa041b543b54d407c3431d0b873ca692b7c95a9b74829a75396661c3f84adad9468ec1ffb63ade973cc
data/VERSION.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  | Version | Date | Description |
4
4
  | ------- | --------- | --------------------------------------------------------------------------- |
5
+ | v1.9.6 | 2024-08-113 | Add camera-related procs |
6
+ | v1.9.5 | 2024-07-15 | Video Verification Event resource |
5
7
  | v1.9.4 | 2024-07-15 | Add panel_downloading device feature |
6
8
  | v1.9.3 | 2024-07-10 | Update video verification cameras relation and object |
7
9
  | v1.9.2 | 2024-07-04 | Fix devices-notifications type pluralization and sms notification pluralization |
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class CameraGetRecordingConfigProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call(serial_number:)
9
+ request(
10
+ http_method: :get,
11
+ path: "/v1/device/#{serial_number}/recordConfig",
12
+ handler: Response
13
+ )
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # dealerId string GUID of the dealer to operate on
5
+ #
6
+
7
+ module Alula
8
+ class CameraGetSdStatusProc < Alula::RpcResource
9
+ class Response < Alula::RpcResponse
10
+ end
11
+
12
+ def self.call(device_id:)
13
+ payload = {
14
+ "deviceId": device_id
15
+ }
16
+
17
+ request(
18
+ http_method: :post,
19
+ path: '/video/v1/rpc/devices/get-sd-card-status',
20
+ payload:,
21
+ handler: Response
22
+ )
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class CameraGetServerConfigProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call(serial_number:)
9
+ request(
10
+ http_method: :get,
11
+ path: "/video/v1/device/#{serial_number}/svrConfig",
12
+ handler: Response
13
+ )
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class CameraGetWifiProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call(device_id:, customer_id:, limit: 1, offset: 0)
9
+ payload = {
10
+ "deviceId": device_id, "cacheOptions": { "limit": limit, "offset": offset }
11
+ }
12
+ request(
13
+ http_method: :post,
14
+ path: "/video/v1/rpc/devices/get-network-info?customerId=#{customer_id}",
15
+ payload:, handler: Response
16
+ )
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class CameraSetRecordingConfigProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call(event:, allday:)
9
+ payload = {
10
+ "event": event,
11
+ "allday": allday
12
+ }
13
+
14
+ request(
15
+ http_method: :post,
16
+ path: "/v1/device/#{serial_number}/recordConfig",
17
+ payload: payload,
18
+ handler: Response
19
+ )
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class CameraSetServerConfigProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call(serial_number:, should_use_s3:)
9
+ payload = {
10
+ "shouldUseS3": should_use_s3
11
+ }
12
+
13
+ request(
14
+ http_method: :post,
15
+ path: "/video/v1/device/#{serial_number}/svrConfig",
16
+ payload: payload,
17
+ handler: Response
18
+ )
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class VideoVerificationEvent < Alula::RestResource
5
+ extend Alula::ResourceAttributes
6
+ extend Alula::ApiOperations::Request
7
+
8
+ resource_path 'video/verification/events'
9
+ type 'video-verification-events'
10
+
11
+ field :dealer_id,
12
+ type: :string,
13
+ sortable: false,
14
+ filterable: true,
15
+ creatable_by: %i[],
16
+ patchable_by: %i[]
17
+
18
+ field :device_id,
19
+ type: :string,
20
+ sortable: false,
21
+ filterable: true,
22
+ creatable_by: %i[],
23
+ patchable_by: %i[]
24
+
25
+ field :event_date,
26
+ type: :string,
27
+ sortable: true,
28
+ filterable: false,
29
+ creatable_by: %i[],
30
+ patchable_by: %i[]
31
+
32
+ field :event_id,
33
+ type: :string,
34
+ sortable: false,
35
+ filterable: true,
36
+ creatable_by: %i[],
37
+ patchable_by: %i[]
38
+
39
+ field :id,
40
+ type: :string,
41
+ sortable: false,
42
+ filterable: true,
43
+ creatable_by: %i[],
44
+ patchable_by: %i[]
45
+
46
+ field :access_token_id,
47
+ type: :string,
48
+ sortable: false,
49
+ filterable: false,
50
+ creatable_by: %i[],
51
+ patchable_by: %i[]
52
+
53
+ field :account_owner_id,
54
+ type: :string,
55
+ sortable: false,
56
+ filterable: false,
57
+ creatable_by: %i[],
58
+ patchable_by: %i[]
59
+
60
+ field :cameras,
61
+ type: :array,
62
+ sortable: false,
63
+ filterable: false,
64
+ creatable_by: %i[],
65
+ patchable_by: %i[]
66
+
67
+ field :dealer_company_name,
68
+ type: :string,
69
+ sortable: false,
70
+ filterable: false,
71
+ creatable_by: %i[],
72
+ patchable_by: %i[]
73
+
74
+ field :device_friendly_name,
75
+ type: :string,
76
+ sortable: false,
77
+ filterable: false,
78
+ creatable_by: %i[],
79
+ patchable_by: %i[]
80
+
81
+ field :event_partition,
82
+ type: :number,
83
+ sortable: false,
84
+ filterable: false,
85
+ creatable_by: %i[],
86
+ patchable_by: %i[]
87
+
88
+ field :mac,
89
+ type: :string,
90
+ sortable: false,
91
+ filterable: false,
92
+ creatable_by: %i[],
93
+ patchable_by: %i[]
94
+
95
+ field :owner_full_name,
96
+ type: :string,
97
+ sortable: false,
98
+ filterable: false,
99
+ creatable_by: %i[],
100
+ patchable_by: %i[]
101
+
102
+ field :receivers,
103
+ type: :array,
104
+ sortable: false,
105
+ filterable: false,
106
+ creatable_by: %i[],
107
+ patchable_by: %i[]
108
+
109
+ field :window_end_time,
110
+ type: :string,
111
+ sortable: false,
112
+ filterable: false,
113
+ creatable_by: %i[],
114
+ patchable_by: %i[]
115
+
116
+ field :window_start_time,
117
+ type: :string,
118
+ sortable: false,
119
+ filterable: false,
120
+ creatable_by: %i[],
121
+ patchable_by: %i[]
122
+
123
+ field :zone_or_user_index,
124
+ type: :number,
125
+ sortable: false,
126
+ filterable: false,
127
+ creatable_by: %i[],
128
+ patchable_by: %i[]
129
+ end
130
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alula
2
4
  class RpcResource
3
5
  def self.request(http_method:, path:, payload:, handler:, wrap: true, opts: {})
@@ -1,14 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alula
2
4
  class RpcResponse
3
- attr_accessor :request_id, :result, :data
5
+ attr_accessor :request_id, :result, :data, :http_status
4
6
 
5
7
  def initialize(response)
6
8
  @request_id = response.data['id']
7
9
  @result = response.data['result']
10
+ @http_status = response.data['http_status']
8
11
  end
9
12
 
10
13
  def ok?
11
- @result['success'] == true || (@result['errors'].nil? && @result['error'].nil?)
14
+ @result.success == true || (@result.errors.nil? && @result.error.nil?)
12
15
  end
13
16
  end
14
- end
17
+ end
data/lib/alula/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alula
4
- VERSION = '1.9.4'
4
+ VERSION = '1.9.6'
5
5
  end
data/lib/alula.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'alula/version'
2
2
  require 'request_store'
3
3
  require 'forwardable'
4
-
5
4
  require_relative 'alula/resource_attributes'
6
5
  require_relative 'alula/relationship_attributes'
7
6
  require_relative 'alula/api_operations/list'
@@ -20,15 +19,12 @@ require_relative 'alula/filter_builder'
20
19
  require_relative 'alula/query_interface'
21
20
  require_relative 'alula/util'
22
21
  require_relative 'alula/rate_limit'
23
-
24
22
  require_relative 'alula/client'
25
23
  require_relative 'alula/client_configuration'
26
24
  require_relative 'alula/errors'
27
25
  require_relative 'alula/list_object'
28
26
  require_relative 'alula/oauth'
29
-
30
27
  require_relative 'alula/helpers/device_attribute_translations'
31
-
32
28
  require_relative 'alula/resources/billing_program'
33
29
  require_relative 'alula/resources/device'
34
30
  require_relative 'alula/resources/device_charge'
@@ -62,15 +58,13 @@ require_relative 'alula/resources/oauth_client'
62
58
  require_relative 'alula/resources/device_alias'
63
59
  require_relative 'alula/resources/device_notification'
64
60
  require_relative 'alula/resources/video_verification_camera'
65
-
61
+ require_relative 'alula/resources/video_verification_event'
66
62
  require_relative 'alula/resources/feature_plan'
67
63
  require_relative 'alula/resources/feature_planvideo'
68
64
  require_relative 'alula/resources/feature_price'
69
65
  require_relative 'alula/resources/feature_bysubject'
70
-
71
66
  require_relative 'alula/resources/video/base_resource'
72
67
  require_relative 'alula/resources/video/device'
73
-
74
68
  require_relative 'alula/procedures/device_cellular_history_proc'
75
69
  require_relative 'alula/procedures/device_rateplan_get_proc'
76
70
  require_relative 'alula/procedures/device_register_proc'
@@ -97,6 +91,12 @@ require_relative 'alula/procedures/user_get_locked_proc'
97
91
  require_relative 'alula/procedures/user_unlock_proc'
98
92
  require_relative 'alula/procedures/user_password_reset_proc'
99
93
  require_relative 'alula/procedures/video_unregister_proc'
94
+ require_relative 'alula/procedures/camera_get_wifi_proc'
95
+ require_relative 'alula/procedures/camera_get_sd_status_proc'
96
+ require_relative 'alula/procedures/camera_get_svr_config_proc'
97
+ require_relative 'alula/procedures/camera_set_svr_config_proc'
98
+ require_relative 'alula/procedures/camera_get_rec_config_proc'
99
+ require_relative 'alula/procedures/camera_set_rec_config_proc'
100
100
 
101
101
  module Alula
102
102
  #
@@ -138,7 +138,8 @@ module Alula
138
138
  Alula::UserPhone,
139
139
  Alula::UserPreferences,
140
140
  Alula::UserPushtoken,
141
- Alula::UserVideoProfile
141
+ Alula::UserVideoProfile,
142
+ Alula::VideoVerificationEvent
142
143
  ].each_with_object({}) do |klass, resource_map|
143
144
  resource_map[klass.get_type] = klass
144
145
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alula-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.4
4
+ version: 1.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Johnson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-16 00:00:00.000000000 Z
11
+ date: 2024-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -216,6 +216,12 @@ files:
216
216
  - lib/alula/monkey_patches.rb
217
217
  - lib/alula/oauth.rb
218
218
  - lib/alula/pagination.rb
219
+ - lib/alula/procedures/camera_get_rec_config_proc.rb
220
+ - lib/alula/procedures/camera_get_sd_status_proc.rb
221
+ - lib/alula/procedures/camera_get_svr_config_proc.rb
222
+ - lib/alula/procedures/camera_get_wifi_proc.rb
223
+ - lib/alula/procedures/camera_set_rec_config_proc.rb
224
+ - lib/alula/procedures/camera_set_svr_config_proc.rb
219
225
  - lib/alula/procedures/dealer_device_stats_proc.rb
220
226
  - lib/alula/procedures/dealer_restore_proc.rb
221
227
  - lib/alula/procedures/dealer_suspend_proc.rb
@@ -285,6 +291,7 @@ files:
285
291
  - lib/alula/resources/video/base_resource.rb
286
292
  - lib/alula/resources/video/device.rb
287
293
  - lib/alula/resources/video_verification_camera.rb
294
+ - lib/alula/resources/video_verification_event.rb
288
295
  - lib/alula/rest_resource.rb
289
296
  - lib/alula/rpc_resource.rb
290
297
  - lib/alula/rpc_response.rb