diff --git a/lib/seam/routes/clients/access_codes.rb b/lib/seam/routes/clients/access_codes.rb index 5efc0db3..33072f66 100644 --- a/lib/seam/routes/clients/access_codes.rb +++ b/lib/seam/routes/clients/access_codes.rb @@ -55,7 +55,7 @@ def list(access_code_ids: nil, device_id: nil, user_identifier_key: nil) def pull_backup_access_code(access_code_id:) res = @client.post("/access_codes/pull_backup_access_code", {access_code_id: access_code_id}.compact) - Seam::Resources::AccessCode.load_from_response(res.body["backup_access_code"]) + Seam::Resources::AccessCode.load_from_response(res.body["access_code"]) end 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) diff --git a/lib/seam/routes/clients/acs_access_groups_unmanaged.rb b/lib/seam/routes/clients/acs_access_groups_unmanaged.rb index e563ca3e..5bf02d2a 100644 --- a/lib/seam/routes/clients/acs_access_groups_unmanaged.rb +++ b/lib/seam/routes/clients/acs_access_groups_unmanaged.rb @@ -9,15 +9,15 @@ def initialize(client:, defaults:) end def get(acs_access_group_id:) - @client.post("/acs/access_groups/unmanaged/get", {acs_access_group_id: acs_access_group_id}.compact) + res = @client.post("/acs/access_groups/unmanaged/get", {acs_access_group_id: acs_access_group_id}.compact) - nil + Seam::Resources::UnmanagedAcsAccessGroup.load_from_response(res.body["acs_access_group"]) end def list(acs_system_id: nil, acs_user_id: nil) - @client.post("/acs/access_groups/unmanaged/list", {acs_system_id: acs_system_id, acs_user_id: acs_user_id}.compact) + res = @client.post("/acs/access_groups/unmanaged/list", {acs_system_id: acs_system_id, acs_user_id: acs_user_id}.compact) - nil + Seam::Resources::UnmanagedAcsAccessGroup.load_from_response(res.body["acs_access_groups"]) end end end diff --git a/lib/seam/routes/clients/acs_credentials.rb b/lib/seam/routes/clients/acs_credentials.rb index 6e674362..28adccec 100644 --- a/lib/seam/routes/clients/acs_credentials.rb +++ b/lib/seam/routes/clients/acs_credentials.rb @@ -14,8 +14,14 @@ def assign(acs_credential_id:, acs_user_id:) nil end - 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) - 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) + 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) + 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) + + Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"]) + end + + def create_offline_code(acs_user_id:, allowed_acs_entrance_id:, ends_at: nil, is_one_time_use: nil, starts_at: nil) + 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) Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"]) end diff --git a/lib/seam/routes/clients/acs_credentials_unmanaged.rb b/lib/seam/routes/clients/acs_credentials_unmanaged.rb index 7e9c2f03..05a9e6e8 100644 --- a/lib/seam/routes/clients/acs_credentials_unmanaged.rb +++ b/lib/seam/routes/clients/acs_credentials_unmanaged.rb @@ -9,15 +9,15 @@ def initialize(client:, defaults:) end def get(acs_credential_id:) - @client.post("/acs/credentials/unmanaged/get", {acs_credential_id: acs_credential_id}.compact) + res = @client.post("/acs/credentials/unmanaged/get", {acs_credential_id: acs_credential_id}.compact) - nil + Seam::Resources::UnmanagedAcsCredential.load_from_response(res.body["acs_credential"]) end def list(acs_user_id: nil, acs_system_id: nil, user_identity_id: nil) - @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) + 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) - nil + Seam::Resources::UnmanagedAcsCredential.load_from_response(res.body["acs_credentials"]) end end end diff --git a/lib/seam/routes/clients/acs_encoders.rb b/lib/seam/routes/clients/acs_encoders.rb index 955b6474..84155eca 100644 --- a/lib/seam/routes/clients/acs_encoders.rb +++ b/lib/seam/routes/clients/acs_encoders.rb @@ -19,13 +19,13 @@ def encode_credential(acs_credential_id:, acs_encoder_id:, wait_for_action_attem end def list(acs_system_id: nil, limit: nil, acs_system_ids: nil, acs_encoder_ids: nil) - @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) + 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) - nil + Seam::Resources::AcsEncoder.load_from_response(res.body["acs_encoders"]) end - def scan_credential(acs_encoder_id:, acs_system_id:, wait_for_action_attempt: nil) - res = @client.post("/acs/encoders/scan_credential", {acs_encoder_id: acs_encoder_id, acs_system_id: acs_system_id}.compact) + def scan_credential(acs_encoder_id:, wait_for_action_attempt: nil) + res = @client.post("/acs/encoders/scan_credential", {acs_encoder_id: acs_encoder_id}.compact) wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt diff --git a/lib/seam/routes/clients/acs_encoders_simulate.rb b/lib/seam/routes/clients/acs_encoders_simulate.rb new file mode 100644 index 00000000..8494742e --- /dev/null +++ b/lib/seam/routes/clients/acs_encoders_simulate.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Seam + module Clients + class AcsEncodersSimulate + def initialize(client:, defaults:) + @client = client + @defaults = defaults + end + + def next_credential_encode_will_fail(acs_encoder_id:, error_code: nil, acs_credential_id: nil) + @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) + + nil + end + + def next_credential_encode_will_succeed(acs_encoder_id:, scenario: nil) + @client.post("/acs/encoders/simulate/next_credential_encode_will_succeed", {acs_encoder_id: acs_encoder_id, scenario: scenario}.compact) + + nil + end + + def next_credential_scan_will_fail(acs_encoder_id:, error_code: nil, acs_credential_id_on_seam: nil) + @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) + + nil + end + + def next_credential_scan_will_succeed(acs_encoder_id:, acs_credential_id_on_seam: nil, scenario: nil) + @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) + + nil + end + end + end +end diff --git a/lib/seam/routes/clients/acs_users.rb b/lib/seam/routes/clients/acs_users.rb index 7533b512..fe0ab4d9 100644 --- a/lib/seam/routes/clients/acs_users.rb +++ b/lib/seam/routes/clients/acs_users.rb @@ -14,8 +14,8 @@ def add_to_access_group(acs_access_group_id:, acs_user_id:) nil end - 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) - 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) + 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) + 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) Seam::Resources::AcsUser.load_from_response(res.body["acs_user"]) end diff --git a/lib/seam/routes/clients/acs_users_unmanaged.rb b/lib/seam/routes/clients/acs_users_unmanaged.rb index da2f5978..e23d575c 100644 --- a/lib/seam/routes/clients/acs_users_unmanaged.rb +++ b/lib/seam/routes/clients/acs_users_unmanaged.rb @@ -9,15 +9,15 @@ def initialize(client:, defaults:) end def get(acs_user_id:) - @client.post("/acs/users/unmanaged/get", {acs_user_id: acs_user_id}.compact) + res = @client.post("/acs/users/unmanaged/get", {acs_user_id: acs_user_id}.compact) - nil + Seam::Resources::UnmanagedAcsUser.load_from_response(res.body["acs_user"]) end def list(acs_system_id: nil, limit: nil, user_identity_email_address: nil, user_identity_id: nil, user_identity_phone_number: nil) - @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) + 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) - nil + Seam::Resources::UnmanagedAcsUser.load_from_response(res.body["acs_users"]) end end end diff --git a/lib/seam/routes/clients/bridges.rb b/lib/seam/routes/clients/bridges.rb new file mode 100644 index 00000000..1ede1154 --- /dev/null +++ b/lib/seam/routes/clients/bridges.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Seam + module Clients + class Bridges + def initialize(client:, defaults:) + @client = client + @defaults = defaults + end + + def get(bridge_id:) + @client.post("/bridges/get", {bridge_id: bridge_id}.compact) + + nil + end + end + end +end diff --git a/lib/seam/routes/clients/index.rb b/lib/seam/routes/clients/index.rb index d08e382e..b8443563 100644 --- a/lib/seam/routes/clients/index.rb +++ b/lib/seam/routes/clients/index.rb @@ -11,11 +11,13 @@ require_relative "acs_credentials" require_relative "acs_credentials_unmanaged" require_relative "acs_encoders" +require_relative "acs_encoders_simulate" require_relative "acs_entrances" require_relative "acs_systems" require_relative "acs_users" require_relative "acs_users_unmanaged" require_relative "action_attempts" +require_relative "bridges" require_relative "client_sessions" require_relative "connect_webviews" require_relative "connected_accounts" @@ -32,6 +34,7 @@ require_relative "phones_simulate" require_relative "thermostats" require_relative "thermostats_schedules" +require_relative "thermostats_simulate" require_relative "user_identities" require_relative "user_identities_enrollment_automations" require_relative "webhooks" diff --git a/lib/seam/routes/clients/thermostats.rb b/lib/seam/routes/clients/thermostats.rb index b8e1fc11..6437b9d2 100644 --- a/lib/seam/routes/clients/thermostats.rb +++ b/lib/seam/routes/clients/thermostats.rb @@ -14,6 +14,10 @@ def schedules @schedules ||= Seam::Clients::ThermostatsSchedules.new(client: @client, defaults: @defaults) end + def simulate + @simulate ||= Seam::Clients::ThermostatsSimulate.new(client: @client, defaults: @defaults) + end + def activate_climate_preset(climate_preset_key:, device_id:, wait_for_action_attempt: nil) res = @client.post("/thermostats/activate_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id}.compact) diff --git a/lib/seam/routes/clients/thermostats_simulate.rb b/lib/seam/routes/clients/thermostats_simulate.rb new file mode 100644 index 00000000..17b8405c --- /dev/null +++ b/lib/seam/routes/clients/thermostats_simulate.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Seam + module Clients + class ThermostatsSimulate + def initialize(client:, defaults:) + @client = client + @defaults = defaults + end + + 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) + @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) + + nil + end + + def temperature_reached(device_id:, temperature_celsius: nil, temperature_fahrenheit: nil) + @client.post("/thermostats/simulate/temperature_reached", {device_id: device_id, temperature_celsius: temperature_celsius, temperature_fahrenheit: temperature_fahrenheit}.compact) + + nil + end + end + end +end diff --git a/lib/seam/routes/resources/acs_access_group.rb b/lib/seam/routes/resources/acs_access_group.rb index d797da91..f8ebe0ac 100644 --- a/lib/seam/routes/resources/acs_access_group.rb +++ b/lib/seam/routes/resources/acs_access_group.rb @@ -6,6 +6,8 @@ class AcsAccessGroup < BaseResource 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 date_accessor :created_at + + include Seam::Resources::ResourceWarningsSupport end end end diff --git a/lib/seam/routes/resources/acs_credential.rb b/lib/seam/routes/resources/acs_credential.rb index 4cb87ac0..b7511b20 100644 --- a/lib/seam/routes/resources/acs_credential.rb +++ b/lib/seam/routes/resources/acs_credential.rb @@ -3,7 +3,7 @@ module Seam module Resources class AcsCredential < BaseResource - 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 + 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 date_accessor :created_at, :issued_at, :latest_desired_state_synced_with_provider_at diff --git a/lib/seam/routes/resources/acs_encoder.rb b/lib/seam/routes/resources/acs_encoder.rb new file mode 100644 index 00000000..0439bfe8 --- /dev/null +++ b/lib/seam/routes/resources/acs_encoder.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Seam + module Resources + class AcsEncoder < BaseResource + attr_accessor :acs_encoder_id, :acs_system_id, :display_name, :workspace_id + + date_accessor :created_at + + include Seam::Resources::ResourceErrorsSupport + end + end +end diff --git a/lib/seam/routes/resources/acs_entrance.rb b/lib/seam/routes/resources/acs_entrance.rb index bf6be917..0b0549e6 100644 --- a/lib/seam/routes/resources/acs_entrance.rb +++ b/lib/seam/routes/resources/acs_entrance.rb @@ -3,7 +3,7 @@ module Seam module Resources class AcsEntrance < BaseResource - attr_accessor :acs_entrance_id, :acs_system_id, :assa_abloy_vostio_metadata, :display_name, :dormakaba_community_metadata, :latch_metadata, :salto_ks_metadata, :visionline_metadata + 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 date_accessor :created_at diff --git a/lib/seam/routes/resources/acs_system.rb b/lib/seam/routes/resources/acs_system.rb index 413747c3..7a1abcbf 100644 --- a/lib/seam/routes/resources/acs_system.rb +++ b/lib/seam/routes/resources/acs_system.rb @@ -3,7 +3,7 @@ module Seam module Resources class AcsSystem < BaseResource - 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 + 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 date_accessor :created_at diff --git a/lib/seam/routes/resources/client_session.rb b/lib/seam/routes/resources/client_session.rb index ff34b6be..87ae0355 100644 --- a/lib/seam/routes/resources/client_session.rb +++ b/lib/seam/routes/resources/client_session.rb @@ -5,7 +5,7 @@ module Resources class ClientSession < BaseResource attr_accessor :client_session_id, :connect_webview_ids, :connected_account_ids, :device_count, :token, :user_identifier_key, :user_identity_ids, :workspace_id - date_accessor :created_at + date_accessor :created_at, :expires_at end end end diff --git a/lib/seam/routes/resources/event.rb b/lib/seam/routes/resources/event.rb index fb234af5..4f2d4f00 100644 --- a/lib/seam/routes/resources/event.rb +++ b/lib/seam/routes/resources/event.rb @@ -3,7 +3,7 @@ module Seam module Resources class SeamEvent < BaseResource - 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 + 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 date_accessor :created_at, :occurred_at end diff --git a/lib/seam/routes/resources/index.rb b/lib/seam/routes/resources/index.rb index c06af560..cdb1ef6c 100644 --- a/lib/seam/routes/resources/index.rb +++ b/lib/seam/routes/resources/index.rb @@ -10,6 +10,7 @@ require_relative "acs_credential" require_relative "acs_credential_pool" require_relative "acs_credential_provisioning_automation" +require_relative "acs_encoder" require_relative "acs_entrance" require_relative "acs_system" require_relative "acs_user" @@ -24,9 +25,11 @@ require_relative "network" require_relative "noise_threshold" require_relative "phone" -require_relative "service_health" require_relative "thermostat_schedule" require_relative "unmanaged_access_code" +require_relative "unmanaged_acs_access_group" +require_relative "unmanaged_acs_credential" +require_relative "unmanaged_acs_user" require_relative "unmanaged_device" require_relative "user_identity" require_relative "webhook" diff --git a/lib/seam/routes/resources/phone.rb b/lib/seam/routes/resources/phone.rb index 327152ea..8821fc92 100644 --- a/lib/seam/routes/resources/phone.rb +++ b/lib/seam/routes/resources/phone.rb @@ -3,7 +3,7 @@ module Seam module Resources class Phone < BaseResource - 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 + attr_accessor :custom_metadata, :device_id, :device_type, :display_name, :nickname, :properties, :workspace_id date_accessor :created_at diff --git a/lib/seam/routes/resources/service_health.rb b/lib/seam/routes/resources/service_health.rb deleted file mode 100644 index 235d7c1f..00000000 --- a/lib/seam/routes/resources/service_health.rb +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -module Seam - module Resources - class ServiceHealth < BaseResource - attr_accessor :description, :service, :status - end - end -end diff --git a/lib/seam/routes/resources/unmanaged_acs_access_group.rb b/lib/seam/routes/resources/unmanaged_acs_access_group.rb new file mode 100644 index 00000000..80ddd2fe --- /dev/null +++ b/lib/seam/routes/resources/unmanaged_acs_access_group.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Seam + module Resources + class UnmanagedAcsAccessGroup < BaseResource + 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 + + date_accessor :created_at + + include Seam::Resources::ResourceWarningsSupport + end + end +end diff --git a/lib/seam/routes/resources/unmanaged_acs_credential.rb b/lib/seam/routes/resources/unmanaged_acs_credential.rb new file mode 100644 index 00000000..5cae7e1b --- /dev/null +++ b/lib/seam/routes/resources/unmanaged_acs_credential.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Seam + module Resources + class UnmanagedAcsCredential < BaseResource + 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 + + date_accessor :created_at, :issued_at, :latest_desired_state_synced_with_provider_at + + include Seam::Resources::ResourceErrorsSupport + include Seam::Resources::ResourceWarningsSupport + end + end +end diff --git a/lib/seam/routes/resources/unmanaged_acs_user.rb b/lib/seam/routes/resources/unmanaged_acs_user.rb new file mode 100644 index 00000000..5a120dd7 --- /dev/null +++ b/lib/seam/routes/resources/unmanaged_acs_user.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Seam + module Resources + class UnmanagedAcsUser < BaseResource + 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 + + date_accessor :created_at, :latest_desired_state_synced_with_provider_at + + include Seam::Resources::ResourceErrorsSupport + include Seam::Resources::ResourceWarningsSupport + end + end +end diff --git a/lib/seam/routes/routes.rb b/lib/seam/routes/routes.rb index afdc040f..7a005a31 100644 --- a/lib/seam/routes/routes.rb +++ b/lib/seam/routes/routes.rb @@ -14,6 +14,10 @@ def action_attempts @action_attempts ||= Seam::Clients::ActionAttempts.new(client: @client, defaults: @defaults) end + def bridges + @bridges ||= Seam::Clients::Bridges.new(client: @client, defaults: @defaults) + end + def client_sessions @client_sessions ||= Seam::Clients::ClientSessions.new(client: @client, defaults: @defaults) end diff --git a/package-lock.json b/package-lock.json index f5199d36..36b99a88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,9 +6,9 @@ "": { "name": "@seamapi/ruby", "devDependencies": { - "@seamapi/fake-seam-connect": "1.73.1", - "@seamapi/nextlove-sdk-generator": "1.14.12", - "@seamapi/types": "1.301.0", + "@seamapi/fake-seam-connect": "1.75.1", + "@seamapi/nextlove-sdk-generator": "1.15.7", + "@seamapi/types": "1.347.1", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5" @@ -435,10 +435,11 @@ } }, "node_modules/@seamapi/fake-seam-connect": { - "version": "1.73.1", - "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.73.1.tgz", - "integrity": "sha512-Upsil/v2NGKibZ37zmDzV+Ul/EYUbAh7Mg1q1h2Phx/zudRv9vPeVTi/naWO0yc4BTsm60S1Cs9U5fsX4Os1wA==", + "version": "1.75.1", + "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.75.1.tgz", + "integrity": "sha512-fhj16k5ZMkyHF8zzgDDePftv1/nAuQ/5suE4y/6ndgGwjkZvk7flBRJHDISq32ppcOCwGkcb4iJovuc+Zh1poA==", "dev": true, + "license": "MIT", "bin": { "fake-seam-connect": "dist/server.js" }, @@ -447,13 +448,15 @@ "npm": ">= 9.0.0" }, "optionalDependencies": { - "@seamapi/fake-devicedb": ">=1.0.0-rc.0" + "@seamapi/fake-devicedb": ">=1.0.0-rc.0", + "zustand": "^4.3.7", + "zustand-hoist": "^2.0.0" } }, "node_modules/@seamapi/nextlove-sdk-generator": { - "version": "1.14.12", - "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.14.12.tgz", - "integrity": "sha512-1bSYQ9b8+ezkbfZbAgK6A2XyAKUK5jJrtwpNdVtZpnqzsueiOdOUBoFmoHgd4aHyUISr9uhXc5P8OzuFWsS3Gw==", + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.15.7.tgz", + "integrity": "sha512-dO9uXB+SI8b8/lbLhunP8QbDLsaXkDW6PE2BPCEWRH7iSsz+CruV3+8QCyxPgou55pRQsHlaqnhsbTLwa2VaVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -473,10 +476,11 @@ } }, "node_modules/@seamapi/types": { - "version": "1.301.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.301.0.tgz", - "integrity": "sha512-EJPYQIJR/1j0+kGitwo0ZXfagRwpkWJwii0senlBS65gHoyJXUdbxL14b7kV1hdhfZbE3N/r+vR2rbh7wNZn3A==", + "version": "1.347.1", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.347.1.tgz", + "integrity": "sha512-Sm8e7YIC8DhtKOdTkwfcS6n98aohuSL7y8iS/OYBDavEP2iBwLGOM5v1TZlT32G0p/c+/8QnH/vlAyB1e3eBGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18.12.0", "npm": ">= 9.0.0" diff --git a/package.json b/package.json index ee3ce9a5..e64506bc 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "start": "fake-seam-connect --seed" }, "devDependencies": { - "@seamapi/fake-seam-connect": "1.73.1", - "@seamapi/nextlove-sdk-generator": "1.14.12", - "@seamapi/types": "1.301.0", + "@seamapi/fake-seam-connect": "1.75.1", + "@seamapi/nextlove-sdk-generator": "1.15.7", + "@seamapi/types": "1.347.1", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5"