alula-ruby 1.9.4 → 1.9.6

Sign up to get free protection for your applications and to get access to all the features.
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