alula-ruby 1.6.0 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Dockerfile +1 -1
- data/VERSION.md +1 -0
- data/alula-docker-compose.yml +30 -14
- data/bin/ipdapi-startup.sh +1 -1
- data/lib/alula/procedures/video_unregister_proc.rb +21 -0
- data/lib/alula/resources/video/base_resource.rb +5 -0
- data/lib/alula/resources/video/device.rb +81 -8
- data/lib/alula/version.rb +1 -1
- data/lib/alula.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ba30ce4a88b334fd10633b735f401d59b041cfdf2298a1298b5136e283d4b1d
|
4
|
+
data.tar.gz: '09475f21199c2182b86e3a775b88ed1df2f6617566bb2e980cd0d109d6536630'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7266449db3159f70c5a4d77ae25ae59355b7d4dc5e34d8cae838b10292b51c592da29ef192bd363b230f8a65d34195b30d1bfe617db3c25e6595a36f0d133e5b
|
7
|
+
data.tar.gz: eca19d6a1412ba2b51c4e4ba6514b47fd05fff1445b8fd3f6a9868eca43d0148d3c5498fd076eeb8230adbd4cbe5a31922eff061466c068f8eab5602e4245b6b
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0
|
1
|
+
3.3.0
|
data/Dockerfile
CHANGED
data/VERSION.md
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
| Version | Date | Description |
|
4
4
|
| ------- | --------- | --------------------------------------------------------------------------- |
|
5
|
+
| v1.7.0 | 2024-06-13 | Add DELETE, PATCH/POST, unregister capabilities for cameras |
|
5
6
|
| v1.6.0 | 2024-01-26 | Add user language attribute |
|
6
7
|
| v1.5.0 | 2024-01-09 | Add more known errors that use a different format |
|
7
8
|
| v1.4.0 | 2024-01-04 | Add more known errors that use a different format, bugfix for `NotImplementedError` raising |
|
data/alula-docker-compose.yml
CHANGED
@@ -73,6 +73,7 @@ services:
|
|
73
73
|
IPDAPI_WS_WORK_VIGILANCE_CANCEL_BATCH_WINDOW_MSEC: ${IPDAPI_WS_WORK_VIGILANCE_CANCEL_BATCH_WINDOW_MSEC:-10000}
|
74
74
|
IPDAPI_WS_WORK_VIGILANCE_CANCEL_TERMINATE_DELAY_MSEC: ${IPDAPI_WS_WORK_VIGILANCE_CANCEL_TERMINATE_DELAY_MSEC:-500}
|
75
75
|
IPDAPI_WS_WORK_VIGILANCE_TERMINATE_DELAY_MSEC: ${IPDAPI_WS_WORK_VIGILANCE_TERMINATE_DELAY_MSEC:-500}
|
76
|
+
LOG_LEVEL: warn
|
76
77
|
MARIADB_ADDRESS: mariadb
|
77
78
|
MARIADB_PASS: ""
|
78
79
|
MARIADB_USER: root
|
@@ -82,13 +83,14 @@ services:
|
|
82
83
|
MONGODB_USER: ipd
|
83
84
|
RMQ_EPHEMERAL_ADDRESS: amqp://rmq-ephemeral
|
84
85
|
RMQ_PERSISTENT_ADDRESS: amqp://rmq-persistent
|
86
|
+
REDIS_ADDRESS: redis-ipdapi
|
85
87
|
healthcheck:
|
86
|
-
interval:
|
87
|
-
retries:
|
88
|
+
interval: 5s
|
89
|
+
retries: 10
|
88
90
|
start_period: 30s
|
89
|
-
test: curl -s http://localhost/public/v1/healthcheck/default || exit -1
|
90
|
-
timeout:
|
91
|
-
image:
|
91
|
+
test: apk add curl && curl -s http://localhost/public/v1/healthcheck/default || exit -1
|
92
|
+
timeout: 10s
|
93
|
+
image: 613707345027.dkr.ecr.us-east-1.amazonaws.com/api/ipdapi:staging
|
92
94
|
networks:
|
93
95
|
mesh_net:
|
94
96
|
profiles:
|
@@ -101,23 +103,24 @@ services:
|
|
101
103
|
ports:
|
102
104
|
- "8080:80"
|
103
105
|
mariadb:
|
106
|
+
hostname: mariadb
|
107
|
+
image: mariadb:10.3
|
104
108
|
command:
|
105
109
|
- --wait_timeout=28800
|
106
110
|
- --max_connections=2048
|
107
111
|
environment:
|
108
|
-
MYSQL_ALLOW_EMPTY_PASSWORD:
|
109
|
-
healthcheck:
|
110
|
-
interval: 15s
|
111
|
-
retries: 5
|
112
|
-
test: [CMD, mysqladmin, ping, -h, localhost]
|
113
|
-
timeout: 15s
|
114
|
-
image: mariadb:10.3
|
115
|
-
networks:
|
116
|
-
mesh_net:
|
112
|
+
MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
|
117
113
|
volumes:
|
118
114
|
- mariadb_data:/var/lib/mysql
|
119
115
|
- ./utils/mariadb/init:/docker-entrypoint-initdb.d
|
120
116
|
- ./utils/mariadb/conf:/etc/mysql/conf.d
|
117
|
+
healthcheck:
|
118
|
+
test: mysql -D mysql --silent --execute "SELECT 1;"
|
119
|
+
interval: 30s
|
120
|
+
timeout: 10s
|
121
|
+
retries: 5
|
122
|
+
networks:
|
123
|
+
mesh_net:
|
121
124
|
mongodb:
|
122
125
|
command: --replSet api0 --bind_ip_all
|
123
126
|
environment:
|
@@ -154,6 +157,19 @@ services:
|
|
154
157
|
image: rabbitmq:management
|
155
158
|
networks:
|
156
159
|
mesh_net:
|
160
|
+
redis-ipdapi:
|
161
|
+
container_name: redis-ipdapi
|
162
|
+
image: redis:6.0.9-alpine
|
163
|
+
healthcheck:
|
164
|
+
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
|
165
|
+
interval: 1s
|
166
|
+
timeout: 5s
|
167
|
+
retries: 30
|
168
|
+
networks:
|
169
|
+
mesh_net:
|
170
|
+
ports:
|
171
|
+
- 6379:6379
|
172
|
+
restart: always
|
157
173
|
version: "3.9"
|
158
174
|
volumes:
|
159
175
|
dcp-mongo:
|
data/bin/ipdapi-startup.sh
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Alula
|
4
|
+
class VideoUnregisterProc < Alula::RpcResource
|
5
|
+
class Response < Alula::RpcResponse
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.call(device_id:)
|
9
|
+
payload = {
|
10
|
+
deviceId: device_id
|
11
|
+
}
|
12
|
+
|
13
|
+
request(
|
14
|
+
http_method: :post,
|
15
|
+
path: '/rpc/v1/video/unregister',
|
16
|
+
payload: payload,
|
17
|
+
handler: Response
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -32,6 +32,11 @@ module Alula
|
|
32
32
|
|
33
33
|
api_name :video
|
34
34
|
|
35
|
+
# Instance method
|
36
|
+
def resource_url(id = nil)
|
37
|
+
"/#{self.class.api_name}/v1/#{self.class.resource_name}/#{id}"
|
38
|
+
end
|
39
|
+
|
35
40
|
def construct_from(json_object)
|
36
41
|
@raw_data = json_object.dup
|
37
42
|
@values = json_object
|
@@ -2,15 +2,88 @@ module Alula
|
|
2
2
|
module Video
|
3
3
|
class Device < Alula::Video::BaseResource
|
4
4
|
extend Alula::ApiOperations::Request
|
5
|
+
extend Alula::ApiOperations::Save
|
6
|
+
extend Alula::ApiOperations::Delete
|
5
7
|
|
6
|
-
field :account_id,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
field :
|
12
|
-
|
13
|
-
|
8
|
+
field :account_id,
|
9
|
+
type: :string,
|
10
|
+
patchable_by: %i[system station dealer user],
|
11
|
+
creatable_by: %i[system station dealer user]
|
12
|
+
|
13
|
+
field :active,
|
14
|
+
type: :boolean,
|
15
|
+
patchable_by: %i[system station dealer user],
|
16
|
+
creatable_by: %i[system station dealer user]
|
17
|
+
|
18
|
+
field :brand,
|
19
|
+
type: :string,
|
20
|
+
patchable_by: %i[system station dealer user],
|
21
|
+
creatable_by: %i[system station dealer user]
|
22
|
+
|
23
|
+
field :hardware_id,
|
24
|
+
type: :string,
|
25
|
+
patchable_by: %i[system station dealer user],
|
26
|
+
creatable_by: %i[system station dealer user]
|
27
|
+
|
28
|
+
field :manufacturer,
|
29
|
+
type: :string,
|
30
|
+
patchable_by: %i[system station dealer user],
|
31
|
+
creatable_by: %i[system station dealer user]
|
32
|
+
|
33
|
+
field :name,
|
34
|
+
type: :string,
|
35
|
+
patchable_by: %i[system station dealer user],
|
36
|
+
creatable_by: %i[system station dealer user]
|
37
|
+
|
38
|
+
field :serial_number,
|
39
|
+
type: :string,
|
40
|
+
patchable_by: %i[system station dealer user],
|
41
|
+
creatable_by: %i[system station dealer user]
|
42
|
+
|
43
|
+
field :verification_code,
|
44
|
+
type: :string,
|
45
|
+
patchable_by: %i[system station dealer user],
|
46
|
+
creatable_by: %i[system station dealer user]
|
47
|
+
|
48
|
+
field :timezone,
|
49
|
+
type: :string,
|
50
|
+
patchable_by: %i[system station dealer user],
|
51
|
+
creatable_by: %i[system station dealer user]
|
52
|
+
|
53
|
+
field :timezone_id,
|
54
|
+
type: :string,
|
55
|
+
patchable_by: %i[system station dealer user],
|
56
|
+
creatable_by: %i[system station dealer user]
|
57
|
+
|
58
|
+
field :daylight_saving,
|
59
|
+
type: :number,
|
60
|
+
patchable_by: %i[system station dealer user],
|
61
|
+
creatable_by: %i[system station dealer user]
|
62
|
+
|
63
|
+
field :time_format,
|
64
|
+
type: :number,
|
65
|
+
patchable_by: %i[system station dealer user],
|
66
|
+
creatable_by: %i[system station dealer user]
|
67
|
+
|
68
|
+
field :customer_id,
|
69
|
+
type: :string,
|
70
|
+
patchable_by: %i[system station dealer user],
|
71
|
+
creatable_by: %i[system station dealer user]
|
72
|
+
|
73
|
+
field :online,
|
74
|
+
type: :object,
|
75
|
+
patchable_by: %i[system station dealer user],
|
76
|
+
creatable_by: %i[system station dealer user]
|
77
|
+
|
78
|
+
field :settings,
|
79
|
+
type: :object,
|
80
|
+
patchable_by: %i[system station dealer user],
|
81
|
+
creatable_by: %i[system station dealer user]
|
82
|
+
|
83
|
+
field :model,
|
84
|
+
type: :string,
|
85
|
+
patchable_by: %i[system station dealer user],
|
86
|
+
creatable_by: %i[system station dealer user]
|
14
87
|
|
15
88
|
def is_jsw?
|
16
89
|
manufacturer == 'jsw'
|
data/lib/alula/version.rb
CHANGED
data/lib/alula.rb
CHANGED
@@ -94,6 +94,7 @@ require_relative 'alula/procedures/user_plansvideo_price_get'
|
|
94
94
|
require_relative 'alula/procedures/user_get_locked_proc'
|
95
95
|
require_relative 'alula/procedures/user_unlock_proc'
|
96
96
|
require_relative 'alula/procedures/user_password_reset_proc'
|
97
|
+
require_relative 'alula/procedures/video_unregister_proc'
|
97
98
|
|
98
99
|
module Alula
|
99
100
|
#
|
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.
|
4
|
+
version: 1.7.0
|
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-
|
11
|
+
date: 2024-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -240,6 +240,7 @@ files:
|
|
240
240
|
- lib/alula/procedures/user_transfer_reject.rb
|
241
241
|
- lib/alula/procedures/user_transfer_request.rb
|
242
242
|
- lib/alula/procedures/user_unlock_proc.rb
|
243
|
+
- lib/alula/procedures/video_unregister_proc.rb
|
243
244
|
- lib/alula/query_interface.rb
|
244
245
|
- lib/alula/rate_limit.rb
|
245
246
|
- lib/alula/relationship_attributes.rb
|