seam 2.3.2 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) 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_access_groups_unmanaged.rb +4 -4
  5. data/lib/seam/routes/clients/acs_credentials.rb +8 -2
  6. data/lib/seam/routes/clients/acs_credentials_unmanaged.rb +4 -4
  7. data/lib/seam/routes/clients/acs_encoders.rb +4 -4
  8. data/lib/seam/routes/clients/acs_encoders_simulate.rb +36 -0
  9. data/lib/seam/routes/clients/acs_users.rb +2 -2
  10. data/lib/seam/routes/clients/acs_users_unmanaged.rb +4 -4
  11. data/lib/seam/routes/clients/bridges.rb +24 -0
  12. data/lib/seam/routes/clients/index.rb +3 -0
  13. data/lib/seam/routes/clients/phones.rb +6 -0
  14. data/lib/seam/routes/clients/thermostats.rb +4 -0
  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 -6
  31. 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: 6fd920983a08afea0ad7077a09189dcd9431f214c450dd3356630333c6fbcf04
4
+ data.tar.gz: 238b1af59f8fcf390622185b640937bfc016d95756ead641c0499c7687577626
5
5
  SHA512:
6
- metadata.gz: 026f63d334ec08141c03e767dbf83acb7c13683371bcbfd7d11d85a7949e49e751b5513df761fc3dda93f42a2624ffa71f2d8fa531acc5322cd839b8c39fcd0d
7
- data.tar.gz: c6b4b366bf2dd2c016b1d221364edff29b63f476de8030cad9af3902a743607549f6a481f281d5dcc41fde706cedd69c790cbe0292e2219e5d9489b05e21b2c6
6
+ metadata.gz: b5400af12dc43967b8bcc53a6436ffbbbc3e612d112f7d63b9daf4fb3efa3a4bba01fdedbd0aca0388a443d4705f024bbca5192e1a1de2902886411608bfc581
7
+ data.tar.gz: 5693d3a1970b412f00849fa144f97604625b4cf285bf4ebc7e1ec66ee8efdbc214b19812cc0021de7e2187497626d6de87053f586fe0ab5e8a2a56a7cc390adc
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.4.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)
@@ -9,15 +9,15 @@ module Seam
9
9
  end
10
10
 
11
11
  def get(acs_access_group_id:)
12
- @client.post("/acs/access_groups/unmanaged/get", {acs_access_group_id: acs_access_group_id}.compact)
12
+ res = @client.post("/acs/access_groups/unmanaged/get", {acs_access_group_id: acs_access_group_id}.compact)
13
13
 
14
- nil
14
+ Seam::Resources::UnmanagedAcsAccessGroup.load_from_response(res.body["acs_access_group"])
15
15
  end
16
16
 
17
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)
18
+ res = @client.post("/acs/access_groups/unmanaged/list", {acs_system_id: acs_system_id, acs_user_id: acs_user_id}.compact)
19
19
 
20
- nil
20
+ Seam::Resources::UnmanagedAcsAccessGroup.load_from_response(res.body["acs_access_groups"])
21
21
  end
22
22
  end
23
23
  end
@@ -14,8 +14,14 @@ 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
+
20
+ Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"])
21
+ end
22
+
23
+ def create_offline_code(acs_user_id:, allowed_acs_entrance_id:, ends_at: nil, is_one_time_use: nil, starts_at: nil)
24
+ res = @client.post("/acs/credentials/create_offline_code", {acs_user_id: acs_user_id, allowed_acs_entrance_id: allowed_acs_entrance_id, ends_at: ends_at, is_one_time_use: is_one_time_use, starts_at: starts_at}.compact)
19
25
 
20
26
  Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"])
21
27
  end
@@ -9,15 +9,15 @@ module Seam
9
9
  end
10
10
 
11
11
  def get(acs_credential_id:)
12
- @client.post("/acs/credentials/unmanaged/get", {acs_credential_id: acs_credential_id}.compact)
12
+ res = @client.post("/acs/credentials/unmanaged/get", {acs_credential_id: acs_credential_id}.compact)
13
13
 
14
- nil
14
+ Seam::Resources::UnmanagedAcsCredential.load_from_response(res.body["acs_credential"])
15
15
  end
16
16
 
17
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)
18
+ res = @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
19
 
20
- nil
20
+ Seam::Resources::UnmanagedAcsCredential.load_from_response(res.body["acs_credentials"])
21
21
  end
22
22
  end
23
23
  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
@@ -9,15 +9,15 @@ module Seam
9
9
  end
10
10
 
11
11
  def get(acs_user_id:)
12
- @client.post("/acs/users/unmanaged/get", {acs_user_id: acs_user_id}.compact)
12
+ res = @client.post("/acs/users/unmanaged/get", {acs_user_id: acs_user_id}.compact)
13
13
 
14
- nil
14
+ Seam::Resources::UnmanagedAcsUser.load_from_response(res.body["acs_user"])
15
15
  end
16
16
 
17
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)
18
+ res = @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
19
 
20
- nil
20
+ Seam::Resources::UnmanagedAcsUser.load_from_response(res.body["acs_users"])
21
21
  end
22
22
  end
23
23
  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
@@ -11,11 +11,13 @@ require_relative "acs_credential_provisioning_automations"
11
11
  require_relative "acs_credentials"
12
12
  require_relative "acs_credentials_unmanaged"
13
13
  require_relative "acs_encoders"
14
+ require_relative "acs_encoders_simulate"
14
15
  require_relative "acs_entrances"
15
16
  require_relative "acs_systems"
16
17
  require_relative "acs_users"
17
18
  require_relative "acs_users_unmanaged"
18
19
  require_relative "action_attempts"
20
+ require_relative "bridges"
19
21
  require_relative "client_sessions"
20
22
  require_relative "connect_webviews"
21
23
  require_relative "connected_accounts"
@@ -32,6 +34,7 @@ require_relative "phones"
32
34
  require_relative "phones_simulate"
33
35
  require_relative "thermostats"
34
36
  require_relative "thermostats_schedules"
37
+ require_relative "thermostats_simulate"
35
38
  require_relative "user_identities"
36
39
  require_relative "user_identities_enrollment_automations"
37
40
  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
 
@@ -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.4.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.4.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-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -213,11 +213,13 @@ files:
213
213
  - lib/seam/routes/clients/acs_credentials.rb
214
214
  - lib/seam/routes/clients/acs_credentials_unmanaged.rb
215
215
  - lib/seam/routes/clients/acs_encoders.rb
216
+ - lib/seam/routes/clients/acs_encoders_simulate.rb
216
217
  - lib/seam/routes/clients/acs_entrances.rb
217
218
  - lib/seam/routes/clients/acs_systems.rb
218
219
  - lib/seam/routes/clients/acs_users.rb
219
220
  - lib/seam/routes/clients/acs_users_unmanaged.rb
220
221
  - lib/seam/routes/clients/action_attempts.rb
222
+ - lib/seam/routes/clients/bridges.rb
221
223
  - lib/seam/routes/clients/client_sessions.rb
222
224
  - lib/seam/routes/clients/connect_webviews.rb
223
225
  - lib/seam/routes/clients/connected_accounts.rb
@@ -235,6 +237,7 @@ files:
235
237
  - lib/seam/routes/clients/phones_simulate.rb
236
238
  - lib/seam/routes/clients/thermostats.rb
237
239
  - lib/seam/routes/clients/thermostats_schedules.rb
240
+ - lib/seam/routes/clients/thermostats_simulate.rb
238
241
  - lib/seam/routes/clients/user_identities.rb
239
242
  - lib/seam/routes/clients/user_identities_enrollment_automations.rb
240
243
  - lib/seam/routes/clients/webhooks.rb
@@ -244,6 +247,7 @@ files:
244
247
  - lib/seam/routes/resources/acs_credential.rb
245
248
  - lib/seam/routes/resources/acs_credential_pool.rb
246
249
  - lib/seam/routes/resources/acs_credential_provisioning_automation.rb
250
+ - lib/seam/routes/resources/acs_encoder.rb
247
251
  - lib/seam/routes/resources/acs_entrance.rb
248
252
  - lib/seam/routes/resources/acs_system.rb
249
253
  - lib/seam/routes/resources/acs_user.rb
@@ -263,9 +267,11 @@ files:
263
267
  - lib/seam/routes/resources/resource_errors_support.rb
264
268
  - lib/seam/routes/resources/resource_warning.rb
265
269
  - lib/seam/routes/resources/resource_warnings_support.rb
266
- - lib/seam/routes/resources/service_health.rb
267
270
  - lib/seam/routes/resources/thermostat_schedule.rb
268
271
  - lib/seam/routes/resources/unmanaged_access_code.rb
272
+ - lib/seam/routes/resources/unmanaged_acs_access_group.rb
273
+ - lib/seam/routes/resources/unmanaged_acs_credential.rb
274
+ - lib/seam/routes/resources/unmanaged_acs_user.rb
269
275
  - lib/seam/routes/resources/unmanaged_device.rb
270
276
  - lib/seam/routes/resources/user_identity.rb
271
277
  - lib/seam/routes/resources/webhook.rb
@@ -284,7 +290,7 @@ metadata:
284
290
  bug_tracker_uri: https://github.com/seamapi/ruby-next/issues
285
291
  changelog_uri: https://github.com/seamapi/ruby-next/blob/main/CHANGELOG.md
286
292
  github_repo: git@github.com:seamapi/ruby-next.git
287
- post_install_message:
293
+ post_install_message:
288
294
  rdoc_options: []
289
295
  require_paths:
290
296
  - lib
@@ -300,7 +306,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
300
306
  version: '0'
301
307
  requirements: []
302
308
  rubygems_version: 3.5.3
303
- signing_key:
309
+ signing_key:
304
310
  specification_version: 4
305
311
  summary: Seam Ruby SDK
306
312
  test_files: []
@@ -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