@seamapi/http 2.5.0 → 2.6.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 (164) hide show
  1. package/README.md +47 -0
  2. package/index.d.ts +0 -1
  3. package/index.js +0 -1
  4. package/index.js.map +1 -1
  5. package/lib/client.js +1 -1
  6. package/lib/client.js.map +1 -1
  7. package/lib/index.d.ts +1 -0
  8. package/lib/index.js +1 -0
  9. package/lib/index.js.map +1 -1
  10. package/lib/request-parameters.d.ts +1 -1
  11. package/lib/request-parameters.js.map +1 -1
  12. package/lib/routes/access-codes/access-codes.d.ts +1 -1
  13. package/lib/routes/access-codes/access-codes.js +30 -17
  14. package/lib/routes/access-codes/access-codes.js.map +1 -1
  15. package/lib/routes/access-codes/simulate/simulate.js +3 -2
  16. package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
  17. package/lib/routes/access-codes/unmanaged/unmanaged.d.ts +1 -1
  18. package/lib/routes/access-codes/unmanaged/unmanaged.js +15 -6
  19. package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
  20. package/lib/routes/access-grants/access-grants.d.ts +1 -1
  21. package/lib/routes/access-grants/access-grants.js +21 -12
  22. package/lib/routes/access-grants/access-grants.js.map +1 -1
  23. package/lib/routes/access-grants/unmanaged/unmanaged.js +9 -4
  24. package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
  25. package/lib/routes/access-methods/access-methods.d.ts +1 -1
  26. package/lib/routes/access-methods/access-methods.js +21 -13
  27. package/lib/routes/access-methods/access-methods.js.map +1 -1
  28. package/lib/routes/access-methods/unmanaged/unmanaged.js +6 -3
  29. package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
  30. package/lib/routes/acs/access-groups/access-groups.js +21 -10
  31. package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
  32. package/lib/routes/acs/credentials/credentials.js +24 -19
  33. package/lib/routes/acs/credentials/credentials.js.map +1 -1
  34. package/lib/routes/acs/encoders/encoders.js +15 -8
  35. package/lib/routes/acs/encoders/encoders.js.map +1 -1
  36. package/lib/routes/acs/encoders/simulate/simulate.js +12 -5
  37. package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
  38. package/lib/routes/acs/entrances/entrances.js +15 -11
  39. package/lib/routes/acs/entrances/entrances.js.map +1 -1
  40. package/lib/routes/acs/systems/systems.js +12 -7
  41. package/lib/routes/acs/systems/systems.js.map +1 -1
  42. package/lib/routes/acs/users/users.d.ts +1 -1
  43. package/lib/routes/acs/users/users.js +33 -15
  44. package/lib/routes/acs/users/users.js.map +1 -1
  45. package/lib/routes/action-attempts/action-attempts.js +6 -5
  46. package/lib/routes/action-attempts/action-attempts.js.map +1 -1
  47. package/lib/routes/client-sessions/client-sessions.d.ts +1 -1
  48. package/lib/routes/client-sessions/client-sessions.js +21 -12
  49. package/lib/routes/client-sessions/client-sessions.js.map +1 -1
  50. package/lib/routes/connect-webviews/connect-webviews.js +12 -9
  51. package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
  52. package/lib/routes/connected-accounts/connected-accounts.d.ts +1 -1
  53. package/lib/routes/connected-accounts/connected-accounts.js +15 -8
  54. package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
  55. package/lib/routes/connected-accounts/simulate/simulate.js +3 -2
  56. package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
  57. package/lib/routes/customers/customers.js +9 -6
  58. package/lib/routes/customers/customers.js.map +1 -1
  59. package/lib/routes/devices/devices.d.ts +1 -1
  60. package/lib/routes/devices/devices.js +15 -8
  61. package/lib/routes/devices/devices.js.map +1 -1
  62. package/lib/routes/devices/simulate/simulate.js +18 -9
  63. package/lib/routes/devices/simulate/simulate.js.map +1 -1
  64. package/lib/routes/devices/unmanaged/unmanaged.d.ts +1 -1
  65. package/lib/routes/devices/unmanaged/unmanaged.js +9 -4
  66. package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
  67. package/lib/routes/events/events.d.ts +1 -1
  68. package/lib/routes/events/events.js +6 -3
  69. package/lib/routes/events/events.js.map +1 -1
  70. package/lib/routes/instant-keys/instant-keys.d.ts +1 -1
  71. package/lib/routes/instant-keys/instant-keys.js +9 -6
  72. package/lib/routes/instant-keys/instant-keys.js.map +1 -1
  73. package/lib/routes/locks/locks.d.ts +1 -1
  74. package/lib/routes/locks/locks.js +15 -10
  75. package/lib/routes/locks/locks.js.map +1 -1
  76. package/lib/routes/locks/simulate/simulate.js +6 -3
  77. package/lib/routes/locks/simulate/simulate.js.map +1 -1
  78. package/lib/routes/noise-sensors/noise-sensors.js +3 -2
  79. package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
  80. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +15 -6
  81. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
  82. package/lib/routes/noise-sensors/simulate/simulate.js +3 -2
  83. package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
  84. package/lib/routes/phones/phones.js +9 -6
  85. package/lib/routes/phones/phones.js.map +1 -1
  86. package/lib/routes/phones/simulate/simulate.js +3 -2
  87. package/lib/routes/phones/simulate/simulate.js.map +1 -1
  88. package/lib/routes/spaces/spaces.d.ts +1 -1
  89. package/lib/routes/spaces/spaces.js +36 -21
  90. package/lib/routes/spaces/spaces.js.map +1 -1
  91. package/lib/routes/thermostats/daily-programs/daily-programs.js +13 -4
  92. package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
  93. package/lib/routes/thermostats/schedules/schedules.js +20 -6
  94. package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
  95. package/lib/routes/thermostats/simulate/simulate.js +6 -3
  96. package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
  97. package/lib/routes/thermostats/thermostats.js +42 -23
  98. package/lib/routes/thermostats/thermostats.js.map +1 -1
  99. package/lib/routes/user-identities/unmanaged/unmanaged.js +9 -4
  100. package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
  101. package/lib/routes/user-identities/user-identities.d.ts +1 -1
  102. package/lib/routes/user-identities/user-identities.js +42 -19
  103. package/lib/routes/user-identities/user-identities.js.map +1 -1
  104. package/lib/routes/webhooks/webhooks.js +15 -13
  105. package/lib/routes/webhooks/webhooks.js.map +1 -1
  106. package/lib/routes/workspaces/workspaces.js +15 -8
  107. package/lib/routes/workspaces/workspaces.js.map +1 -1
  108. package/lib/seam-http-request.d.ts +3 -0
  109. package/lib/seam-http-request.js +3 -1
  110. package/lib/seam-http-request.js.map +1 -1
  111. package/lib/url-search-params-serializer.d.ts +4 -0
  112. package/lib/url-search-params-serializer.js +17 -0
  113. package/lib/url-search-params-serializer.js.map +1 -0
  114. package/lib/version.d.ts +1 -1
  115. package/lib/version.js +1 -1
  116. package/package.json +2 -2
  117. package/src/index.ts +0 -1
  118. package/src/lib/client.ts +1 -1
  119. package/src/lib/index.ts +1 -0
  120. package/src/lib/request-parameters.ts +1 -1
  121. package/src/lib/routes/access-codes/access-codes.ts +31 -55
  122. package/src/lib/routes/access-codes/simulate/simulate.ts +3 -8
  123. package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +16 -39
  124. package/src/lib/routes/access-grants/access-grants.ts +22 -32
  125. package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +9 -22
  126. package/src/lib/routes/access-methods/access-methods.ts +22 -38
  127. package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +6 -15
  128. package/src/lib/routes/acs/access-groups/access-groups.ts +21 -47
  129. package/src/lib/routes/acs/credentials/credentials.ts +24 -37
  130. package/src/lib/routes/acs/encoders/encoders.ts +15 -28
  131. package/src/lib/routes/acs/encoders/simulate/simulate.ts +12 -29
  132. package/src/lib/routes/acs/entrances/entrances.ts +15 -26
  133. package/src/lib/routes/acs/systems/systems.ts +12 -21
  134. package/src/lib/routes/acs/users/users.ts +34 -49
  135. package/src/lib/routes/action-attempts/action-attempts.ts +6 -7
  136. package/src/lib/routes/client-sessions/client-sessions.ts +22 -37
  137. package/src/lib/routes/connect-webviews/connect-webviews.ts +12 -23
  138. package/src/lib/routes/connected-accounts/connected-accounts.ts +16 -36
  139. package/src/lib/routes/connected-accounts/simulate/simulate.ts +3 -8
  140. package/src/lib/routes/customers/customers.ts +9 -19
  141. package/src/lib/routes/devices/devices.ts +16 -26
  142. package/src/lib/routes/devices/simulate/simulate.ts +18 -40
  143. package/src/lib/routes/devices/unmanaged/unmanaged.ts +10 -20
  144. package/src/lib/routes/events/events.ts +7 -8
  145. package/src/lib/routes/instant-keys/instant-keys.ts +10 -12
  146. package/src/lib/routes/locks/locks.ts +16 -23
  147. package/src/lib/routes/locks/simulate/simulate.ts +6 -15
  148. package/src/lib/routes/noise-sensors/noise-sensors.ts +3 -3
  149. package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +15 -36
  150. package/src/lib/routes/noise-sensors/simulate/simulate.ts +3 -8
  151. package/src/lib/routes/phones/phones.ts +9 -9
  152. package/src/lib/routes/phones/simulate/simulate.ts +3 -8
  153. package/src/lib/routes/spaces/spaces.ts +37 -56
  154. package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +13 -22
  155. package/src/lib/routes/thermostats/schedules/schedules.ts +20 -36
  156. package/src/lib/routes/thermostats/simulate/simulate.ts +6 -15
  157. package/src/lib/routes/thermostats/thermostats.ts +42 -82
  158. package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +9 -22
  159. package/src/lib/routes/user-identities/user-identities.ts +43 -86
  160. package/src/lib/routes/webhooks/webhooks.ts +15 -18
  161. package/src/lib/routes/workspaces/workspaces.ts +15 -18
  162. package/src/lib/seam-http-request.ts +12 -1
  163. package/src/lib/url-search-params-serializer.ts +28 -0
  164. package/src/lib/version.ts +1 -1
@@ -28,7 +28,6 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import { assertValidRequestParameters } from 'lib/request-parameters.js'
32
31
  import type { ActionAttempt } from 'lib/resources/action-attempt.js'
33
32
  import type { Device } from 'lib/resources/device.js'
34
33
  import { SeamHttpActionAttempts } from 'lib/routes/action-attempts/index.js'
@@ -187,17 +186,13 @@ export class SeamHttpThermostats {
187
186
  parameters: ThermostatsActivateClimatePresetParameters,
188
187
  options: ThermostatsActivateClimatePresetOptions = {},
189
188
  ): ThermostatsActivateClimatePresetRequest {
190
- assertValidRequestParameters(
191
- parameters,
192
- '/thermostats/activate_climate_preset',
193
- true,
194
- ['climate_preset_key', 'device_id'],
195
- )
196
-
197
189
  return new SeamHttpRequest(this, {
198
190
  pathname: '/thermostats/activate_climate_preset',
199
191
  method: 'POST',
200
192
  body: parameters,
193
+ parameters,
194
+ hasRequiredParameters: true,
195
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
201
196
  responseKey: 'action_attempt',
202
197
  options,
203
198
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -214,14 +209,13 @@ export class SeamHttpThermostats {
214
209
  parameters: ThermostatsCoolParameters,
215
210
  options: ThermostatsCoolOptions = {},
216
211
  ): ThermostatsCoolRequest {
217
- assertValidRequestParameters(parameters, '/thermostats/cool', true, [
218
- 'device_id',
219
- ])
220
-
221
212
  return new SeamHttpRequest(this, {
222
213
  pathname: '/thermostats/cool',
223
214
  method: 'POST',
224
215
  body: parameters,
216
+ parameters,
217
+ hasRequiredParameters: true,
218
+ requiredParameterNames: ['device_id'],
225
219
  responseKey: 'action_attempt',
226
220
  options,
227
221
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -238,17 +232,13 @@ export class SeamHttpThermostats {
238
232
  parameters: ThermostatsCreateClimatePresetParameters,
239
233
  options: ThermostatsCreateClimatePresetOptions = {},
240
234
  ): ThermostatsCreateClimatePresetRequest {
241
- assertValidRequestParameters(
242
- parameters,
243
- '/thermostats/create_climate_preset',
244
- true,
245
- ['climate_preset_key', 'device_id'],
246
- )
247
-
248
235
  return new SeamHttpRequest(this, {
249
236
  pathname: '/thermostats/create_climate_preset',
250
237
  method: 'POST',
251
238
  body: parameters,
239
+ parameters,
240
+ hasRequiredParameters: true,
241
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
252
242
  responseKey: undefined,
253
243
  options,
254
244
  })
@@ -261,17 +251,13 @@ export class SeamHttpThermostats {
261
251
  parameters: ThermostatsDeleteClimatePresetParameters,
262
252
  options: ThermostatsDeleteClimatePresetOptions = {},
263
253
  ): ThermostatsDeleteClimatePresetRequest {
264
- assertValidRequestParameters(
265
- parameters,
266
- '/thermostats/delete_climate_preset',
267
- true,
268
- ['climate_preset_key', 'device_id'],
269
- )
270
-
271
254
  return new SeamHttpRequest(this, {
272
255
  pathname: '/thermostats/delete_climate_preset',
273
256
  method: 'DELETE',
274
257
  params: parameters,
258
+ parameters,
259
+ hasRequiredParameters: true,
260
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
275
261
  responseKey: undefined,
276
262
  options,
277
263
  })
@@ -284,14 +270,13 @@ export class SeamHttpThermostats {
284
270
  parameters: ThermostatsHeatParameters,
285
271
  options: ThermostatsHeatOptions = {},
286
272
  ): ThermostatsHeatRequest {
287
- assertValidRequestParameters(parameters, '/thermostats/heat', true, [
288
- 'device_id',
289
- ])
290
-
291
273
  return new SeamHttpRequest(this, {
292
274
  pathname: '/thermostats/heat',
293
275
  method: 'POST',
294
276
  body: parameters,
277
+ parameters,
278
+ hasRequiredParameters: true,
279
+ requiredParameterNames: ['device_id'],
295
280
  responseKey: 'action_attempt',
296
281
  options,
297
282
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -308,14 +293,13 @@ export class SeamHttpThermostats {
308
293
  parameters: ThermostatsHeatCoolParameters,
309
294
  options: ThermostatsHeatCoolOptions = {},
310
295
  ): ThermostatsHeatCoolRequest {
311
- assertValidRequestParameters(parameters, '/thermostats/heat_cool', true, [
312
- 'device_id',
313
- ])
314
-
315
296
  return new SeamHttpRequest(this, {
316
297
  pathname: '/thermostats/heat_cool',
317
298
  method: 'POST',
318
299
  body: parameters,
300
+ parameters,
301
+ hasRequiredParameters: true,
302
+ requiredParameterNames: ['device_id'],
319
303
  responseKey: 'action_attempt',
320
304
  options,
321
305
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -332,12 +316,13 @@ export class SeamHttpThermostats {
332
316
  parameters?: ThermostatsListParameters,
333
317
  options: ThermostatsListOptions = {},
334
318
  ): ThermostatsListRequest {
335
- assertValidRequestParameters(parameters, '/thermostats/list', false, [])
336
-
337
319
  return new SeamHttpRequest(this, {
338
320
  pathname: '/thermostats/list',
339
321
  method: 'POST',
340
322
  body: parameters,
323
+ parameters,
324
+ hasRequiredParameters: false,
325
+ requiredParameterNames: [],
341
326
  responseKey: 'devices',
342
327
  options,
343
328
  })
@@ -350,14 +335,13 @@ export class SeamHttpThermostats {
350
335
  parameters: ThermostatsOffParameters,
351
336
  options: ThermostatsOffOptions = {},
352
337
  ): ThermostatsOffRequest {
353
- assertValidRequestParameters(parameters, '/thermostats/off', true, [
354
- 'device_id',
355
- ])
356
-
357
338
  return new SeamHttpRequest(this, {
358
339
  pathname: '/thermostats/off',
359
340
  method: 'POST',
360
341
  body: parameters,
342
+ parameters,
343
+ hasRequiredParameters: true,
344
+ requiredParameterNames: ['device_id'],
361
345
  responseKey: 'action_attempt',
362
346
  options,
363
347
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -374,17 +358,13 @@ export class SeamHttpThermostats {
374
358
  parameters: ThermostatsSetFallbackClimatePresetParameters,
375
359
  options: ThermostatsSetFallbackClimatePresetOptions = {},
376
360
  ): ThermostatsSetFallbackClimatePresetRequest {
377
- assertValidRequestParameters(
378
- parameters,
379
- '/thermostats/set_fallback_climate_preset',
380
- true,
381
- ['climate_preset_key', 'device_id'],
382
- )
383
-
384
361
  return new SeamHttpRequest(this, {
385
362
  pathname: '/thermostats/set_fallback_climate_preset',
386
363
  method: 'POST',
387
364
  body: parameters,
365
+ parameters,
366
+ hasRequiredParameters: true,
367
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
388
368
  responseKey: undefined,
389
369
  options,
390
370
  })
@@ -397,17 +377,13 @@ export class SeamHttpThermostats {
397
377
  parameters: ThermostatsSetFanModeParameters,
398
378
  options: ThermostatsSetFanModeOptions = {},
399
379
  ): ThermostatsSetFanModeRequest {
400
- assertValidRequestParameters(
401
- parameters,
402
- '/thermostats/set_fan_mode',
403
- true,
404
- ['device_id'],
405
- )
406
-
407
380
  return new SeamHttpRequest(this, {
408
381
  pathname: '/thermostats/set_fan_mode',
409
382
  method: 'POST',
410
383
  body: parameters,
384
+ parameters,
385
+ hasRequiredParameters: true,
386
+ requiredParameterNames: ['device_id'],
411
387
  responseKey: 'action_attempt',
412
388
  options,
413
389
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -424,17 +400,13 @@ export class SeamHttpThermostats {
424
400
  parameters: ThermostatsSetHvacModeParameters,
425
401
  options: ThermostatsSetHvacModeOptions = {},
426
402
  ): ThermostatsSetHvacModeRequest {
427
- assertValidRequestParameters(
428
- parameters,
429
- '/thermostats/set_hvac_mode',
430
- true,
431
- ['device_id', 'hvac_mode_setting'],
432
- )
433
-
434
403
  return new SeamHttpRequest(this, {
435
404
  pathname: '/thermostats/set_hvac_mode',
436
405
  method: 'POST',
437
406
  body: parameters,
407
+ parameters,
408
+ hasRequiredParameters: true,
409
+ requiredParameterNames: ['device_id', 'hvac_mode_setting'],
438
410
  responseKey: 'action_attempt',
439
411
  options,
440
412
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -451,17 +423,13 @@ export class SeamHttpThermostats {
451
423
  parameters: ThermostatsSetTemperatureThresholdParameters,
452
424
  options: ThermostatsSetTemperatureThresholdOptions = {},
453
425
  ): ThermostatsSetTemperatureThresholdRequest {
454
- assertValidRequestParameters(
455
- parameters,
456
- '/thermostats/set_temperature_threshold',
457
- true,
458
- ['device_id'],
459
- )
460
-
461
426
  return new SeamHttpRequest(this, {
462
427
  pathname: '/thermostats/set_temperature_threshold',
463
428
  method: 'PATCH',
464
429
  body: parameters,
430
+ parameters,
431
+ hasRequiredParameters: true,
432
+ requiredParameterNames: ['device_id'],
465
433
  responseKey: undefined,
466
434
  options,
467
435
  })
@@ -474,17 +442,13 @@ export class SeamHttpThermostats {
474
442
  parameters: ThermostatsUpdateClimatePresetParameters,
475
443
  options: ThermostatsUpdateClimatePresetOptions = {},
476
444
  ): ThermostatsUpdateClimatePresetRequest {
477
- assertValidRequestParameters(
478
- parameters,
479
- '/thermostats/update_climate_preset',
480
- true,
481
- ['climate_preset_key', 'device_id'],
482
- )
483
-
484
445
  return new SeamHttpRequest(this, {
485
446
  pathname: '/thermostats/update_climate_preset',
486
447
  method: 'PATCH',
487
448
  body: parameters,
449
+ parameters,
450
+ hasRequiredParameters: true,
451
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
488
452
  responseKey: undefined,
489
453
  options,
490
454
  })
@@ -497,17 +461,13 @@ export class SeamHttpThermostats {
497
461
  parameters: ThermostatsUpdateWeeklyProgramParameters,
498
462
  options: ThermostatsUpdateWeeklyProgramOptions = {},
499
463
  ): ThermostatsUpdateWeeklyProgramRequest {
500
- assertValidRequestParameters(
501
- parameters,
502
- '/thermostats/update_weekly_program',
503
- true,
504
- ['device_id'],
505
- )
506
-
507
464
  return new SeamHttpRequest(this, {
508
465
  pathname: '/thermostats/update_weekly_program',
509
466
  method: 'POST',
510
467
  body: parameters,
468
+ parameters,
469
+ hasRequiredParameters: true,
470
+ requiredParameterNames: ['device_id'],
511
471
  responseKey: 'action_attempt',
512
472
  options,
513
473
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -28,7 +28,6 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import { assertValidRequestParameters } from 'lib/request-parameters.js'
32
31
  import type { UnmanagedUserIdentity } from 'lib/resources/unmanaged-user-identity.js'
33
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
34
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -169,17 +168,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
169
168
  parameters: UserIdentitiesUnmanagedGetParameters,
170
169
  options: UserIdentitiesUnmanagedGetOptions = {},
171
170
  ): UserIdentitiesUnmanagedGetRequest {
172
- assertValidRequestParameters(
173
- parameters,
174
- '/user_identities/unmanaged/get',
175
- true,
176
- ['user_identity_id'],
177
- )
178
-
179
171
  return new SeamHttpRequest(this, {
180
172
  pathname: '/user_identities/unmanaged/get',
181
173
  method: 'GET',
182
174
  params: parameters,
175
+ parameters,
176
+ hasRequiredParameters: true,
177
+ requiredParameterNames: ['user_identity_id'],
183
178
  responseKey: 'user_identity',
184
179
  options,
185
180
  })
@@ -192,17 +187,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
192
187
  parameters?: UserIdentitiesUnmanagedListParameters,
193
188
  options: UserIdentitiesUnmanagedListOptions = {},
194
189
  ): UserIdentitiesUnmanagedListRequest {
195
- assertValidRequestParameters(
196
- parameters,
197
- '/user_identities/unmanaged/list',
198
- false,
199
- [],
200
- )
201
-
202
190
  return new SeamHttpRequest(this, {
203
191
  pathname: '/user_identities/unmanaged/list',
204
192
  method: 'GET',
205
193
  params: parameters,
194
+ parameters,
195
+ hasRequiredParameters: false,
196
+ requiredParameterNames: [],
206
197
  responseKey: 'user_identities',
207
198
  options,
208
199
  })
@@ -217,17 +208,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
217
208
  parameters: UserIdentitiesUnmanagedUpdateParameters,
218
209
  options: UserIdentitiesUnmanagedUpdateOptions = {},
219
210
  ): UserIdentitiesUnmanagedUpdateRequest {
220
- assertValidRequestParameters(
221
- parameters,
222
- '/user_identities/unmanaged/update',
223
- true,
224
- ['is_managed', 'user_identity_id'],
225
- )
226
-
227
211
  return new SeamHttpRequest(this, {
228
212
  pathname: '/user_identities/unmanaged/update',
229
213
  method: 'PATCH',
230
214
  body: parameters,
215
+ parameters,
216
+ hasRequiredParameters: true,
217
+ requiredParameterNames: ['is_managed', 'user_identity_id'],
231
218
  responseKey: undefined,
232
219
  options,
233
220
  })
@@ -28,10 +28,7 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import {
32
- assertValidRequestParameters,
33
- type RequireAtLeastOne,
34
- } from 'lib/request-parameters.js'
31
+ import type { RequireAtLeastOne } from 'lib/request-parameters.js'
35
32
  import type { AcsEntrance } from 'lib/resources/acs-entrance.js'
36
33
  import type { AcsSystem } from 'lib/resources/acs-system.js'
37
34
  import type { AcsUser } from 'lib/resources/acs-user.js'
@@ -187,17 +184,13 @@ export class SeamHttpUserIdentities {
187
184
  parameters: UserIdentitiesAddAcsUserParameters,
188
185
  options: UserIdentitiesAddAcsUserOptions = {},
189
186
  ): UserIdentitiesAddAcsUserRequest {
190
- assertValidRequestParameters(
191
- parameters,
192
- '/user_identities/add_acs_user',
193
- true,
194
- ['acs_user_id'],
195
- )
196
-
197
187
  return new SeamHttpRequest(this, {
198
188
  pathname: '/user_identities/add_acs_user',
199
189
  method: 'PUT',
200
190
  body: parameters,
191
+ parameters,
192
+ hasRequiredParameters: true,
193
+ requiredParameterNames: ['acs_user_id'],
201
194
  responseKey: undefined,
202
195
  options,
203
196
  })
@@ -210,17 +203,13 @@ export class SeamHttpUserIdentities {
210
203
  parameters?: UserIdentitiesCreateParameters,
211
204
  options: UserIdentitiesCreateOptions = {},
212
205
  ): UserIdentitiesCreateRequest {
213
- assertValidRequestParameters(
214
- parameters,
215
- '/user_identities/create',
216
- false,
217
- [],
218
- )
219
-
220
206
  return new SeamHttpRequest(this, {
221
207
  pathname: '/user_identities/create',
222
208
  method: 'POST',
223
209
  body: parameters,
210
+ parameters,
211
+ hasRequiredParameters: false,
212
+ requiredParameterNames: [],
224
213
  responseKey: 'user_identity',
225
214
  options,
226
215
  })
@@ -233,14 +222,13 @@ export class SeamHttpUserIdentities {
233
222
  parameters: UserIdentitiesDeleteParameters,
234
223
  options: UserIdentitiesDeleteOptions = {},
235
224
  ): UserIdentitiesDeleteRequest {
236
- assertValidRequestParameters(parameters, '/user_identities/delete', true, [
237
- 'user_identity_id',
238
- ])
239
-
240
225
  return new SeamHttpRequest(this, {
241
226
  pathname: '/user_identities/delete',
242
227
  method: 'DELETE',
243
228
  params: parameters,
229
+ parameters,
230
+ hasRequiredParameters: true,
231
+ requiredParameterNames: ['user_identity_id'],
244
232
  responseKey: undefined,
245
233
  options,
246
234
  })
@@ -253,17 +241,13 @@ export class SeamHttpUserIdentities {
253
241
  parameters: UserIdentitiesGenerateInstantKeyParameters,
254
242
  options: UserIdentitiesGenerateInstantKeyOptions = {},
255
243
  ): UserIdentitiesGenerateInstantKeyRequest {
256
- assertValidRequestParameters(
257
- parameters,
258
- '/user_identities/generate_instant_key',
259
- true,
260
- ['user_identity_id'],
261
- )
262
-
263
244
  return new SeamHttpRequest(this, {
264
245
  pathname: '/user_identities/generate_instant_key',
265
246
  method: 'POST',
266
247
  body: parameters,
248
+ parameters,
249
+ hasRequiredParameters: true,
250
+ requiredParameterNames: ['user_identity_id'],
267
251
  responseKey: 'instant_key',
268
252
  options,
269
253
  })
@@ -276,12 +260,13 @@ export class SeamHttpUserIdentities {
276
260
  parameters: UserIdentitiesGetParameters,
277
261
  options: UserIdentitiesGetOptions = {},
278
262
  ): UserIdentitiesGetRequest {
279
- assertValidRequestParameters(parameters, '/user_identities/get', true, [])
280
-
281
263
  return new SeamHttpRequest(this, {
282
264
  pathname: '/user_identities/get',
283
265
  method: 'GET',
284
266
  params: parameters,
267
+ parameters,
268
+ hasRequiredParameters: true,
269
+ requiredParameterNames: [],
285
270
  responseKey: 'user_identity',
286
271
  options,
287
272
  })
@@ -294,17 +279,13 @@ export class SeamHttpUserIdentities {
294
279
  parameters: UserIdentitiesGrantAccessToDeviceParameters,
295
280
  options: UserIdentitiesGrantAccessToDeviceOptions = {},
296
281
  ): UserIdentitiesGrantAccessToDeviceRequest {
297
- assertValidRequestParameters(
298
- parameters,
299
- '/user_identities/grant_access_to_device',
300
- true,
301
- ['device_id', 'user_identity_id'],
302
- )
303
-
304
282
  return new SeamHttpRequest(this, {
305
283
  pathname: '/user_identities/grant_access_to_device',
306
284
  method: 'PUT',
307
285
  body: parameters,
286
+ parameters,
287
+ hasRequiredParameters: true,
288
+ requiredParameterNames: ['device_id', 'user_identity_id'],
308
289
  responseKey: undefined,
309
290
  options,
310
291
  })
@@ -317,12 +298,13 @@ export class SeamHttpUserIdentities {
317
298
  parameters?: UserIdentitiesListParameters,
318
299
  options: UserIdentitiesListOptions = {},
319
300
  ): UserIdentitiesListRequest {
320
- assertValidRequestParameters(parameters, '/user_identities/list', false, [])
321
-
322
301
  return new SeamHttpRequest(this, {
323
302
  pathname: '/user_identities/list',
324
303
  method: 'POST',
325
304
  body: parameters,
305
+ parameters,
306
+ hasRequiredParameters: false,
307
+ requiredParameterNames: [],
326
308
  responseKey: 'user_identities',
327
309
  options,
328
310
  })
@@ -335,17 +317,13 @@ export class SeamHttpUserIdentities {
335
317
  parameters: UserIdentitiesListAccessibleDevicesParameters,
336
318
  options: UserIdentitiesListAccessibleDevicesOptions = {},
337
319
  ): UserIdentitiesListAccessibleDevicesRequest {
338
- assertValidRequestParameters(
339
- parameters,
340
- '/user_identities/list_accessible_devices',
341
- true,
342
- ['user_identity_id'],
343
- )
344
-
345
320
  return new SeamHttpRequest(this, {
346
321
  pathname: '/user_identities/list_accessible_devices',
347
322
  method: 'GET',
348
323
  params: parameters,
324
+ parameters,
325
+ hasRequiredParameters: true,
326
+ requiredParameterNames: ['user_identity_id'],
349
327
  responseKey: 'devices',
350
328
  options,
351
329
  })
@@ -358,17 +336,13 @@ export class SeamHttpUserIdentities {
358
336
  parameters: UserIdentitiesListAccessibleEntrancesParameters,
359
337
  options: UserIdentitiesListAccessibleEntrancesOptions = {},
360
338
  ): UserIdentitiesListAccessibleEntrancesRequest {
361
- assertValidRequestParameters(
362
- parameters,
363
- '/user_identities/list_accessible_entrances',
364
- true,
365
- ['user_identity_id'],
366
- )
367
-
368
339
  return new SeamHttpRequest(this, {
369
340
  pathname: '/user_identities/list_accessible_entrances',
370
341
  method: 'GET',
371
342
  params: parameters,
343
+ parameters,
344
+ hasRequiredParameters: true,
345
+ requiredParameterNames: ['user_identity_id'],
372
346
  responseKey: 'acs_entrances',
373
347
  options,
374
348
  })
@@ -381,17 +355,13 @@ export class SeamHttpUserIdentities {
381
355
  parameters: UserIdentitiesListAcsSystemsParameters,
382
356
  options: UserIdentitiesListAcsSystemsOptions = {},
383
357
  ): UserIdentitiesListAcsSystemsRequest {
384
- assertValidRequestParameters(
385
- parameters,
386
- '/user_identities/list_acs_systems',
387
- true,
388
- ['user_identity_id'],
389
- )
390
-
391
358
  return new SeamHttpRequest(this, {
392
359
  pathname: '/user_identities/list_acs_systems',
393
360
  method: 'GET',
394
361
  params: parameters,
362
+ parameters,
363
+ hasRequiredParameters: true,
364
+ requiredParameterNames: ['user_identity_id'],
395
365
  responseKey: 'acs_systems',
396
366
  options,
397
367
  })
@@ -404,17 +374,13 @@ export class SeamHttpUserIdentities {
404
374
  parameters: UserIdentitiesListAcsUsersParameters,
405
375
  options: UserIdentitiesListAcsUsersOptions = {},
406
376
  ): UserIdentitiesListAcsUsersRequest {
407
- assertValidRequestParameters(
408
- parameters,
409
- '/user_identities/list_acs_users',
410
- true,
411
- ['user_identity_id'],
412
- )
413
-
414
377
  return new SeamHttpRequest(this, {
415
378
  pathname: '/user_identities/list_acs_users',
416
379
  method: 'GET',
417
380
  params: parameters,
381
+ parameters,
382
+ hasRequiredParameters: true,
383
+ requiredParameterNames: ['user_identity_id'],
418
384
  responseKey: 'acs_users',
419
385
  options,
420
386
  })
@@ -427,17 +393,13 @@ export class SeamHttpUserIdentities {
427
393
  parameters: UserIdentitiesRemoveAcsUserParameters,
428
394
  options: UserIdentitiesRemoveAcsUserOptions = {},
429
395
  ): UserIdentitiesRemoveAcsUserRequest {
430
- assertValidRequestParameters(
431
- parameters,
432
- '/user_identities/remove_acs_user',
433
- true,
434
- ['acs_user_id', 'user_identity_id'],
435
- )
436
-
437
396
  return new SeamHttpRequest(this, {
438
397
  pathname: '/user_identities/remove_acs_user',
439
398
  method: 'DELETE',
440
399
  params: parameters,
400
+ parameters,
401
+ hasRequiredParameters: true,
402
+ requiredParameterNames: ['acs_user_id', 'user_identity_id'],
441
403
  responseKey: undefined,
442
404
  options,
443
405
  })
@@ -450,17 +412,13 @@ export class SeamHttpUserIdentities {
450
412
  parameters: UserIdentitiesRevokeAccessToDeviceParameters,
451
413
  options: UserIdentitiesRevokeAccessToDeviceOptions = {},
452
414
  ): UserIdentitiesRevokeAccessToDeviceRequest {
453
- assertValidRequestParameters(
454
- parameters,
455
- '/user_identities/revoke_access_to_device',
456
- true,
457
- ['device_id', 'user_identity_id'],
458
- )
459
-
460
415
  return new SeamHttpRequest(this, {
461
416
  pathname: '/user_identities/revoke_access_to_device',
462
417
  method: 'DELETE',
463
418
  params: parameters,
419
+ parameters,
420
+ hasRequiredParameters: true,
421
+ requiredParameterNames: ['device_id', 'user_identity_id'],
464
422
  responseKey: undefined,
465
423
  options,
466
424
  })
@@ -473,14 +431,13 @@ export class SeamHttpUserIdentities {
473
431
  parameters: UserIdentitiesUpdateParameters,
474
432
  options: UserIdentitiesUpdateOptions = {},
475
433
  ): UserIdentitiesUpdateRequest {
476
- assertValidRequestParameters(parameters, '/user_identities/update', true, [
477
- 'user_identity_id',
478
- ])
479
-
480
434
  return new SeamHttpRequest(this, {
481
435
  pathname: '/user_identities/update',
482
436
  method: 'PATCH',
483
437
  body: parameters,
438
+ parameters,
439
+ hasRequiredParameters: true,
440
+ requiredParameterNames: ['user_identity_id'],
484
441
  responseKey: undefined,
485
442
  options,
486
443
  })