seam 2.3.2 → 2.5.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/seam/routes/clients/access_codes.rb +1 -1
  4. data/lib/seam/routes/clients/acs.rb +0 -8
  5. data/lib/seam/routes/clients/acs_credentials.rb +2 -2
  6. data/lib/seam/routes/clients/acs_encoders.rb +4 -4
  7. data/lib/seam/routes/clients/acs_encoders_simulate.rb +36 -0
  8. data/lib/seam/routes/clients/acs_users.rb +4 -4
  9. data/lib/seam/routes/clients/bridges.rb +24 -0
  10. data/lib/seam/routes/clients/devices.rb +0 -6
  11. data/lib/seam/routes/clients/events.rb +2 -2
  12. data/lib/seam/routes/clients/index.rb +3 -5
  13. data/lib/seam/routes/clients/phones.rb +6 -0
  14. data/lib/seam/routes/clients/thermostats.rb +4 -6
  15. data/lib/seam/routes/clients/thermostats_simulate.rb +24 -0
  16. data/lib/seam/routes/resources/acs_access_group.rb +2 -0
  17. data/lib/seam/routes/resources/acs_credential.rb +1 -1
  18. data/lib/seam/routes/resources/acs_encoder.rb +13 -0
  19. data/lib/seam/routes/resources/acs_entrance.rb +1 -1
  20. data/lib/seam/routes/resources/acs_system.rb +1 -1
  21. data/lib/seam/routes/resources/client_session.rb +1 -1
  22. data/lib/seam/routes/resources/event.rb +1 -1
  23. data/lib/seam/routes/resources/index.rb +4 -1
  24. data/lib/seam/routes/resources/phone.rb +1 -1
  25. data/lib/seam/routes/resources/unmanaged_acs_access_group.rb +13 -0
  26. data/lib/seam/routes/resources/unmanaged_acs_credential.rb +14 -0
  27. data/lib/seam/routes/resources/unmanaged_acs_user.rb +14 -0
  28. data/lib/seam/routes/routes.rb +4 -0
  29. data/lib/seam/version.rb +1 -1
  30. metadata +12 -11
  31. data/lib/seam/routes/clients/acs_access_groups_unmanaged.rb +0 -24
  32. data/lib/seam/routes/clients/acs_credential_pools.rb +0 -18
  33. data/lib/seam/routes/clients/acs_credential_provisioning_automations.rb +0 -18
  34. data/lib/seam/routes/clients/acs_credentials_unmanaged.rb +0 -24
  35. data/lib/seam/routes/clients/acs_users_unmanaged.rb +0 -24
  36. data/lib/seam/routes/resources/service_health.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8021a5c173122f3b94f93794cc375a3119af2237acc6d49fd4290a795eda9861
4
- data.tar.gz: 9abfaf6963d9fec7f764f9a7c644107d3b1bb8321bb47a861034f227037623f4
3
+ metadata.gz: d1a9acf167dd32f5024266d7d21bdd99b425039f6ee9b732940fcdb82f78833e
4
+ data.tar.gz: ea34a8913c7b374f84fbeaa406e72f883df2a6f51d2d6b1f6bfe6d85aea21531
5
5
  SHA512:
6
- metadata.gz: 026f63d334ec08141c03e767dbf83acb7c13683371bcbfd7d11d85a7949e49e751b5513df761fc3dda93f42a2624ffa71f2d8fa531acc5322cd839b8c39fcd0d
7
- data.tar.gz: c6b4b366bf2dd2c016b1d221364edff29b63f476de8030cad9af3902a743607549f6a481f281d5dcc41fde706cedd69c790cbe0292e2219e5d9489b05e21b2c6
6
+ metadata.gz: da01602a094fcaa3af47382d0a135a8658ed4e2396f71e9da2d8ee4e941f81dc92b2bbb6d55c6369e71e697318794fb7a08df8869183bb06ea77139c7bc60cdf
7
+ data.tar.gz: 53a962f30990925a88f28d520cca2873a4c42fb37d03315cc761ef561c9f4dcc720ce036f98fd1fdf2ed2a393fb912fa20619833cf13c1289639d98aa0710a96
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.3.2)
4
+ seam (2.5.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -55,7 +55,7 @@ module Seam
55
55
  def pull_backup_access_code(access_code_id:)
56
56
  res = @client.post("/access_codes/pull_backup_access_code", {access_code_id: access_code_id}.compact)
57
57
 
58
- Seam::Resources::AccessCode.load_from_response(res.body["backup_access_code"])
58
+ Seam::Resources::AccessCode.load_from_response(res.body["access_code"])
59
59
  end
60
60
 
61
61
  def update(access_code_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, device_id: nil, ends_at: nil, is_external_modification_allowed: nil, is_managed: nil, is_offline_access_code: nil, is_one_time_use: nil, max_time_rounding: nil, name: nil, prefer_native_scheduling: nil, preferred_code_length: nil, starts_at: nil, sync: nil, type: nil, use_backup_access_code_pool: nil, use_offline_access_code: nil)
@@ -12,14 +12,6 @@ module Seam
12
12
  @access_groups ||= Seam::Clients::AcsAccessGroups.new(client: @client, defaults: @defaults)
13
13
  end
14
14
 
15
- def credential_pools
16
- @credential_pools ||= Seam::Clients::AcsCredentialPools.new(client: @client, defaults: @defaults)
17
- end
18
-
19
- def credential_provisioning_automations
20
- @credential_provisioning_automations ||= Seam::Clients::AcsCredentialProvisioningAutomations.new(client: @client, defaults: @defaults)
21
- end
22
-
23
15
  def credentials
24
16
  @credentials ||= Seam::Clients::AcsCredentials.new(client: @client, defaults: @defaults)
25
17
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  nil
15
15
  end
16
16
 
17
- def create(access_method:, acs_user_id:, allowed_acs_entrance_ids: nil, assa_abloy_vostio_metadata: nil, code: nil, credential_manager_acs_system_id: nil, ends_at: nil, is_multi_phone_sync_credential: nil, starts_at: nil, visionline_metadata: nil)
18
- res = @client.post("/acs/credentials/create", {access_method: access_method, acs_user_id: acs_user_id, allowed_acs_entrance_ids: allowed_acs_entrance_ids, assa_abloy_vostio_metadata: assa_abloy_vostio_metadata, code: code, credential_manager_acs_system_id: credential_manager_acs_system_id, ends_at: ends_at, is_multi_phone_sync_credential: is_multi_phone_sync_credential, starts_at: starts_at, visionline_metadata: visionline_metadata}.compact)
17
+ def create(access_method:, acs_user_id:, allowed_acs_entrance_ids: nil, assa_abloy_vostio_metadata: nil, code: nil, credential_manager_acs_system_id: nil, ends_at: nil, is_multi_phone_sync_credential: nil, salto_space_metadata: nil, starts_at: nil, visionline_metadata: nil)
18
+ res = @client.post("/acs/credentials/create", {access_method: access_method, acs_user_id: acs_user_id, allowed_acs_entrance_ids: allowed_acs_entrance_ids, assa_abloy_vostio_metadata: assa_abloy_vostio_metadata, code: code, credential_manager_acs_system_id: credential_manager_acs_system_id, ends_at: ends_at, is_multi_phone_sync_credential: is_multi_phone_sync_credential, salto_space_metadata: salto_space_metadata, starts_at: starts_at, visionline_metadata: visionline_metadata}.compact)
19
19
 
20
20
  Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"])
21
21
  end
@@ -19,13 +19,13 @@ module Seam
19
19
  end
20
20
 
21
21
  def list(acs_system_id: nil, limit: nil, acs_system_ids: nil, acs_encoder_ids: nil)
22
- @client.post("/acs/encoders/list", {acs_system_id: acs_system_id, limit: limit, acs_system_ids: acs_system_ids, acs_encoder_ids: acs_encoder_ids}.compact)
22
+ res = @client.post("/acs/encoders/list", {acs_system_id: acs_system_id, limit: limit, acs_system_ids: acs_system_ids, acs_encoder_ids: acs_encoder_ids}.compact)
23
23
 
24
- nil
24
+ Seam::Resources::AcsEncoder.load_from_response(res.body["acs_encoders"])
25
25
  end
26
26
 
27
- def scan_credential(acs_encoder_id:, acs_system_id:, wait_for_action_attempt: nil)
28
- res = @client.post("/acs/encoders/scan_credential", {acs_encoder_id: acs_encoder_id, acs_system_id: acs_system_id}.compact)
27
+ def scan_credential(acs_encoder_id:, wait_for_action_attempt: nil)
28
+ res = @client.post("/acs/encoders/scan_credential", {acs_encoder_id: acs_encoder_id}.compact)
29
29
 
30
30
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
31
31
 
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class AcsEncodersSimulate
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def next_credential_encode_will_fail(acs_encoder_id:, error_code: nil, acs_credential_id: nil)
12
+ @client.post("/acs/encoders/simulate/next_credential_encode_will_fail", {acs_encoder_id: acs_encoder_id, error_code: error_code, acs_credential_id: acs_credential_id}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def next_credential_encode_will_succeed(acs_encoder_id:, scenario: nil)
18
+ @client.post("/acs/encoders/simulate/next_credential_encode_will_succeed", {acs_encoder_id: acs_encoder_id, scenario: scenario}.compact)
19
+
20
+ nil
21
+ end
22
+
23
+ def next_credential_scan_will_fail(acs_encoder_id:, error_code: nil, acs_credential_id_on_seam: nil)
24
+ @client.post("/acs/encoders/simulate/next_credential_scan_will_fail", {acs_encoder_id: acs_encoder_id, error_code: error_code, acs_credential_id_on_seam: acs_credential_id_on_seam}.compact)
25
+
26
+ nil
27
+ end
28
+
29
+ def next_credential_scan_will_succeed(acs_encoder_id:, acs_credential_id_on_seam: nil, scenario: nil)
30
+ @client.post("/acs/encoders/simulate/next_credential_scan_will_succeed", {acs_encoder_id: acs_encoder_id, acs_credential_id_on_seam: acs_credential_id_on_seam, scenario: scenario}.compact)
31
+
32
+ nil
33
+ end
34
+ end
35
+ end
36
+ end
@@ -14,8 +14,8 @@ module Seam
14
14
  nil
15
15
  end
16
16
 
17
- def create(acs_system_id:, access_schedule: nil, acs_access_group_ids: nil, email: nil, email_address: nil, full_name: nil, phone_number: nil, user_identity_id: nil)
18
- res = @client.post("/acs/users/create", {acs_system_id: acs_system_id, access_schedule: access_schedule, acs_access_group_ids: acs_access_group_ids, email: email, email_address: email_address, full_name: full_name, phone_number: phone_number, user_identity_id: user_identity_id}.compact)
17
+ def create(acs_system_id:, full_name:, access_schedule: nil, acs_access_group_ids: nil, email: nil, email_address: nil, phone_number: nil, user_identity_id: nil)
18
+ res = @client.post("/acs/users/create", {acs_system_id: acs_system_id, full_name: full_name, access_schedule: access_schedule, acs_access_group_ids: acs_access_group_ids, email: email, email_address: email_address, phone_number: phone_number, user_identity_id: user_identity_id}.compact)
19
19
 
20
20
  Seam::Resources::AcsUser.load_from_response(res.body["acs_user"])
21
21
  end
@@ -32,8 +32,8 @@ module Seam
32
32
  Seam::Resources::AcsUser.load_from_response(res.body["acs_user"])
33
33
  end
34
34
 
35
- def list(acs_system_id: nil, created_before: nil, limit: nil, user_identity_email_address: nil, user_identity_id: nil, user_identity_phone_number: nil)
36
- res = @client.post("/acs/users/list", {acs_system_id: acs_system_id, created_before: created_before, limit: limit, user_identity_email_address: user_identity_email_address, user_identity_id: user_identity_id, user_identity_phone_number: user_identity_phone_number}.compact)
35
+ def list(acs_system_id: nil, created_before: nil, limit: nil, page_cursor: nil, user_identity_email_address: nil, user_identity_id: nil, user_identity_phone_number: nil)
36
+ res = @client.post("/acs/users/list", {acs_system_id: acs_system_id, created_before: created_before, limit: limit, page_cursor: page_cursor, user_identity_email_address: user_identity_email_address, user_identity_id: user_identity_id, user_identity_phone_number: user_identity_phone_number}.compact)
37
37
 
38
38
  Seam::Resources::AcsUser.load_from_response(res.body["acs_users"])
39
39
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class Bridges
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def get(bridge_id:)
12
+ @client.post("/bridges/get", {bridge_id: bridge_id}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def list
18
+ @client.post("/bridges/list")
19
+
20
+ nil
21
+ end
22
+ end
23
+ end
24
+ end
@@ -16,12 +16,6 @@ module Seam
16
16
  @unmanaged ||= Seam::Clients::DevicesUnmanaged.new(client: @client, defaults: @defaults)
17
17
  end
18
18
 
19
- def delete(device_id:)
20
- @client.post("/devices/delete", {device_id: device_id}.compact)
21
-
22
- nil
23
- end
24
-
25
19
  def get(device_id: nil, name: nil)
26
20
  res = @client.post("/devices/get", {device_id: device_id, name: name}.compact)
27
21
 
@@ -14,8 +14,8 @@ module Seam
14
14
  Seam::Resources::SeamEvent.load_from_response(res.body["event"])
15
15
  end
16
16
 
17
- def list(access_code_id: nil, access_code_ids: nil, acs_system_id: nil, acs_system_ids: nil, between: nil, connect_webview_id: nil, connected_account_id: nil, device_id: nil, device_ids: nil, event_type: nil, event_types: nil, limit: nil, since: nil, unstable_offset: nil)
18
- res = @client.post("/events/list", {access_code_id: access_code_id, access_code_ids: access_code_ids, acs_system_id: acs_system_id, acs_system_ids: acs_system_ids, between: between, connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, device_id: device_id, device_ids: device_ids, event_type: event_type, event_types: event_types, limit: limit, since: since, unstable_offset: unstable_offset}.compact)
17
+ def list(access_code_id: nil, access_code_ids: nil, acs_system_id: nil, acs_system_ids: nil, between: nil, connect_webview_id: nil, connected_account_id: nil, device_id: nil, device_ids: nil, event_ids: nil, event_type: nil, event_types: nil, limit: nil, since: nil, unstable_offset: nil)
18
+ res = @client.post("/events/list", {access_code_id: access_code_id, access_code_ids: access_code_ids, acs_system_id: acs_system_id, acs_system_ids: acs_system_ids, between: between, connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, device_id: device_id, device_ids: device_ids, event_ids: event_ids, event_type: event_type, event_types: event_types, limit: limit, since: since, unstable_offset: unstable_offset}.compact)
19
19
 
20
20
  Seam::Resources::SeamEvent.load_from_response(res.body["events"])
21
21
  end
@@ -5,17 +5,14 @@ require_relative "access_codes_simulate"
5
5
  require_relative "access_codes_unmanaged"
6
6
  require_relative "acs_access_groups"
7
7
  require_relative "acs"
8
- require_relative "acs_access_groups_unmanaged"
9
- require_relative "acs_credential_pools"
10
- require_relative "acs_credential_provisioning_automations"
11
8
  require_relative "acs_credentials"
12
- require_relative "acs_credentials_unmanaged"
13
9
  require_relative "acs_encoders"
10
+ require_relative "acs_encoders_simulate"
14
11
  require_relative "acs_entrances"
15
12
  require_relative "acs_systems"
16
13
  require_relative "acs_users"
17
- require_relative "acs_users_unmanaged"
18
14
  require_relative "action_attempts"
15
+ require_relative "bridges"
19
16
  require_relative "client_sessions"
20
17
  require_relative "connect_webviews"
21
18
  require_relative "connected_accounts"
@@ -32,6 +29,7 @@ require_relative "phones"
32
29
  require_relative "phones_simulate"
33
30
  require_relative "thermostats"
34
31
  require_relative "thermostats_schedules"
32
+ require_relative "thermostats_simulate"
35
33
  require_relative "user_identities"
36
34
  require_relative "user_identities_enrollment_automations"
37
35
  require_relative "webhooks"
@@ -18,6 +18,12 @@ module Seam
18
18
  nil
19
19
  end
20
20
 
21
+ def get(device_id:)
22
+ res = @client.post("/phones/get", {device_id: device_id}.compact)
23
+
24
+ Seam::Resources::Phone.load_from_response(res.body["phone"])
25
+ end
26
+
21
27
  def list(acs_credential_id: nil, owner_user_identity_id: nil)
22
28
  res = @client.post("/phones/list", {acs_credential_id: acs_credential_id, owner_user_identity_id: owner_user_identity_id}.compact)
23
29
 
@@ -14,6 +14,10 @@ module Seam
14
14
  @schedules ||= Seam::Clients::ThermostatsSchedules.new(client: @client, defaults: @defaults)
15
15
  end
16
16
 
17
+ def simulate
18
+ @simulate ||= Seam::Clients::ThermostatsSimulate.new(client: @client, defaults: @defaults)
19
+ end
20
+
17
21
  def activate_climate_preset(climate_preset_key:, device_id:, wait_for_action_attempt: nil)
18
22
  res = @client.post("/thermostats/activate_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id}.compact)
19
23
 
@@ -42,12 +46,6 @@ module Seam
42
46
  nil
43
47
  end
44
48
 
45
- def get(device_id: nil, name: nil)
46
- res = @client.post("/thermostats/get", {device_id: device_id, name: name}.compact)
47
-
48
- Seam::Resources::Device.load_from_response(res.body["thermostat"])
49
- end
50
-
51
49
  def heat(device_id:, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, sync: nil, wait_for_action_attempt: nil)
52
50
  res = @client.post("/thermostats/heat", {device_id: device_id, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, sync: sync}.compact)
53
51
 
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class ThermostatsSimulate
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def hvac_mode_adjusted(device_id:, hvac_mode:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil)
12
+ @client.post("/thermostats/simulate/hvac_mode_adjusted", {device_id: device_id, hvac_mode: hvac_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def temperature_reached(device_id:, temperature_celsius: nil, temperature_fahrenheit: nil)
18
+ @client.post("/thermostats/simulate/temperature_reached", {device_id: device_id, temperature_celsius: temperature_celsius, temperature_fahrenheit: temperature_fahrenheit}.compact)
19
+
20
+ nil
21
+ end
22
+ end
23
+ end
24
+ end
@@ -6,6 +6,8 @@ module Seam
6
6
  attr_accessor :access_group_type, :access_group_type_display_name, :acs_access_group_id, :acs_system_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
+
10
+ include Seam::Resources::ResourceWarningsSupport
9
11
  end
10
12
  end
11
13
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AcsCredential < BaseResource
6
- attr_accessor :access_method, :acs_credential_id, :acs_credential_pool_id, :acs_system_id, :acs_user_id, :card_number, :code, :display_name, :ends_at, :external_type, :external_type_display_name, :is_issued, :is_latest_desired_state_synced_with_provider, :is_managed, :is_multi_phone_sync_credential, :parent_acs_credential_id, :starts_at, :visionline_metadata, :workspace_id
6
+ attr_accessor :access_method, :acs_credential_id, :acs_credential_pool_id, :acs_system_id, :acs_user_id, :assa_abloy_vostio_metadata, :card_number, :code, :display_name, :ends_at, :external_type, :external_type_display_name, :is_issued, :is_latest_desired_state_synced_with_provider, :is_managed, :is_multi_phone_sync_credential, :is_one_time_use, :parent_acs_credential_id, :starts_at, :visionline_metadata, :workspace_id
7
7
 
8
8
  date_accessor :created_at, :issued_at, :latest_desired_state_synced_with_provider_at
9
9
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Resources
5
+ class AcsEncoder < BaseResource
6
+ attr_accessor :acs_encoder_id, :acs_system_id, :display_name, :workspace_id
7
+
8
+ date_accessor :created_at
9
+
10
+ include Seam::Resources::ResourceErrorsSupport
11
+ end
12
+ end
13
+ end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AcsEntrance < BaseResource
6
- attr_accessor :acs_entrance_id, :acs_system_id, :assa_abloy_vostio_metadata, :display_name, :dormakaba_community_metadata, :latch_metadata, :salto_ks_metadata, :visionline_metadata
6
+ attr_accessor :acs_entrance_id, :acs_system_id, :assa_abloy_vostio_metadata, :display_name, :dormakaba_community_metadata, :latch_metadata, :salto_ks_metadata, :salto_space_metadata, :visionline_metadata
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AcsSystem < BaseResource
6
- attr_accessor :acs_system_id, :can_add_acs_users_to_acs_access_groups, :can_automate_enrollment, :can_create_acs_access_groups, :can_remove_acs_users_from_acs_access_groups, :connected_account_ids, :default_credential_manager_acs_system_id, :external_type, :external_type_display_name, :image_alt_text, :image_url, :is_credential_manager, :location, :name, :system_type, :system_type_display_name, :visionline_metadata, :workspace_id
6
+ attr_accessor :acs_system_id, :can_add_acs_users_to_acs_access_groups, :can_automate_enrollment, :can_create_acs_access_groups, :can_remove_acs_users_from_acs_access_groups, :connected_account_id, :connected_account_ids, :default_credential_manager_acs_system_id, :external_type, :external_type_display_name, :image_alt_text, :image_url, :is_credential_manager, :location, :name, :system_type, :system_type_display_name, :visionline_metadata, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -5,7 +5,7 @@ module Seam
5
5
  class ClientSession < BaseResource
6
6
  attr_accessor :client_session_id, :connect_webview_ids, :connected_account_ids, :device_count, :token, :user_identifier_key, :user_identity_ids, :workspace_id
7
7
 
8
- date_accessor :created_at
8
+ date_accessor :created_at, :expires_at
9
9
  end
10
10
  end
11
11
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class SeamEvent < BaseResource
6
- attr_accessor :acs_credential_id, :acs_system_id, :acs_user_id, :action_attempt_id, :client_session_id, :climate_preset_key, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :device_id, :enrollment_automation_id, :event_description, :event_id, :event_type, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :is_fallback_climate_preset, :method, :thermostat_schedule_id, :workspace_id
6
+ attr_accessor :access_code_id, :connected_account_id, :device_id, :event_id, :event_type, :workspace_id, :code, :backup_access_code_id, :acs_system_id, :acs_credential_id, :acs_user_id, :acs_encoder_id, :acs_access_group_id, :client_session_id, :connect_webview_id, :action_attempt_id, :action_type, :status, :error_code, :battery_level, :battery_status, :minut_metadata, :noise_level_decibels, :noise_level_nrs, :noise_threshold_id, :noise_threshold_name, :noiseaware_metadata, :method, :climate_preset_key, :is_fallback_climate_preset, :thermostat_schedule_id, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :lower_limit_celsius, :lower_limit_fahrenheit, :temperature_celsius, :temperature_fahrenheit, :upper_limit_celsius, :upper_limit_fahrenheit, :desired_temperature_celsius, :desired_temperature_fahrenheit, :enrollment_automation_id
7
7
 
8
8
  date_accessor :created_at, :occurred_at
9
9
  end
@@ -10,6 +10,7 @@ require_relative "acs_access_group"
10
10
  require_relative "acs_credential"
11
11
  require_relative "acs_credential_pool"
12
12
  require_relative "acs_credential_provisioning_automation"
13
+ require_relative "acs_encoder"
13
14
  require_relative "acs_entrance"
14
15
  require_relative "acs_system"
15
16
  require_relative "acs_user"
@@ -24,9 +25,11 @@ require_relative "event"
24
25
  require_relative "network"
25
26
  require_relative "noise_threshold"
26
27
  require_relative "phone"
27
- require_relative "service_health"
28
28
  require_relative "thermostat_schedule"
29
29
  require_relative "unmanaged_access_code"
30
+ require_relative "unmanaged_acs_access_group"
31
+ require_relative "unmanaged_acs_credential"
32
+ require_relative "unmanaged_acs_user"
30
33
  require_relative "unmanaged_device"
31
34
  require_relative "user_identity"
32
35
  require_relative "webhook"
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class Phone < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :capabilities_supported, :custom_metadata, :device_id, :device_type, :display_name, :is_managed, :location, :nickname, :properties, :workspace_id
6
+ attr_accessor :custom_metadata, :device_id, :device_type, :display_name, :nickname, :properties, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Resources
5
+ class UnmanagedAcsAccessGroup < BaseResource
6
+ attr_accessor :access_group_type, :access_group_type_display_name, :acs_access_group_id, :acs_system_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :workspace_id
7
+
8
+ date_accessor :created_at
9
+
10
+ include Seam::Resources::ResourceWarningsSupport
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Resources
5
+ class UnmanagedAcsCredential < BaseResource
6
+ attr_accessor :access_method, :acs_credential_id, :acs_credential_pool_id, :acs_system_id, :acs_user_id, :assa_abloy_vostio_metadata, :card_number, :code, :display_name, :ends_at, :external_type, :external_type_display_name, :is_issued, :is_latest_desired_state_synced_with_provider, :is_managed, :is_multi_phone_sync_credential, :is_one_time_use, :parent_acs_credential_id, :starts_at, :visionline_metadata, :workspace_id
7
+
8
+ date_accessor :created_at, :issued_at, :latest_desired_state_synced_with_provider_at
9
+
10
+ include Seam::Resources::ResourceErrorsSupport
11
+ include Seam::Resources::ResourceWarningsSupport
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Resources
5
+ class UnmanagedAcsUser < BaseResource
6
+ attr_accessor :access_schedule, :acs_system_id, :acs_user_id, :display_name, :email, :email_address, :external_type, :external_type_display_name, :full_name, :hid_acs_system_id, :is_latest_desired_state_synced_with_provider, :is_managed, :is_suspended, :phone_number, :user_identity_email_address, :user_identity_full_name, :user_identity_id, :user_identity_phone_number, :workspace_id
7
+
8
+ date_accessor :created_at, :latest_desired_state_synced_with_provider_at
9
+
10
+ include Seam::Resources::ResourceErrorsSupport
11
+ include Seam::Resources::ResourceWarningsSupport
12
+ end
13
+ end
14
+ end
@@ -14,6 +14,10 @@ module Seam
14
14
  @action_attempts ||= Seam::Clients::ActionAttempts.new(client: @client, defaults: @defaults)
15
15
  end
16
16
 
17
+ def bridges
18
+ @bridges ||= Seam::Clients::Bridges.new(client: @client, defaults: @defaults)
19
+ end
20
+
17
21
  def client_sessions
18
22
  @client_sessions ||= Seam::Clients::ClientSessions.new(client: @client, defaults: @defaults)
19
23
  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 = "2.3.2"
4
+ VERSION = "2.5.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-16 00:00:00.000000000 Z
11
+ date: 2025-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -207,17 +207,14 @@ files:
207
207
  - lib/seam/routes/clients/access_codes_unmanaged.rb
208
208
  - lib/seam/routes/clients/acs.rb
209
209
  - lib/seam/routes/clients/acs_access_groups.rb
210
- - lib/seam/routes/clients/acs_access_groups_unmanaged.rb
211
- - lib/seam/routes/clients/acs_credential_pools.rb
212
- - lib/seam/routes/clients/acs_credential_provisioning_automations.rb
213
210
  - lib/seam/routes/clients/acs_credentials.rb
214
- - lib/seam/routes/clients/acs_credentials_unmanaged.rb
215
211
  - lib/seam/routes/clients/acs_encoders.rb
212
+ - lib/seam/routes/clients/acs_encoders_simulate.rb
216
213
  - lib/seam/routes/clients/acs_entrances.rb
217
214
  - lib/seam/routes/clients/acs_systems.rb
218
215
  - lib/seam/routes/clients/acs_users.rb
219
- - lib/seam/routes/clients/acs_users_unmanaged.rb
220
216
  - lib/seam/routes/clients/action_attempts.rb
217
+ - lib/seam/routes/clients/bridges.rb
221
218
  - lib/seam/routes/clients/client_sessions.rb
222
219
  - lib/seam/routes/clients/connect_webviews.rb
223
220
  - lib/seam/routes/clients/connected_accounts.rb
@@ -235,6 +232,7 @@ files:
235
232
  - lib/seam/routes/clients/phones_simulate.rb
236
233
  - lib/seam/routes/clients/thermostats.rb
237
234
  - lib/seam/routes/clients/thermostats_schedules.rb
235
+ - lib/seam/routes/clients/thermostats_simulate.rb
238
236
  - lib/seam/routes/clients/user_identities.rb
239
237
  - lib/seam/routes/clients/user_identities_enrollment_automations.rb
240
238
  - lib/seam/routes/clients/webhooks.rb
@@ -244,6 +242,7 @@ files:
244
242
  - lib/seam/routes/resources/acs_credential.rb
245
243
  - lib/seam/routes/resources/acs_credential_pool.rb
246
244
  - lib/seam/routes/resources/acs_credential_provisioning_automation.rb
245
+ - lib/seam/routes/resources/acs_encoder.rb
247
246
  - lib/seam/routes/resources/acs_entrance.rb
248
247
  - lib/seam/routes/resources/acs_system.rb
249
248
  - lib/seam/routes/resources/acs_user.rb
@@ -263,9 +262,11 @@ files:
263
262
  - lib/seam/routes/resources/resource_errors_support.rb
264
263
  - lib/seam/routes/resources/resource_warning.rb
265
264
  - lib/seam/routes/resources/resource_warnings_support.rb
266
- - lib/seam/routes/resources/service_health.rb
267
265
  - lib/seam/routes/resources/thermostat_schedule.rb
268
266
  - lib/seam/routes/resources/unmanaged_access_code.rb
267
+ - lib/seam/routes/resources/unmanaged_acs_access_group.rb
268
+ - lib/seam/routes/resources/unmanaged_acs_credential.rb
269
+ - lib/seam/routes/resources/unmanaged_acs_user.rb
269
270
  - lib/seam/routes/resources/unmanaged_device.rb
270
271
  - lib/seam/routes/resources/user_identity.rb
271
272
  - lib/seam/routes/resources/webhook.rb
@@ -284,7 +285,7 @@ metadata:
284
285
  bug_tracker_uri: https://github.com/seamapi/ruby-next/issues
285
286
  changelog_uri: https://github.com/seamapi/ruby-next/blob/main/CHANGELOG.md
286
287
  github_repo: git@github.com:seamapi/ruby-next.git
287
- post_install_message:
288
+ post_install_message:
288
289
  rdoc_options: []
289
290
  require_paths:
290
291
  - lib
@@ -300,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
300
301
  version: '0'
301
302
  requirements: []
302
303
  rubygems_version: 3.5.3
303
- signing_key:
304
+ signing_key:
304
305
  specification_version: 4
305
306
  summary: Seam Ruby SDK
306
307
  test_files: []
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class AcsAccessGroupsUnmanaged
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def get(acs_access_group_id:)
12
- @client.post("/acs/access_groups/unmanaged/get", {acs_access_group_id: acs_access_group_id}.compact)
13
-
14
- nil
15
- end
16
-
17
- def list(acs_system_id: nil, acs_user_id: nil)
18
- @client.post("/acs/access_groups/unmanaged/list", {acs_system_id: acs_system_id, acs_user_id: acs_user_id}.compact)
19
-
20
- nil
21
- end
22
- end
23
- end
24
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class AcsCredentialPools
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def list(acs_system_id:)
12
- res = @client.post("/acs/credential_pools/list", {acs_system_id: acs_system_id}.compact)
13
-
14
- Seam::Resources::AcsCredentialPool.load_from_response(res.body["acs_credential_pools"])
15
- end
16
- end
17
- end
18
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class AcsCredentialProvisioningAutomations
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def launch(credential_manager_acs_system_id:, user_identity_id:, acs_credential_pool_id: nil, create_credential_manager_user: nil, credential_manager_acs_user_id: nil)
12
- res = @client.post("/acs/credential_provisioning_automations/launch", {credential_manager_acs_system_id: credential_manager_acs_system_id, user_identity_id: user_identity_id, acs_credential_pool_id: acs_credential_pool_id, create_credential_manager_user: create_credential_manager_user, credential_manager_acs_user_id: credential_manager_acs_user_id}.compact)
13
-
14
- Seam::Resources::AcsCredentialProvisioningAutomation.load_from_response(res.body["acs_credential_provisioning_automation"])
15
- end
16
- end
17
- end
18
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class AcsCredentialsUnmanaged
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def get(acs_credential_id:)
12
- @client.post("/acs/credentials/unmanaged/get", {acs_credential_id: acs_credential_id}.compact)
13
-
14
- nil
15
- end
16
-
17
- def list(acs_user_id: nil, acs_system_id: nil, user_identity_id: nil)
18
- @client.post("/acs/credentials/unmanaged/list", {acs_user_id: acs_user_id, acs_system_id: acs_system_id, user_identity_id: user_identity_id}.compact)
19
-
20
- nil
21
- end
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class AcsUsersUnmanaged
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def get(acs_user_id:)
12
- @client.post("/acs/users/unmanaged/get", {acs_user_id: acs_user_id}.compact)
13
-
14
- nil
15
- end
16
-
17
- def list(acs_system_id: nil, limit: nil, user_identity_email_address: nil, user_identity_id: nil, user_identity_phone_number: nil)
18
- @client.post("/acs/users/unmanaged/list", {acs_system_id: acs_system_id, limit: limit, user_identity_email_address: user_identity_email_address, user_identity_id: user_identity_id, user_identity_phone_number: user_identity_phone_number}.compact)
19
-
20
- nil
21
- end
22
- end
23
- end
24
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Resources
5
- class ServiceHealth < BaseResource
6
- attr_accessor :description, :service, :status
7
- end
8
- end
9
- end