seamapi 1.13.0 → 1.15.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.
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