seamapi 1.13.0 → 1.15.0

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: 2356bb867694d6e9c0581d09b612cc5c6bdaf8dc6dbd056127891d7e59b7133c
4
- data.tar.gz: 7a6865607378d07b34ba585283c8b9e0bfd4299e6be0d7eadd7fb910aaef5c41
3
+ metadata.gz: 7a008c7c331229587d9cdb2d776d207949e33d401d694c4c64c3aa90df5604fa
4
+ data.tar.gz: 9cd223c040175fe53e20517e9f8cc04f8240de128c16d3e214ad3344283d0b67
5
5
  SHA512:
6
- metadata.gz: 809ecd72d31aec67659dd766155fe8c25afa7343adbc00aa9ffd8c346119df916149418cbb4eb71d3745f3e42566e1d3fb5173332145243620c542b59ca460eb
7
- data.tar.gz: d76d44821b62db7323cb3849bf9c98038a8907087b596166e4668fc9d9477917f0de3471a811181770308fafdbf44bd20707ff6d3710b6ce45906ced2d1333f0
6
+ metadata.gz: ac2f1edc331347b82268ab3a9a3333f39bd0469c5c068fa8fe366abc6235347862030e36a09256c8247e2f8c64d6ed6abd6046fb952302a870c4e730bf5f752b
7
+ data.tar.gz: 322dec6e206d881891d423562d36fcd6a7d1bbaf90dedc0dffaec7f5c50dddfb120d5cacd1ecf4f3698b55e69fac968a84865705dcd594babaee75871702e829
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seamapi (1.13.0)
4
+ seamapi (1.15.0)
5
5
  http (~> 5.0.0)
6
6
 
7
7
  GEM
@@ -17,7 +17,7 @@ GEM
17
17
  docile (1.4.0)
18
18
  domain_name (0.5.20190701)
19
19
  unf (>= 0.0.5, < 1.0.0)
20
- ffi (1.15.5)
20
+ ffi (1.16.3)
21
21
  ffi-compiler (1.0.1)
22
22
  ffi (>= 1.0.0)
23
23
  rake
data/lib/seam/client.rb CHANGED
@@ -36,6 +36,10 @@ module Seam
36
36
  @access_codes ||= Seam::Clients::AccessCodes.new(self)
37
37
  end
38
38
 
39
+ def unmanaged_access_codes
40
+ @unmanaged_access_codes ||= Seam::Clients::UnmanagedAccessCodes.new(self)
41
+ end
42
+
39
43
  def connect_webviews
40
44
  @connect_webviews ||= Seam::Clients::ConnectWebviews.new(self)
41
45
  end
@@ -5,11 +5,11 @@ module Seam
5
5
  class AccessCodes < BaseClient
6
6
  def get(access_code_id)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/access_codes/get",
10
10
  Seam::AccessCode,
11
11
  "access_code",
12
- params: {access_code_id: access_code_id}
12
+ body: {access_code_id: access_code_id}
13
13
  )
14
14
  end
15
15
 
@@ -25,14 +25,14 @@ module Seam
25
25
  )
26
26
  end
27
27
 
28
- def create(device_id: nil, name: nil, code: nil, starts_at: nil, ends_at: nil, use_backup_access_code_pool: nil)
28
+ def create(device_id: nil, name: nil, code: nil, starts_at: nil, ends_at: nil, use_backup_access_code_pool: nil, allow_external_modification: nil)
29
29
  action_attempt = request_seam_object(
30
30
  :post,
31
31
  "/access_codes/create",
32
32
  Seam::ActionAttempt,
33
33
  "action_attempt",
34
34
  body: {device_id: device_id, code: code, starts_at: starts_at, ends_at: ends_at, name: name,
35
- use_backup_access_code_pool: use_backup_access_code_pool}.compact
35
+ use_backup_access_code_pool: use_backup_access_code_pool, allow_external_modification: allow_external_modification}.compact
36
36
  )
37
37
  action_attempt.wait_until_finished
38
38
  # TODO: check if failed
@@ -51,7 +51,7 @@ module Seam
51
51
  action_attempt
52
52
  end
53
53
 
54
- def update(access_code_id: nil, name: nil, code: nil, starts_at: nil, ends_at: nil, type: nil)
54
+ def update(access_code_id: nil, name: nil, code: nil, starts_at: nil, ends_at: nil, type: nil, allow_external_modification: nil)
55
55
  action_attempt = request_seam_object(
56
56
  :post,
57
57
  "/access_codes/update",
@@ -63,7 +63,8 @@ module Seam
63
63
  code: code,
64
64
  starts_at: starts_at,
65
65
  ends_at: ends_at,
66
- type: type
66
+ type: type,
67
+ allow_external_modification: allow_external_modification
67
68
  }.compact
68
69
  )
69
70
  action_attempt.wait_until_finished
@@ -5,11 +5,11 @@ module Seam
5
5
  class ActionAttempts < BaseClient
6
6
  def get(action_attempt_id)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/action_attempts/get",
10
10
  Seam::ActionAttempt,
11
11
  "action_attempt",
12
- params: {action_attempt_id: action_attempt_id}
12
+ body: {action_attempt_id: action_attempt_id}
13
13
  )
14
14
  end
15
15
  end
@@ -5,21 +5,21 @@ module Seam
5
5
  class ConnectWebviews < BaseClient
6
6
  def get(connect_webview_id = nil)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/connect_webviews/get",
10
10
  Seam::ConnectWebview,
11
11
  "connect_webview",
12
- params: {connect_webview_id: connect_webview_id}
12
+ body: {connect_webview_id: connect_webview_id}
13
13
  )
14
14
  end
15
15
 
16
16
  def list
17
17
  request_seam_object(
18
- :get,
18
+ :post,
19
19
  "/connect_webviews/list",
20
20
  Seam::ConnectWebview,
21
21
  "connect_webviews",
22
- params: {}
22
+ body: {}
23
23
  )
24
24
  end
25
25
 
@@ -3,29 +3,29 @@
3
3
  module Seam
4
4
  module Clients
5
5
  class ConnectedAccounts < BaseClient
6
- def get(connected_account_id_or_params)
7
- params = if connected_account_id_or_params.is_a?(String)
8
- {connected_account_id: connected_account_id_or_params}
6
+ def get(connected_account_id_or_body)
7
+ body = if connected_account_id_or_body.is_a?(String)
8
+ {connected_account_id: connected_account_id_or_body}
9
9
  else
10
- connected_account_id_or_params
10
+ connected_account_id_or_body
11
11
  end
12
12
 
13
13
  request_seam_object(
14
- :get,
14
+ :post,
15
15
  "/connected_accounts/get",
16
16
  Seam::ConnectedAccount,
17
17
  "connected_account",
18
- params: params
18
+ body: body
19
19
  )
20
20
  end
21
21
 
22
- def list(params = {})
22
+ def list(body = {})
23
23
  request_seam_object(
24
- :get,
24
+ :post,
25
25
  "/connected_accounts/list",
26
26
  Seam::ConnectedAccount,
27
27
  "connected_accounts",
28
- params: params
28
+ body: body
29
29
  )
30
30
  end
31
31
  end
@@ -3,29 +3,29 @@
3
3
  module Seam
4
4
  module Clients
5
5
  class Devices < BaseClient
6
- def list(params = {})
6
+ def list(body = {})
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/devices/list",
10
10
  Seam::Device,
11
11
  "devices",
12
- params: params
12
+ body: body
13
13
  )
14
14
  end
15
15
 
16
16
  def get(device_id = nil, name: nil)
17
17
  request_seam_object(
18
- :get,
18
+ :post,
19
19
  "/devices/get",
20
20
  Seam::Device,
21
21
  "device",
22
- params: {device_id: device_id, name: name}.compact
22
+ body: {device_id: device_id, name: name}.compact
23
23
  )
24
24
  end
25
25
 
26
26
  def update(device_id: nil, is_managed: nil, name: nil, properties: nil)
27
27
  request_seam(
28
- :patch,
28
+ :post,
29
29
  "/devices/update",
30
30
  body: {
31
31
  device_id: device_id,
@@ -36,13 +36,13 @@ module Seam
36
36
  )
37
37
  end
38
38
 
39
- def list_device_providers(params = {})
39
+ def list_device_providers(body = {})
40
40
  request_seam_object(
41
- :get,
41
+ :post,
42
42
  "/devices/list_device_providers",
43
43
  Seam::DeviceProvider,
44
44
  "device_providers",
45
- params: params
45
+ body: body
46
46
  )
47
47
  end
48
48
  end
@@ -5,22 +5,22 @@ module Seam
5
5
  class Events < BaseClient
6
6
  def get(event_id: nil, event_type: nil, device_id: nil)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/events/get",
10
10
  Seam::Event,
11
11
  "event",
12
- params: {event_id: event_id, event_type: event_type, device_id: device_id}.compact
12
+ body: {event_id: event_id, event_type: event_type, device_id: device_id}.compact
13
13
  )
14
14
  end
15
15
 
16
16
  def list(since: str, event_type: nil, event_types: nil, device_id: nil, device_ids: nil)
17
17
  request_seam_object(
18
- :get,
18
+ :post,
19
19
  "/events/list",
20
20
  Seam::Event,
21
21
  "events",
22
- params: {event_type: event_type, event_types: event_types, device_id: device_id,
23
- device_ids: device_ids, since: since}.compact
22
+ body: {event_type: event_type, event_types: event_types, device_id: device_id,
23
+ device_ids: device_ids, since: since}.compact
24
24
  )
25
25
  end
26
26
  end
@@ -35,23 +35,23 @@ module Seam
35
35
  )
36
36
  end
37
37
 
38
- def list(params = {})
38
+ def list(body = {})
39
39
  request_seam_object(
40
- :get,
40
+ :post,
41
41
  "/locks/list",
42
42
  Seam::Device,
43
43
  "locks",
44
- params: params
44
+ body: body
45
45
  )
46
46
  end
47
47
 
48
48
  def get(device_or_id)
49
49
  request_seam_object(
50
- :get,
50
+ :post,
51
51
  "/locks/get",
52
52
  Seam::Device,
53
53
  "lock",
54
- params: {
54
+ body: {
55
55
  device_id: device_id(device_or_id)
56
56
  }
57
57
  )
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class UnmanagedAccessCodes < BaseClient
6
+ def get(access_code_id = nil, device_id: nil, code: nil)
7
+ request_seam_object(
8
+ :post,
9
+ "/access_codes/unmanaged/get",
10
+ Seam::UnmanagedAccessCode,
11
+ "access_code",
12
+ body: {
13
+ device_id: device_id,
14
+ access_code_id: access_code_id,
15
+ code: code
16
+ }.compact
17
+ )
18
+ end
19
+
20
+ def list(device_id)
21
+ request_seam_object(
22
+ :post,
23
+ "/access_codes/unmanaged/list",
24
+ Seam::UnmanagedAccessCode,
25
+ "access_codes",
26
+ body: {device_id: device_id}
27
+ )
28
+ end
29
+
30
+ def convert_to_managed(access_code_id, allow_external_modification: nil)
31
+ action_attempt = request_seam_object(
32
+ :post,
33
+ "/access_codes/unmanaged/convert_to_managed",
34
+ Seam::ActionAttempt,
35
+ "action_attempt",
36
+ body: {
37
+ access_code_id: access_code_id,
38
+ allow_external_modification: allow_external_modification
39
+ }.compact
40
+ )
41
+ action_attempt.wait_until_finished
42
+ action_attempt
43
+ end
44
+ end
45
+ end
46
+ end
@@ -5,30 +5,30 @@ module Seam
5
5
  class UnmanagedDevices < BaseClient
6
6
  def get(device_id = nil, name: nil)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/devices/unmanaged/get",
10
10
  Seam::UnmanagedDevice,
11
11
  "device",
12
- params: {
12
+ body: {
13
13
  device_id: device_id,
14
14
  name: name
15
15
  }.compact
16
16
  )
17
17
  end
18
18
 
19
- def list(params = {})
19
+ def list(body = {})
20
20
  request_seam_object(
21
- :get,
21
+ :post,
22
22
  "/devices/unmanaged/list",
23
23
  Seam::UnmanagedDevice,
24
24
  "devices",
25
- params: params
25
+ body: body
26
26
  )
27
27
  end
28
28
 
29
29
  def update(device_id: nil, is_managed: nil)
30
30
  request_seam(
31
- :patch,
31
+ :post,
32
32
  "/devices/unmanaged/update",
33
33
  body: {
34
34
  device_id: device_id,
@@ -5,21 +5,21 @@ module Seam
5
5
  class Workspaces < BaseClient
6
6
  def get(workspace_id = nil)
7
7
  request_seam_object(
8
- :get,
8
+ :post,
9
9
  "/workspaces/get",
10
10
  Seam::Workspace,
11
11
  "workspace",
12
- params: {workspace_id: workspace_id}
12
+ body: {workspace_id: workspace_id}
13
13
  )
14
14
  end
15
15
 
16
16
  def list
17
17
  request_seam_object(
18
- :get,
18
+ :post,
19
19
  "/workspaces/list",
20
20
  Seam::Workspace,
21
21
  "workspaces",
22
- params: {}
22
+ body: {}
23
23
  )
24
24
  end
25
25
 
@@ -27,7 +27,7 @@ module Seam
27
27
  request_seam(
28
28
  :post,
29
29
  "/workspaces/reset_sandbox",
30
- params: {workspace_id: workspace_id}
30
+ body: {workspace_id: workspace_id}
31
31
  )
32
32
  end
33
33
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Seam
4
4
  class AccessCode < BaseResource
5
- attr_reader :access_code_id, :name, :type, :code, :is_managed, :status, :device_id, :is_scheduled_on_device, :is_waiting_for_code_assignment, :pulled_backup_access_code_id, :is_backup_access_code_available, :is_backup
5
+ attr_reader :access_code_id, :name, :type, :code, :is_managed, :status, :device_id, :is_scheduled_on_device, :is_waiting_for_code_assignment, :pulled_backup_access_code_id, :is_backup_access_code_available, :is_backup, :appearance, :is_external_modification_allowed
6
6
 
7
7
  date_accessor :starts_at, :ends_at, :created_at
8
8
 
@@ -19,9 +19,9 @@ module Seam
19
19
 
20
20
  def update!
21
21
  response = @client.request_seam(
22
- :get,
22
+ :post,
23
23
  "/action_attempts/get",
24
- params: {
24
+ body: {
25
25
  action_attempt_id: action_attempt_id
26
26
  }
27
27
  )
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ class UnmanagedAccessCode < BaseResource
5
+ attr_accessor :access_code_id, :device_id, :type, :name, :code, :is_managed, :status
6
+
7
+ date_accessor :created_at, :starts_at, :ends_at
8
+
9
+ include Seam::ResourceErrorsSupport
10
+ include Seam::ResourceWarningsSupport
11
+ end
12
+ end
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "1.13.0"
4
+ VERSION = "1.15.0"
5
5
  end
data/lib/seamapi.rb CHANGED
@@ -12,6 +12,7 @@ require_relative "seam/clients/workspaces"
12
12
  require_relative "seam/clients/connect_webviews"
13
13
  require_relative "seam/clients/connected_accounts"
14
14
  require_relative "seam/clients/access_codes"
15
+ require_relative "seam/clients/unmanaged_access_codes"
15
16
  require_relative "seam/clients/action_attempts"
16
17
  require_relative "seam/clients/events"
17
18
  require_relative "seam/resources/base_resource"
@@ -23,6 +24,7 @@ require_relative "seam/resources/device"
23
24
  require_relative "seam/resources/unmanaged_device"
24
25
  require_relative "seam/resources/device_provider"
25
26
  require_relative "seam/resources/access_code"
27
+ require_relative "seam/resources/unmanaged_access_code"
26
28
  require_relative "seam/resources/action_attempt"
27
29
  require_relative "seam/resources/connect_webview"
28
30
  require_relative "seam/resources/connected_account"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seamapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-06 00:00:00.000000000 Z
11
+ date: 2023-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -170,6 +170,7 @@ files:
170
170
  - lib/seam/clients/devices.rb
171
171
  - lib/seam/clients/events.rb
172
172
  - lib/seam/clients/locks.rb
173
+ - lib/seam/clients/unmanaged_access_codes.rb
173
174
  - lib/seam/clients/unmanaged_devices.rb
174
175
  - lib/seam/clients/workspaces.rb
175
176
  - lib/seam/logger.rb
@@ -186,6 +187,7 @@ files:
186
187
  - lib/seam/resources/resource_errors_support.rb
187
188
  - lib/seam/resources/resource_warning.rb
188
189
  - lib/seam/resources/resource_warnings_support.rb
190
+ - lib/seam/resources/unmanaged_access_code.rb
189
191
  - lib/seam/resources/unmanaged_device.rb
190
192
  - lib/seam/resources/workspace.rb
191
193
  - lib/seam/version.rb