seam 2.139.0 → 2.141.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +69 -66
  3. data/README.md +86 -0
  4. data/lib/seam/http_without_workspace.rb +4 -4
  5. data/lib/seam/null.rb +23 -0
  6. data/lib/seam/paginator.rb +4 -1
  7. data/lib/seam/request.rb +49 -1
  8. data/lib/seam/resources/access_code.rb +74 -0
  9. data/lib/seam/resources/access_grant.rb +60 -0
  10. data/lib/seam/resources/access_method.rb +39 -0
  11. data/lib/seam/resources/acs_access_group.rb +45 -0
  12. data/lib/seam/resources/acs_credential.rb +67 -0
  13. data/lib/seam/resources/acs_encoder.rb +11 -0
  14. data/lib/seam/resources/acs_entrance.rb +95 -0
  15. data/lib/seam/resources/acs_system.rb +36 -0
  16. data/lib/seam/resources/acs_user.rb +66 -0
  17. data/lib/seam/resources/action_attempt.rb +192 -0
  18. data/lib/seam/resources/batch.rb +24 -0
  19. data/lib/seam/resources/client_session.rb +12 -0
  20. data/lib/seam/resources/connect_webview.rb +19 -0
  21. data/lib/seam/resources/connected_account.rb +50 -0
  22. data/lib/seam/resources/customer_portal.rb +5 -0
  23. data/lib/seam/resources/device.rb +622 -4
  24. data/lib/seam/resources/device_provider.rb +24 -0
  25. data/lib/seam/resources/event.rb +142 -3
  26. data/lib/seam/resources/instant_key.rb +13 -0
  27. data/lib/seam/resources/noise_threshold.rb +7 -0
  28. data/lib/seam/resources/pagination.rb +3 -0
  29. data/lib/seam/resources/phone.rb +29 -0
  30. data/lib/seam/resources/space.rb +19 -0
  31. data/lib/seam/resources/thermostat_daily_program.rb +9 -0
  32. data/lib/seam/resources/thermostat_schedule.rb +15 -0
  33. data/lib/seam/resources/unmanaged_access_code.rb +51 -0
  34. data/lib/seam/resources/unmanaged_access_grant.rb +56 -0
  35. data/lib/seam/resources/unmanaged_access_method.rb +36 -0
  36. data/lib/seam/resources/unmanaged_device.rb +80 -0
  37. data/lib/seam/resources/unmanaged_user_identity.rb +20 -0
  38. data/lib/seam/resources/user_identity.rb +21 -0
  39. data/lib/seam/resources/webhook.rb +4 -0
  40. data/lib/seam/resources/workspace.rb +15 -0
  41. data/lib/seam/routes/access_codes.rb +79 -79
  42. data/lib/seam/routes/access_codes_simulate.rb +3 -3
  43. data/lib/seam/routes/access_codes_unmanaged.rb +27 -23
  44. data/lib/seam/routes/access_grants.rb +57 -45
  45. data/lib/seam/routes/access_grants_unmanaged.rb +13 -13
  46. data/lib/seam/routes/access_methods.rb +32 -24
  47. data/lib/seam/routes/access_methods_unmanaged.rb +7 -7
  48. data/lib/seam/routes/acs_access_groups.rb +21 -21
  49. data/lib/seam/routes/acs_credentials.rb +40 -40
  50. data/lib/seam/routes/acs_encoders.rb +16 -16
  51. data/lib/seam/routes/acs_encoders_simulate.rb +11 -11
  52. data/lib/seam/routes/acs_entrances.rb +20 -20
  53. data/lib/seam/routes/acs_systems.rb +11 -11
  54. data/lib/seam/routes/acs_users.rb +83 -55
  55. data/lib/seam/routes/action_attempts.rb +6 -6
  56. data/lib/seam/routes/client_sessions.rb +38 -34
  57. data/lib/seam/routes/connect_webviews.rb +20 -20
  58. data/lib/seam/routes/connected_accounts.rb +24 -20
  59. data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
  60. data/lib/seam/routes/customers.rb +50 -50
  61. data/lib/seam/routes/devices.rb +33 -29
  62. data/lib/seam/routes/devices_simulate.rb +7 -7
  63. data/lib/seam/routes/devices_unmanaged.rb +25 -26
  64. data/lib/seam/routes/events.rb +40 -32
  65. data/lib/seam/routes/instant_keys.rb +11 -7
  66. data/lib/seam/routes/locks.rb +20 -27
  67. data/lib/seam/routes/locks_simulate.rb +3 -3
  68. data/lib/seam/routes/noise_sensors.rb +8 -19
  69. data/lib/seam/routes/noise_sensors_noise_thresholds.rb +21 -21
  70. data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
  71. data/lib/seam/routes/phones.rb +7 -7
  72. data/lib/seam/routes/phones_simulate.rb +4 -4
  73. data/lib/seam/routes/spaces.rb +53 -45
  74. data/lib/seam/routes/thermostats.rb +75 -86
  75. data/lib/seam/routes/thermostats_daily_programs.rb +9 -9
  76. data/lib/seam/routes/thermostats_schedules.rb +22 -22
  77. data/lib/seam/routes/thermostats_simulate.rb +9 -9
  78. data/lib/seam/routes/user_identities.rb +50 -46
  79. data/lib/seam/routes/user_identities_unmanaged.rb +11 -11
  80. data/lib/seam/routes/webhooks.rb +10 -10
  81. data/lib/seam/routes/workspaces.rb +19 -19
  82. data/lib/seam/strict_url_search_params_serializer.rb +17 -0
  83. data/lib/seam/url_search_params.rb +102 -0
  84. data/lib/seam/url_search_params_serializer.rb +217 -0
  85. data/lib/seam/version.rb +1 -1
  86. data/lib/seam.rb +3 -0
  87. metadata +12 -11
@@ -10,77 +10,113 @@ module Seam
10
10
  class AcsSystem < BaseResource
11
11
  class Errors < BaseResource
12
12
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
13
+ # @return [String]
13
14
  attr_accessor :error_code
14
15
  # Indicates whether the error is related to the [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge).
16
+ # @return [Boolean, nil]
15
17
  attr_accessor :is_bridge_error
16
18
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
19
+ # @return [String]
17
20
  attr_accessor :message
18
21
  # Date and time at which Seam created the error.
22
+ # @return [Time]
19
23
  date_accessor :created_at
20
24
  end
21
25
 
22
26
  class Location < BaseResource
23
27
  # Time zone in which the [access control system](https://docs.seam.co/low-level-apis/access-systems) is located.
28
+ # @return [String, nil]
24
29
  attr_accessor :time_zone
25
30
  end
26
31
 
27
32
  class VisionlineMetadata < BaseResource
28
33
  # IP address or hostname of the main Visionline server relative to [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge) on the local network.
34
+ # @return [String, nil]
29
35
  attr_accessor :lan_address
30
36
  # Keyset loaded into a reader. Mobile keys and reader administration tools securely authenticate only with readers programmed with a matching keyset.
37
+ # @return [String, nil]
31
38
  attr_accessor :mobile_access_uuid
32
39
  # Unique ID assigned by the ASSA ABLOY licensing team that identifies each hotel in your credential manager.
40
+ # @return [String, nil]
33
41
  attr_accessor :system_id
34
42
  end
35
43
 
36
44
  class Warnings < BaseResource
37
45
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
46
+ # @return [String]
38
47
  attr_accessor :message
48
+ # @return [Array<String>]
39
49
  # @deprecated this field is deprecated.
40
50
  attr_accessor :misconfigured_acs_entrance_ids
41
51
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
52
+ # @return [String]
42
53
  attr_accessor :warning_code
43
54
  # Date and time at which Seam created the warning.
55
+ # @return [Time]
44
56
  date_accessor :created_at
45
57
  end
46
58
 
59
+ # Location information for the [access control system](https://docs.seam.co/low-level-apis/access-systems).
60
+ # @return [Location]
47
61
  resource_accessor :location, Location
62
+ # Visionline-specific metadata for the [access control system](https://docs.seam.co/low-level-apis/access-systems).
63
+ # @return [VisionlineMetadata, nil]
48
64
  resource_accessor :visionline_metadata, VisionlineMetadata
65
+ # Errors associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).
66
+ # @return [Array<Errors>]
49
67
  resource_list_accessor :errors, Errors
68
+ # Warnings associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).
69
+ # @return [Array<Warnings>]
50
70
  resource_list_accessor :warnings, Warnings
51
71
  # Number of access groups in the [access control system](https://docs.seam.co/low-level-apis/access-systems).
72
+ # @return [Float, nil]
52
73
  attr_accessor :acs_access_group_count
53
74
  # ID of the [access control system](https://docs.seam.co/low-level-apis/access-systems).
75
+ # @return [String]
54
76
  attr_accessor :acs_system_id
55
77
  # Number of users in the [access control system](https://docs.seam.co/low-level-apis/access-systems).
78
+ # @return [Float, nil]
56
79
  attr_accessor :acs_user_count
57
80
  # ID of the connected account associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).
81
+ # @return [String]
58
82
  attr_accessor :connected_account_id
59
83
  # IDs of the [connected accounts](https://docs.seam.co/core-concepts/connected-accounts) associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).
84
+ # @return [Array<String>]
60
85
  # @deprecated Use `connected_account_id`.
61
86
  attr_accessor :connected_account_ids
62
87
  # ID of the default credential manager `acs_system` for this [access control system](https://docs.seam.co/low-level-apis/access-systems).
88
+ # @return [String, nil]
63
89
  attr_accessor :default_credential_manager_acs_system_id
64
90
  # Brand-specific terminology for the [access control system](https://docs.seam.co/low-level-apis/access-systems) type.
91
+ # @return [String, nil]
65
92
  attr_accessor :external_type
66
93
  # Display name that corresponds to the brand-specific terminology for the [access control system](https://docs.seam.co/low-level-apis/access-systems) type.
94
+ # @return [String, nil]
67
95
  attr_accessor :external_type_display_name
68
96
  # Alternative text for the [access control system](https://docs.seam.co/low-level-apis/access-systems) image.
97
+ # @return [String]
69
98
  attr_accessor :image_alt_text
70
99
  # URL for the image that represents the [access control system](https://docs.seam.co/low-level-apis/access-systems).
100
+ # @return [String]
71
101
  attr_accessor :image_url
72
102
  # Indicates whether the `acs_system` is a credential manager.
103
+ # @return [Boolean]
73
104
  attr_accessor :is_credential_manager
74
105
  # Name of the [access control system](https://docs.seam.co/low-level-apis/access-systems).
106
+ # @return [String]
75
107
  attr_accessor :name
108
+ # @return [String, nil]
76
109
  # @deprecated Use `external_type`.
77
110
  attr_accessor :system_type
111
+ # @return [String, nil]
78
112
  # @deprecated Use `external_type_display_name`.
79
113
  attr_accessor :system_type_display_name
80
114
  # ID of the workspace that contains the [access control system](https://docs.seam.co/low-level-apis/access-systems).
115
+ # @return [String]
81
116
  attr_accessor :workspace_id
82
117
 
83
118
  # Date and time at which the [access control system](https://docs.seam.co/low-level-apis/access-systems) was created.
119
+ # @return [Time]
84
120
  date_accessor :created_at
85
121
  end
86
122
  end
@@ -10,135 +10,201 @@ module Seam
10
10
  class AcsUser < BaseResource
11
11
  class AccessSchedule < BaseResource
12
12
  # Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
13
+ # @return [Time, nil]
13
14
  date_accessor :ends_at
14
15
  # Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
16
+ # @return [Time]
15
17
  date_accessor :starts_at
16
18
  end
17
19
 
18
20
  class Errors < BaseResource
21
+ # @return [String]
19
22
  attr_accessor :error_code
20
23
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
24
+ # @return [String]
21
25
  attr_accessor :message
22
26
  # Date and time at which Seam created the error.
27
+ # @return [Time]
23
28
  date_accessor :created_at
24
29
  end
25
30
 
26
31
  class PendingMutations < BaseResource
27
32
  class From < BaseResource
28
33
  # Old access group ID.
34
+ # @return [String, nil]
29
35
  attr_accessor :acs_access_group_id
30
36
  # Previous credential ID.
37
+ # @return [String, nil]
31
38
  attr_accessor :acs_credential_id
32
39
  # Email address of the access system user.
40
+ # @return [String, nil]
33
41
  attr_accessor :email_address
34
42
  # Full name of the access system user.
43
+ # @return [String, nil]
35
44
  attr_accessor :full_name
45
+ # @return [Boolean]
36
46
  attr_accessor :is_suspended
37
47
  # Phone number of the access system user.
48
+ # @return [String, nil]
38
49
  attr_accessor :phone_number
39
50
  # Starting time for the access schedule.
51
+ # @return [Time, nil]
40
52
  date_accessor :ends_at
41
53
  # Starting time for the access schedule.
54
+ # @return [Time, nil]
42
55
  date_accessor :starts_at
43
56
  end
44
57
 
45
58
  class To < BaseResource
46
59
  # New access group ID.
60
+ # @return [String, nil]
47
61
  attr_accessor :acs_access_group_id
48
62
  # New credential ID.
63
+ # @return [String, nil]
49
64
  attr_accessor :acs_credential_id
50
65
  # Email address of the access system user.
66
+ # @return [String, nil]
51
67
  attr_accessor :email_address
52
68
  # Full name of the access system user.
69
+ # @return [String, nil]
53
70
  attr_accessor :full_name
71
+ # @return [Boolean]
54
72
  attr_accessor :is_suspended
55
73
  # Phone number of the access system user.
74
+ # @return [String, nil]
56
75
  attr_accessor :phone_number
57
76
  # Starting time for the access schedule.
77
+ # @return [Time, nil]
58
78
  date_accessor :ends_at
59
79
  # Starting time for the access schedule.
80
+ # @return [Time, nil]
60
81
  date_accessor :starts_at
61
82
  end
62
83
 
84
+ # @return [From]
63
85
  resource_accessor :from, From
86
+ # @return [To]
64
87
  resource_accessor :to, To
65
88
  # ID of the access group involved in the scheduled change.
89
+ # @return [String]
66
90
  attr_accessor :acs_access_group_id
67
91
  # Detailed description of the mutation.
92
+ # @return [String]
68
93
  attr_accessor :message
94
+ # @return [String]
69
95
  attr_accessor :mutation_code
70
96
  # Whether the user is scheduled to be added to or removed from the access group.
97
+ # @return [String]
71
98
  attr_accessor :variant
72
99
  # Date and time at which the mutation was created.
100
+ # @return [Time]
73
101
  date_accessor :created_at
74
102
  # Optional: When the user creation is scheduled to occur.
103
+ # @return [Time, nil]
75
104
  date_accessor :scheduled_at
76
105
  end
77
106
 
78
107
  class SaltoKsMetadata < BaseResource
79
108
  # Indicates whether the user holds an active subscription slot on the Salto KS site. Only subscribed users can unlock doors and count against the site's user-subscription limit. A user may not be subscribed because their access schedule has not started or has ended, the site has reached its subscription limit, or they were manually unsubscribed. This is distinct from `is_suspended`, which reflects whether the user has been explicitly blocked.
109
+ # @return [Boolean, nil]
80
110
  attr_accessor :is_subscribed
81
111
  end
82
112
 
83
113
  class SaltoSpaceMetadata < BaseResource
84
114
  # Indicates whether AuditOpenings is enabled for the user in the Salto Space access system.
115
+ # @return [Boolean, nil]
85
116
  attr_accessor :audit_openings
86
117
  # User ID in the Salto Space access system.
118
+ # @return [String, nil]
87
119
  attr_accessor :user_id
88
120
  end
89
121
 
90
122
  class Warnings < BaseResource
91
123
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
124
+ # @return [String]
92
125
  attr_accessor :message
126
+ # @return [String]
93
127
  attr_accessor :warning_code
94
128
  # Date and time at which Seam created the warning.
129
+ # @return [Time]
95
130
  date_accessor :created_at
96
131
  end
97
132
 
133
+ # `starts_at` and `ends_at` timestamps for the [access system user's](https://docs.seam.co/low-level-apis/access-systems/user-management) access.
134
+ # @return [AccessSchedule, nil]
98
135
  resource_accessor :access_schedule, AccessSchedule
136
+ # Salto KS-specific metadata associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
137
+ # @return [SaltoKsMetadata, nil]
99
138
  resource_accessor :salto_ks_metadata, SaltoKsMetadata
139
+ # Salto Space-specific metadata associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
140
+ # @return [SaltoSpaceMetadata, nil]
100
141
  resource_accessor :salto_space_metadata, SaltoSpaceMetadata
142
+ # Errors associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
143
+ # @return [Array<Errors>]
101
144
  resource_list_accessor :errors, Errors
145
+ # Pending mutations associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.
146
+ # @return [Array<PendingMutations>]
102
147
  resource_list_accessor :pending_mutations, PendingMutations
148
+ # Warnings associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
149
+ # @return [Array<Warnings>]
103
150
  resource_list_accessor :warnings, Warnings
104
151
  # ID of the [access system](https://docs.seam.co/low-level-apis/access-systems) that contains the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
152
+ # @return [String]
105
153
  attr_accessor :acs_system_id
106
154
  # ID of the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
155
+ # @return [String]
107
156
  attr_accessor :acs_user_id
108
157
  # The ID of the connected account that is associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
158
+ # @return [String]
109
159
  attr_accessor :connected_account_id
110
160
  # Display name for the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
161
+ # @return [String]
111
162
  attr_accessor :display_name
163
+ # @return [String, nil]
112
164
  # @deprecated use email_address.
113
165
  attr_accessor :email
114
166
  # Email address of the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
167
+ # @return [String, nil]
115
168
  attr_accessor :email_address
116
169
  # Brand-specific terminology for the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) type.
170
+ # @return [String, nil]
117
171
  attr_accessor :external_type
118
172
  # Display name that corresponds to the brand-specific terminology for the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) type.
173
+ # @return [String, nil]
119
174
  attr_accessor :external_type_display_name
120
175
  # Full name of the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
176
+ # @return [String, nil]
121
177
  attr_accessor :full_name
122
178
  # ID of the HID access control system associated with the user.
179
+ # @return [String, nil]
123
180
  attr_accessor :hid_acs_system_id
124
181
  # Indicates whether Seam manages the access system user.
182
+ # @return [Boolean]
125
183
  attr_accessor :is_managed
126
184
  # Indicates whether the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) is currently [suspended](https://docs.seam.co/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users).
185
+ # @return [Boolean, nil]
127
186
  attr_accessor :is_suspended
128
187
  # Phone number of the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) in E.164 format (for example, `+15555550100`).
188
+ # @return [String, nil]
129
189
  attr_accessor :phone_number
130
190
  # Email address of the user identity associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
191
+ # @return [String, nil]
131
192
  attr_accessor :user_identity_email_address
132
193
  # Full name of the user identity associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
194
+ # @return [String, nil]
133
195
  attr_accessor :user_identity_full_name
134
196
  # ID of the user identity associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
197
+ # @return [String, nil]
135
198
  attr_accessor :user_identity_id
136
199
  # Phone number of the user identity associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) in E.164 format (for example, `+15555550100`).
200
+ # @return [String, nil]
137
201
  attr_accessor :user_identity_phone_number
138
202
  # ID of the workspace that contains the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
203
+ # @return [String]
139
204
  attr_accessor :workspace_id
140
205
 
141
206
  # Date and time at which the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) was created.
207
+ # @return [Time]
142
208
  date_accessor :created_at
143
209
  end
144
210
  end