@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.
- package/README.md +47 -0
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/lib/client.js +1 -1
- package/lib/client.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/request-parameters.d.ts +1 -1
- package/lib/request-parameters.js.map +1 -1
- package/lib/routes/access-codes/access-codes.d.ts +1 -1
- package/lib/routes/access-codes/access-codes.js +30 -17
- package/lib/routes/access-codes/access-codes.js.map +1 -1
- package/lib/routes/access-codes/simulate/simulate.js +3 -2
- package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
- package/lib/routes/access-codes/unmanaged/unmanaged.d.ts +1 -1
- package/lib/routes/access-codes/unmanaged/unmanaged.js +15 -6
- package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/access-grants/access-grants.d.ts +1 -1
- package/lib/routes/access-grants/access-grants.js +21 -12
- package/lib/routes/access-grants/access-grants.js.map +1 -1
- package/lib/routes/access-grants/unmanaged/unmanaged.js +9 -4
- package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/access-methods/access-methods.d.ts +1 -1
- package/lib/routes/access-methods/access-methods.js +21 -13
- package/lib/routes/access-methods/access-methods.js.map +1 -1
- package/lib/routes/access-methods/unmanaged/unmanaged.js +6 -3
- package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/acs/access-groups/access-groups.js +21 -10
- package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
- package/lib/routes/acs/credentials/credentials.js +24 -19
- package/lib/routes/acs/credentials/credentials.js.map +1 -1
- package/lib/routes/acs/encoders/encoders.js +15 -8
- package/lib/routes/acs/encoders/encoders.js.map +1 -1
- package/lib/routes/acs/encoders/simulate/simulate.js +12 -5
- package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
- package/lib/routes/acs/entrances/entrances.js +15 -11
- package/lib/routes/acs/entrances/entrances.js.map +1 -1
- package/lib/routes/acs/systems/systems.js +12 -7
- package/lib/routes/acs/systems/systems.js.map +1 -1
- package/lib/routes/acs/users/users.d.ts +1 -1
- package/lib/routes/acs/users/users.js +33 -15
- package/lib/routes/acs/users/users.js.map +1 -1
- package/lib/routes/action-attempts/action-attempts.js +6 -5
- package/lib/routes/action-attempts/action-attempts.js.map +1 -1
- package/lib/routes/client-sessions/client-sessions.d.ts +1 -1
- package/lib/routes/client-sessions/client-sessions.js +21 -12
- package/lib/routes/client-sessions/client-sessions.js.map +1 -1
- package/lib/routes/connect-webviews/connect-webviews.js +12 -9
- package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
- package/lib/routes/connected-accounts/connected-accounts.d.ts +1 -1
- package/lib/routes/connected-accounts/connected-accounts.js +15 -8
- package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
- package/lib/routes/connected-accounts/simulate/simulate.js +3 -2
- package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
- package/lib/routes/customers/customers.js +9 -6
- package/lib/routes/customers/customers.js.map +1 -1
- package/lib/routes/devices/devices.d.ts +1 -1
- package/lib/routes/devices/devices.js +15 -8
- package/lib/routes/devices/devices.js.map +1 -1
- package/lib/routes/devices/simulate/simulate.js +18 -9
- package/lib/routes/devices/simulate/simulate.js.map +1 -1
- package/lib/routes/devices/unmanaged/unmanaged.d.ts +1 -1
- package/lib/routes/devices/unmanaged/unmanaged.js +9 -4
- package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/events/events.d.ts +1 -1
- package/lib/routes/events/events.js +6 -3
- package/lib/routes/events/events.js.map +1 -1
- package/lib/routes/instant-keys/instant-keys.d.ts +1 -1
- package/lib/routes/instant-keys/instant-keys.js +9 -6
- package/lib/routes/instant-keys/instant-keys.js.map +1 -1
- package/lib/routes/locks/locks.d.ts +1 -1
- package/lib/routes/locks/locks.js +15 -10
- package/lib/routes/locks/locks.js.map +1 -1
- package/lib/routes/locks/simulate/simulate.js +6 -3
- package/lib/routes/locks/simulate/simulate.js.map +1 -1
- package/lib/routes/noise-sensors/noise-sensors.js +3 -2
- package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
- package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +15 -6
- package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
- package/lib/routes/noise-sensors/simulate/simulate.js +3 -2
- package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
- package/lib/routes/phones/phones.js +9 -6
- package/lib/routes/phones/phones.js.map +1 -1
- package/lib/routes/phones/simulate/simulate.js +3 -2
- package/lib/routes/phones/simulate/simulate.js.map +1 -1
- package/lib/routes/spaces/spaces.d.ts +1 -1
- package/lib/routes/spaces/spaces.js +36 -21
- package/lib/routes/spaces/spaces.js.map +1 -1
- package/lib/routes/thermostats/daily-programs/daily-programs.js +13 -4
- package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
- package/lib/routes/thermostats/schedules/schedules.js +20 -6
- package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
- package/lib/routes/thermostats/simulate/simulate.js +6 -3
- package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
- package/lib/routes/thermostats/thermostats.js +42 -23
- package/lib/routes/thermostats/thermostats.js.map +1 -1
- package/lib/routes/user-identities/unmanaged/unmanaged.js +9 -4
- package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/user-identities/user-identities.d.ts +1 -1
- package/lib/routes/user-identities/user-identities.js +42 -19
- package/lib/routes/user-identities/user-identities.js.map +1 -1
- package/lib/routes/webhooks/webhooks.js +15 -13
- package/lib/routes/webhooks/webhooks.js.map +1 -1
- package/lib/routes/workspaces/workspaces.js +15 -8
- package/lib/routes/workspaces/workspaces.js.map +1 -1
- package/lib/seam-http-request.d.ts +3 -0
- package/lib/seam-http-request.js +3 -1
- package/lib/seam-http-request.js.map +1 -1
- package/lib/url-search-params-serializer.d.ts +4 -0
- package/lib/url-search-params-serializer.js +17 -0
- package/lib/url-search-params-serializer.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
- package/src/index.ts +0 -1
- package/src/lib/client.ts +1 -1
- package/src/lib/index.ts +1 -0
- package/src/lib/request-parameters.ts +1 -1
- package/src/lib/routes/access-codes/access-codes.ts +31 -55
- package/src/lib/routes/access-codes/simulate/simulate.ts +3 -8
- package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +16 -39
- package/src/lib/routes/access-grants/access-grants.ts +22 -32
- package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +9 -22
- package/src/lib/routes/access-methods/access-methods.ts +22 -38
- package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +6 -15
- package/src/lib/routes/acs/access-groups/access-groups.ts +21 -47
- package/src/lib/routes/acs/credentials/credentials.ts +24 -37
- package/src/lib/routes/acs/encoders/encoders.ts +15 -28
- package/src/lib/routes/acs/encoders/simulate/simulate.ts +12 -29
- package/src/lib/routes/acs/entrances/entrances.ts +15 -26
- package/src/lib/routes/acs/systems/systems.ts +12 -21
- package/src/lib/routes/acs/users/users.ts +34 -49
- package/src/lib/routes/action-attempts/action-attempts.ts +6 -7
- package/src/lib/routes/client-sessions/client-sessions.ts +22 -37
- package/src/lib/routes/connect-webviews/connect-webviews.ts +12 -23
- package/src/lib/routes/connected-accounts/connected-accounts.ts +16 -36
- package/src/lib/routes/connected-accounts/simulate/simulate.ts +3 -8
- package/src/lib/routes/customers/customers.ts +9 -19
- package/src/lib/routes/devices/devices.ts +16 -26
- package/src/lib/routes/devices/simulate/simulate.ts +18 -40
- package/src/lib/routes/devices/unmanaged/unmanaged.ts +10 -20
- package/src/lib/routes/events/events.ts +7 -8
- package/src/lib/routes/instant-keys/instant-keys.ts +10 -12
- package/src/lib/routes/locks/locks.ts +16 -23
- package/src/lib/routes/locks/simulate/simulate.ts +6 -15
- package/src/lib/routes/noise-sensors/noise-sensors.ts +3 -3
- package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +15 -36
- package/src/lib/routes/noise-sensors/simulate/simulate.ts +3 -8
- package/src/lib/routes/phones/phones.ts +9 -9
- package/src/lib/routes/phones/simulate/simulate.ts +3 -8
- package/src/lib/routes/spaces/spaces.ts +37 -56
- package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +13 -22
- package/src/lib/routes/thermostats/schedules/schedules.ts +20 -36
- package/src/lib/routes/thermostats/simulate/simulate.ts +6 -15
- package/src/lib/routes/thermostats/thermostats.ts +42 -82
- package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +9 -22
- package/src/lib/routes/user-identities/user-identities.ts +43 -86
- package/src/lib/routes/webhooks/webhooks.ts +15 -18
- package/src/lib/routes/workspaces/workspaces.ts +15 -18
- package/src/lib/seam-http-request.ts +12 -1
- package/src/lib/url-search-params-serializer.ts +28 -0
- package/src/lib/version.ts +1 -1
package/README.md
CHANGED
|
@@ -526,6 +526,53 @@ console.log(`${request.method} ${request.url}`, JSON.stringify(request.body))
|
|
|
526
526
|
const devices = await request.execute()
|
|
527
527
|
```
|
|
528
528
|
|
|
529
|
+
#### Serializing URL search params
|
|
530
|
+
|
|
531
|
+
The Seam API parses URL search params as complex types.
|
|
532
|
+
If you call it with your own HTTP client, use `serializeUrlSearchParams`:
|
|
533
|
+
|
|
534
|
+
```ts
|
|
535
|
+
import axios from 'axios'
|
|
536
|
+
import { serializeUrlSearchParams } from '@seamapi/http'
|
|
537
|
+
|
|
538
|
+
await axios.get('https://connect.getseam.com/devices/list', {
|
|
539
|
+
params: { device_ids: ['device1', 'device2'] },
|
|
540
|
+
paramsSerializer: serializeUrlSearchParams,
|
|
541
|
+
headers: { Authorization: 'Bearer your-api-key' },
|
|
542
|
+
})
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
or `updateUrlSearchParams`:
|
|
546
|
+
|
|
547
|
+
```ts
|
|
548
|
+
import { updateUrlSearchParams } from '@seamapi/http'
|
|
549
|
+
|
|
550
|
+
const searchParams = new URLSearchParams()
|
|
551
|
+
updateUrlSearchParams(searchParams, { device_ids: ['device1', 'device2'] })
|
|
552
|
+
|
|
553
|
+
Array.from(searchParams)
|
|
554
|
+
// => [['device_ids', 'device1'], ['device_ids', 'device2'], ['_strict', 'true']]
|
|
555
|
+
|
|
556
|
+
searchParams.toString()
|
|
557
|
+
// => 'device_ids=device1&device_ids=device2&_strict=true'
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
The helpers wrap the [reference implementation].
|
|
561
|
+
The serialization defines the name and string value of each search param.
|
|
562
|
+
[`URLSearchParams`][URLSearchParams] holds those pairs and renders the query string:
|
|
563
|
+
The `_strict=true` parameter is added to any non-empty query so the Seam API uses
|
|
564
|
+
strict, schema-aware parsing.
|
|
565
|
+
A query with no serializable params remains empty.
|
|
566
|
+
|
|
567
|
+
A param set to `undefined` is omitted, while a param set to `null` is serialized
|
|
568
|
+
to an empty value, which the Seam API reads as null.
|
|
569
|
+
A param that cannot be represented raises an `UnserializableParamError`.
|
|
570
|
+
The Seam API parses these params with the corresponding [parser].
|
|
571
|
+
|
|
572
|
+
[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
|
|
573
|
+
[reference implementation]: https://github.com/seamapi/url-search-params-serializer
|
|
574
|
+
[parser]: https://github.com/seamapi/url-search-params-parser
|
|
575
|
+
|
|
529
576
|
## Development and Testing
|
|
530
577
|
|
|
531
578
|
### Quickstart
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
package/lib/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { serializeUrlSearchParams } from '@seamapi/url-search-params-serializer';
|
|
2
1
|
import axios, {} from 'axios';
|
|
3
2
|
import axiosRetry, { exponentialDelay } from 'axios-retry';
|
|
4
3
|
import { errorInterceptor } from './error-interceptor.js';
|
|
4
|
+
import { serializeUrlSearchParams } from './url-search-params-serializer.js';
|
|
5
5
|
export const defaultTimeout = 30_000;
|
|
6
6
|
export const createClient = (options) => {
|
|
7
7
|
const client = axios.create({
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+C,MAAM,OAAO,CAAA;AAC1E,OAAO,UAAU,EAAE,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAI5E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAUpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAiB,EAAE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,gBAAgB,EAAE,wBAAwB;QAC1C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,cAAc;QAC1C,GAAG,OAAO,CAAC,YAAY;KACxB,CAAC,CAAA;IAEF,UAAU,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,gBAAgB;QAC5B,GAAG,OAAO,CAAC,iBAAiB;KAC7B,CAAC,CAAA;IAEF,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
package/lib/index.d.ts
CHANGED
|
@@ -9,3 +9,4 @@ export * from './seam-http-error.js';
|
|
|
9
9
|
export * from './seam-http-request.js';
|
|
10
10
|
export * from './seam-paginator.js';
|
|
11
11
|
export { isApiKey, isClientSessionToken, isConsoleSessionToken, isPersonalAccessToken, isPublishableKey, } from './token.js';
|
|
12
|
+
export * from './url-search-params-serializer.js';
|
package/lib/index.js
CHANGED
|
@@ -9,4 +9,5 @@ export * from './seam-http-error.js';
|
|
|
9
9
|
export * from './seam-http-request.js';
|
|
10
10
|
export * from './seam-paginator.js';
|
|
11
11
|
export { isApiKey, isClientSessionToken, isConsoleSessionToken, isPersonalAccessToken, isPublishableKey, } from './token.js';
|
|
12
|
+
export * from './url-search-params-serializer.js';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAA;AACnB,cAAc,mCAAmC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Keys extends keyof T ? {
|
|
2
2
|
[Key in Keys]-?: Exclude<T[Key], undefined>;
|
|
3
3
|
} & Partial<Omit<T, Keys>> : never;
|
|
4
|
-
export declare const assertValidRequestParameters: (parameters: unknown, path: string, hasRequiredParameters: boolean, requiredParameterNames: string[]) => void;
|
|
4
|
+
export declare const assertValidRequestParameters: (parameters: unknown, path: string, hasRequiredParameters: boolean, requiredParameterNames: readonly string[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-parameters.js","sourceRoot":"","sources":["../src/lib/request-parameters.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAmB,EACnB,IAAY,EACZ,qBAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"request-parameters.js","sourceRoot":"","sources":["../src/lib/request-parameters.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAmB,EACnB,IAAY,EACZ,qBAA8B,EAC9B,sBAAyC,EACnC,EAAE;IACR,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,OAAM;IACR,CAAC;IAED,IACE,UAAU,KAAK,IAAI;QACnB,OAAO,UAAU,KAAK,QAAQ;QAC9B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EACzB,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,eAAe,GAAG,UAAqC,CAAA;IAC7D,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,SAAS,CAC9C,CAAA;IACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CACjB,mCAAmC,IAAI,KAAK,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAA;IACH,CAAC;IAED,IACE,qBAAqB;QACrB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EACpE,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Client } from '../../client.js';
|
|
2
2
|
import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../options.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { RequireAtLeastOne } from '../../request-parameters.js';
|
|
4
4
|
import type { AccessCode } from '../../resources/access-code.js';
|
|
5
5
|
import { SeamHttpRequest } from '../../seam-http-request.js';
|
|
6
6
|
import { SeamPaginator } from '../../seam-paginator.js';
|
|
@@ -6,7 +6,6 @@ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, }
|
|
|
6
6
|
import { createClient } from '../../client.js';
|
|
7
7
|
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from '../../options.js';
|
|
8
8
|
import { limitToSeamHttpRequestOptions, parseOptions, } from '../../parse-options.js';
|
|
9
|
-
import { assertValidRequestParameters, } from '../../request-parameters.js';
|
|
10
9
|
import { SeamHttpClientSessions } from '../../routes/client-sessions/index.js';
|
|
11
10
|
import { SeamHttpRequest } from '../../seam-http-request.js';
|
|
12
11
|
import { SeamPaginator } from '../../seam-paginator.js';
|
|
@@ -95,13 +94,13 @@ export class SeamHttpAccessCodes {
|
|
|
95
94
|
* Creates a new [access code](https://docs.seam.co/low-level-apis/access-codes). For granting access, we recommend [Access Grants](https://docs.seam.co/use-cases/granting-access) instead: they work across both standalone smart locks and access control systems and manage the underlying codes for you. Use this low-level endpoint only when you need direct control over a code on a single device, such as setting a custom PIN value.
|
|
96
95
|
*/
|
|
97
96
|
create(parameters, options = {}) {
|
|
98
|
-
assertValidRequestParameters(parameters, '/access_codes/create', true, [
|
|
99
|
-
'device_id',
|
|
100
|
-
]);
|
|
101
97
|
return new SeamHttpRequest(this, {
|
|
102
98
|
pathname: '/access_codes/create',
|
|
103
99
|
method: 'POST',
|
|
104
100
|
body: parameters,
|
|
101
|
+
parameters,
|
|
102
|
+
hasRequiredParameters: true,
|
|
103
|
+
requiredParameterNames: ['device_id'],
|
|
105
104
|
responseKey: 'access_code',
|
|
106
105
|
options,
|
|
107
106
|
});
|
|
@@ -120,11 +119,13 @@ export class SeamHttpAccessCodes {
|
|
|
120
119
|
* For granting a person access to a space, [Access Grants](https://docs.seam.co/use-cases/granting-access) are the default and recommended approach and work across both standalone smart locks and access systems. Use the lower-level Access Codes API directly only when you specifically need to manage individual PIN codes.
|
|
121
120
|
*/
|
|
122
121
|
createMultiple(parameters, options = {}) {
|
|
123
|
-
assertValidRequestParameters(parameters, '/access_codes/create_multiple', true, ['device_ids']);
|
|
124
122
|
return new SeamHttpRequest(this, {
|
|
125
123
|
pathname: '/access_codes/create_multiple',
|
|
126
124
|
method: 'PUT',
|
|
127
125
|
body: parameters,
|
|
126
|
+
parameters,
|
|
127
|
+
hasRequiredParameters: true,
|
|
128
|
+
requiredParameterNames: ['device_ids'],
|
|
128
129
|
responseKey: 'access_codes',
|
|
129
130
|
options,
|
|
130
131
|
});
|
|
@@ -133,13 +134,13 @@ export class SeamHttpAccessCodes {
|
|
|
133
134
|
* Deletes an [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes).
|
|
134
135
|
*/
|
|
135
136
|
delete(parameters, options = {}) {
|
|
136
|
-
assertValidRequestParameters(parameters, '/access_codes/delete', true, [
|
|
137
|
-
'access_code_id',
|
|
138
|
-
]);
|
|
139
137
|
return new SeamHttpRequest(this, {
|
|
140
138
|
pathname: '/access_codes/delete',
|
|
141
139
|
method: 'DELETE',
|
|
142
140
|
params: parameters,
|
|
141
|
+
parameters,
|
|
142
|
+
hasRequiredParameters: true,
|
|
143
|
+
requiredParameterNames: ['access_code_id'],
|
|
143
144
|
responseKey: undefined,
|
|
144
145
|
options,
|
|
145
146
|
});
|
|
@@ -148,11 +149,13 @@ export class SeamHttpAccessCodes {
|
|
|
148
149
|
* Generates a code for an [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes), given a device ID.
|
|
149
150
|
*/
|
|
150
151
|
generateCode(parameters, options = {}) {
|
|
151
|
-
assertValidRequestParameters(parameters, '/access_codes/generate_code', true, ['device_id']);
|
|
152
152
|
return new SeamHttpRequest(this, {
|
|
153
153
|
pathname: '/access_codes/generate_code',
|
|
154
154
|
method: 'GET',
|
|
155
155
|
params: parameters,
|
|
156
|
+
parameters,
|
|
157
|
+
hasRequiredParameters: true,
|
|
158
|
+
requiredParameterNames: ['device_id'],
|
|
156
159
|
responseKey: 'generated_code',
|
|
157
160
|
options,
|
|
158
161
|
});
|
|
@@ -163,11 +166,13 @@ export class SeamHttpAccessCodes {
|
|
|
163
166
|
* You must specify either `access_code_id` or both `device_id` and `code`.
|
|
164
167
|
*/
|
|
165
168
|
get(parameters, options = {}) {
|
|
166
|
-
assertValidRequestParameters(parameters, '/access_codes/get', true, []);
|
|
167
169
|
return new SeamHttpRequest(this, {
|
|
168
170
|
pathname: '/access_codes/get',
|
|
169
171
|
method: 'GET',
|
|
170
172
|
params: parameters,
|
|
173
|
+
parameters,
|
|
174
|
+
hasRequiredParameters: true,
|
|
175
|
+
requiredParameterNames: [],
|
|
171
176
|
responseKey: 'access_code',
|
|
172
177
|
options,
|
|
173
178
|
});
|
|
@@ -178,11 +183,13 @@ export class SeamHttpAccessCodes {
|
|
|
178
183
|
* Specify `device_id`, `access_code_ids`, `access_method_id`, `access_grant_id`, or `access_grant_key`.
|
|
179
184
|
*/
|
|
180
185
|
list(parameters, options = {}) {
|
|
181
|
-
assertValidRequestParameters(parameters, '/access_codes/list', true, []);
|
|
182
186
|
return new SeamHttpRequest(this, {
|
|
183
187
|
pathname: '/access_codes/list',
|
|
184
188
|
method: 'POST',
|
|
185
189
|
body: parameters,
|
|
190
|
+
parameters,
|
|
191
|
+
hasRequiredParameters: true,
|
|
192
|
+
requiredParameterNames: [],
|
|
186
193
|
responseKey: 'access_codes',
|
|
187
194
|
options,
|
|
188
195
|
});
|
|
@@ -199,11 +206,13 @@ export class SeamHttpAccessCodes {
|
|
|
199
206
|
* Before pulling a backup access code, make sure that the device's `properties.supports_backup_access_code_pool` is `true`. Then, to activate the backup pool, set `use_backup_access_code_pool` to `true` when creating an access code.
|
|
200
207
|
*/
|
|
201
208
|
pullBackupAccessCode(parameters, options = {}) {
|
|
202
|
-
assertValidRequestParameters(parameters, '/access_codes/pull_backup_access_code', true, ['access_code_id']);
|
|
203
209
|
return new SeamHttpRequest(this, {
|
|
204
210
|
pathname: '/access_codes/pull_backup_access_code',
|
|
205
211
|
method: 'POST',
|
|
206
212
|
body: parameters,
|
|
213
|
+
parameters,
|
|
214
|
+
hasRequiredParameters: true,
|
|
215
|
+
requiredParameterNames: ['access_code_id'],
|
|
207
216
|
responseKey: 'access_code',
|
|
208
217
|
options,
|
|
209
218
|
});
|
|
@@ -214,11 +223,13 @@ export class SeamHttpAccessCodes {
|
|
|
214
223
|
* Specify either `supported_code_lengths` or `min_code_length`/`max_code_length`.
|
|
215
224
|
*/
|
|
216
225
|
reportDeviceConstraints(parameters, options = {}) {
|
|
217
|
-
assertValidRequestParameters(parameters, '/access_codes/report_device_constraints', true, ['device_id']);
|
|
218
226
|
return new SeamHttpRequest(this, {
|
|
219
227
|
pathname: '/access_codes/report_device_constraints',
|
|
220
228
|
method: 'POST',
|
|
221
229
|
body: parameters,
|
|
230
|
+
parameters,
|
|
231
|
+
hasRequiredParameters: true,
|
|
232
|
+
requiredParameterNames: ['device_id'],
|
|
222
233
|
responseKey: undefined,
|
|
223
234
|
options,
|
|
224
235
|
});
|
|
@@ -229,13 +240,13 @@ export class SeamHttpAccessCodes {
|
|
|
229
240
|
* See also [Modifying Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/modifying-access-codes).
|
|
230
241
|
*/
|
|
231
242
|
update(parameters, options = {}) {
|
|
232
|
-
assertValidRequestParameters(parameters, '/access_codes/update', true, [
|
|
233
|
-
'access_code_id',
|
|
234
|
-
]);
|
|
235
243
|
return new SeamHttpRequest(this, {
|
|
236
244
|
pathname: '/access_codes/update',
|
|
237
245
|
method: 'PUT',
|
|
238
246
|
body: parameters,
|
|
247
|
+
parameters,
|
|
248
|
+
hasRequiredParameters: true,
|
|
249
|
+
requiredParameterNames: ['access_code_id'],
|
|
239
250
|
responseKey: undefined,
|
|
240
251
|
options,
|
|
241
252
|
});
|
|
@@ -248,11 +259,13 @@ export class SeamHttpAccessCodes {
|
|
|
248
259
|
* See also [Update Linked Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes#update-linked-access-codes).
|
|
249
260
|
*/
|
|
250
261
|
updateMultiple(parameters, options = {}) {
|
|
251
|
-
assertValidRequestParameters(parameters, '/access_codes/update_multiple', true, ['common_code_key']);
|
|
252
262
|
return new SeamHttpRequest(this, {
|
|
253
263
|
pathname: '/access_codes/update_multiple',
|
|
254
264
|
method: 'PATCH',
|
|
255
265
|
body: parameters,
|
|
266
|
+
parameters,
|
|
267
|
+
hasRequiredParameters: true,
|
|
268
|
+
requiredParameterNames: ['common_code_key'],
|
|
256
269
|
responseKey: undefined,
|
|
257
270
|
options,
|
|
258
271
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-codes.js","sourceRoot":"","sources":["../../../src/lib/routes/access-codes/access-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EAExC,2BAA2B,GAQ5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,6BAA6B,EAC7B,YAAY,GACb,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"access-codes.js","sourceRoot":"","sources":["../../../src/lib/routes/access-codes/access-codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, }
|
|
|
6
6
|
import { createClient } from '../../../client.js';
|
|
7
7
|
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from '../../../options.js';
|
|
8
8
|
import { limitToSeamHttpRequestOptions, parseOptions, } from '../../../parse-options.js';
|
|
9
|
-
import { assertValidRequestParameters } from '../../../request-parameters.js';
|
|
10
9
|
import { SeamHttpClientSessions } from '../../../routes/client-sessions/index.js';
|
|
11
10
|
import { SeamHttpRequest } from '../../../seam-http-request.js';
|
|
12
11
|
import { SeamPaginator } from '../../../seam-paginator.js';
|
|
@@ -87,11 +86,13 @@ export class SeamHttpAccessCodesSimulate {
|
|
|
87
86
|
* Simulates the creation of an [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
|
|
88
87
|
*/
|
|
89
88
|
createUnmanagedAccessCode(parameters, options = {}) {
|
|
90
|
-
assertValidRequestParameters(parameters, '/access_codes/simulate/create_unmanaged_access_code', true, ['code', 'device_id', 'name']);
|
|
91
89
|
return new SeamHttpRequest(this, {
|
|
92
90
|
pathname: '/access_codes/simulate/create_unmanaged_access_code',
|
|
93
91
|
method: 'POST',
|
|
94
92
|
body: parameters,
|
|
93
|
+
parameters,
|
|
94
|
+
hasRequiredParameters: true,
|
|
95
|
+
requiredParameterNames: ['code', 'device_id', 'name'],
|
|
95
96
|
responseKey: 'access_code',
|
|
96
97
|
options,
|
|
97
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/lib/routes/access-codes/simulate/simulate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EAExC,2BAA2B,GAQ5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,6BAA6B,EAC7B,YAAY,GACb,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/lib/routes/access-codes/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Client } from '../../../client.js';
|
|
2
2
|
import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../../options.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { RequireAtLeastOne } from '../../../request-parameters.js';
|
|
4
4
|
import type { UnmanagedAccessCode } from '../../../resources/unmanaged-access-code.js';
|
|
5
5
|
import { SeamHttpRequest } from '../../../seam-http-request.js';
|
|
6
6
|
import { SeamPaginator } from '../../../seam-paginator.js';
|
|
@@ -6,7 +6,6 @@ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, }
|
|
|
6
6
|
import { createClient } from '../../../client.js';
|
|
7
7
|
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from '../../../options.js';
|
|
8
8
|
import { limitToSeamHttpRequestOptions, parseOptions, } from '../../../parse-options.js';
|
|
9
|
-
import { assertValidRequestParameters, } from '../../../request-parameters.js';
|
|
10
9
|
import { SeamHttpClientSessions } from '../../../routes/client-sessions/index.js';
|
|
11
10
|
import { SeamHttpRequest } from '../../../seam-http-request.js';
|
|
12
11
|
import { SeamPaginator } from '../../../seam-paginator.js';
|
|
@@ -91,11 +90,13 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
91
90
|
* Note that not all device providers support converting an unmanaged access code to a managed access code.
|
|
92
91
|
*/
|
|
93
92
|
convertToManaged(parameters, options = {}) {
|
|
94
|
-
assertValidRequestParameters(parameters, '/access_codes/unmanaged/convert_to_managed', true, ['access_code_id']);
|
|
95
93
|
return new SeamHttpRequest(this, {
|
|
96
94
|
pathname: '/access_codes/unmanaged/convert_to_managed',
|
|
97
95
|
method: 'PATCH',
|
|
98
96
|
body: parameters,
|
|
97
|
+
parameters,
|
|
98
|
+
hasRequiredParameters: true,
|
|
99
|
+
requiredParameterNames: ['access_code_id'],
|
|
99
100
|
responseKey: undefined,
|
|
100
101
|
options,
|
|
101
102
|
});
|
|
@@ -104,11 +105,13 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
104
105
|
* Deletes an [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).
|
|
105
106
|
*/
|
|
106
107
|
delete(parameters, options = {}) {
|
|
107
|
-
assertValidRequestParameters(parameters, '/access_codes/unmanaged/delete', true, ['access_code_id']);
|
|
108
108
|
return new SeamHttpRequest(this, {
|
|
109
109
|
pathname: '/access_codes/unmanaged/delete',
|
|
110
110
|
method: 'DELETE',
|
|
111
111
|
params: parameters,
|
|
112
|
+
parameters,
|
|
113
|
+
hasRequiredParameters: true,
|
|
114
|
+
requiredParameterNames: ['access_code_id'],
|
|
112
115
|
responseKey: undefined,
|
|
113
116
|
options,
|
|
114
117
|
});
|
|
@@ -119,11 +122,13 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
119
122
|
* You must specify either `access_code_id` or both `device_id` and `code`.
|
|
120
123
|
*/
|
|
121
124
|
get(parameters, options = {}) {
|
|
122
|
-
assertValidRequestParameters(parameters, '/access_codes/unmanaged/get', true, []);
|
|
123
125
|
return new SeamHttpRequest(this, {
|
|
124
126
|
pathname: '/access_codes/unmanaged/get',
|
|
125
127
|
method: 'GET',
|
|
126
128
|
params: parameters,
|
|
129
|
+
parameters,
|
|
130
|
+
hasRequiredParameters: true,
|
|
131
|
+
requiredParameterNames: [],
|
|
127
132
|
responseKey: 'access_code',
|
|
128
133
|
options,
|
|
129
134
|
});
|
|
@@ -132,11 +137,13 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
132
137
|
* Returns a list of all [unmanaged access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).
|
|
133
138
|
*/
|
|
134
139
|
list(parameters, options = {}) {
|
|
135
|
-
assertValidRequestParameters(parameters, '/access_codes/unmanaged/list', true, ['device_id']);
|
|
136
140
|
return new SeamHttpRequest(this, {
|
|
137
141
|
pathname: '/access_codes/unmanaged/list',
|
|
138
142
|
method: 'GET',
|
|
139
143
|
params: parameters,
|
|
144
|
+
parameters,
|
|
145
|
+
hasRequiredParameters: true,
|
|
146
|
+
requiredParameterNames: ['device_id'],
|
|
140
147
|
responseKey: 'access_codes',
|
|
141
148
|
options,
|
|
142
149
|
});
|
|
@@ -145,11 +152,13 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
145
152
|
* Updates a specified [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).
|
|
146
153
|
*/
|
|
147
154
|
update(parameters, options = {}) {
|
|
148
|
-
assertValidRequestParameters(parameters, '/access_codes/unmanaged/update', true, ['access_code_id', 'is_managed']);
|
|
149
155
|
return new SeamHttpRequest(this, {
|
|
150
156
|
pathname: '/access_codes/unmanaged/update',
|
|
151
157
|
method: 'PATCH',
|
|
152
158
|
body: parameters,
|
|
159
|
+
parameters,
|
|
160
|
+
hasRequiredParameters: true,
|
|
161
|
+
requiredParameterNames: ['access_code_id', 'is_managed'],
|
|
153
162
|
responseKey: undefined,
|
|
154
163
|
options,
|
|
155
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unmanaged.js","sourceRoot":"","sources":["../../../../src/lib/routes/access-codes/unmanaged/unmanaged.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EAExC,2BAA2B,GAQ5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,6BAA6B,EAC7B,YAAY,GACb,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"unmanaged.js","sourceRoot":"","sources":["../../../../src/lib/routes/access-codes/unmanaged/unmanaged.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Client } from '../../client.js';
|
|
2
2
|
import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../options.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { RequireAtLeastOne } from '../../request-parameters.js';
|
|
4
4
|
import type { AccessGrant } from '../../resources/access-grant.js';
|
|
5
5
|
import type { Batch } from '../../resources/batch.js';
|
|
6
6
|
import { SeamHttpRequest } from '../../seam-http-request.js';
|
|
@@ -6,7 +6,6 @@ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, }
|
|
|
6
6
|
import { createClient } from '../../client.js';
|
|
7
7
|
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from '../../options.js';
|
|
8
8
|
import { limitToSeamHttpRequestOptions, parseOptions, } from '../../parse-options.js';
|
|
9
|
-
import { assertValidRequestParameters, } from '../../request-parameters.js';
|
|
10
9
|
import { SeamHttpClientSessions } from '../../routes/client-sessions/index.js';
|
|
11
10
|
import { SeamHttpRequest } from '../../seam-http-request.js';
|
|
12
11
|
import { SeamPaginator } from '../../seam-paginator.js';
|
|
@@ -91,13 +90,13 @@ export class SeamHttpAccessGrants {
|
|
|
91
90
|
* Creates a new [Access Grant](https://docs.seam.co/use-cases/granting-access/access-grants). Access Grants are the default and recommended way to grant a user access to any physical space, irrespective of the locking hardware. They work with both standalone smart locks (using `device_ids`) and access control systems (using `acs_entrance_ids` or `space_ids`), and can issue PIN codes, key cards, and mobile keys through a single request.
|
|
92
91
|
*/
|
|
93
92
|
create(parameters, options = {}) {
|
|
94
|
-
assertValidRequestParameters(parameters, '/access_grants/create', true, [
|
|
95
|
-
'requested_access_methods',
|
|
96
|
-
]);
|
|
97
93
|
return new SeamHttpRequest(this, {
|
|
98
94
|
pathname: '/access_grants/create',
|
|
99
95
|
method: 'POST',
|
|
100
96
|
body: parameters,
|
|
97
|
+
parameters,
|
|
98
|
+
hasRequiredParameters: true,
|
|
99
|
+
requiredParameterNames: ['requested_access_methods'],
|
|
101
100
|
responseKey: 'access_grant',
|
|
102
101
|
options,
|
|
103
102
|
});
|
|
@@ -106,13 +105,13 @@ export class SeamHttpAccessGrants {
|
|
|
106
105
|
* Delete an Access Grant.
|
|
107
106
|
*/
|
|
108
107
|
delete(parameters, options = {}) {
|
|
109
|
-
assertValidRequestParameters(parameters, '/access_grants/delete', true, [
|
|
110
|
-
'access_grant_id',
|
|
111
|
-
]);
|
|
112
108
|
return new SeamHttpRequest(this, {
|
|
113
109
|
pathname: '/access_grants/delete',
|
|
114
110
|
method: 'DELETE',
|
|
115
111
|
params: parameters,
|
|
112
|
+
parameters,
|
|
113
|
+
hasRequiredParameters: true,
|
|
114
|
+
requiredParameterNames: ['access_grant_id'],
|
|
116
115
|
responseKey: undefined,
|
|
117
116
|
options,
|
|
118
117
|
});
|
|
@@ -121,11 +120,13 @@ export class SeamHttpAccessGrants {
|
|
|
121
120
|
* Get an Access Grant.
|
|
122
121
|
*/
|
|
123
122
|
get(parameters, options = {}) {
|
|
124
|
-
assertValidRequestParameters(parameters, '/access_grants/get', true, []);
|
|
125
123
|
return new SeamHttpRequest(this, {
|
|
126
124
|
pathname: '/access_grants/get',
|
|
127
125
|
method: 'GET',
|
|
128
126
|
params: parameters,
|
|
127
|
+
parameters,
|
|
128
|
+
hasRequiredParameters: true,
|
|
129
|
+
requiredParameterNames: [],
|
|
129
130
|
responseKey: 'access_grant',
|
|
130
131
|
options,
|
|
131
132
|
});
|
|
@@ -134,11 +135,13 @@ export class SeamHttpAccessGrants {
|
|
|
134
135
|
* Gets all related resources for one or more Access Grants.
|
|
135
136
|
*/
|
|
136
137
|
getRelated(parameters, options = {}) {
|
|
137
|
-
assertValidRequestParameters(parameters, '/access_grants/get_related', true, []);
|
|
138
138
|
return new SeamHttpRequest(this, {
|
|
139
139
|
pathname: '/access_grants/get_related',
|
|
140
140
|
method: 'POST',
|
|
141
141
|
body: parameters,
|
|
142
|
+
parameters,
|
|
143
|
+
hasRequiredParameters: true,
|
|
144
|
+
requiredParameterNames: [],
|
|
142
145
|
responseKey: 'batch',
|
|
143
146
|
options,
|
|
144
147
|
});
|
|
@@ -147,11 +150,13 @@ export class SeamHttpAccessGrants {
|
|
|
147
150
|
* Gets an Access Grant.
|
|
148
151
|
*/
|
|
149
152
|
list(parameters, options = {}) {
|
|
150
|
-
assertValidRequestParameters(parameters, '/access_grants/list', false, []);
|
|
151
153
|
return new SeamHttpRequest(this, {
|
|
152
154
|
pathname: '/access_grants/list',
|
|
153
155
|
method: 'POST',
|
|
154
156
|
body: parameters,
|
|
157
|
+
parameters,
|
|
158
|
+
hasRequiredParameters: false,
|
|
159
|
+
requiredParameterNames: [],
|
|
155
160
|
responseKey: 'access_grants',
|
|
156
161
|
options,
|
|
157
162
|
});
|
|
@@ -160,11 +165,13 @@ export class SeamHttpAccessGrants {
|
|
|
160
165
|
* Adds additional requested access methods to an existing Access Grant.
|
|
161
166
|
*/
|
|
162
167
|
requestAccessMethods(parameters, options = {}) {
|
|
163
|
-
assertValidRequestParameters(parameters, '/access_grants/request_access_methods', true, ['access_grant_id', 'requested_access_methods']);
|
|
164
168
|
return new SeamHttpRequest(this, {
|
|
165
169
|
pathname: '/access_grants/request_access_methods',
|
|
166
170
|
method: 'POST',
|
|
167
171
|
body: parameters,
|
|
172
|
+
parameters,
|
|
173
|
+
hasRequiredParameters: true,
|
|
174
|
+
requiredParameterNames: ['access_grant_id', 'requested_access_methods'],
|
|
168
175
|
responseKey: 'access_grant',
|
|
169
176
|
options,
|
|
170
177
|
});
|
|
@@ -173,11 +180,13 @@ export class SeamHttpAccessGrants {
|
|
|
173
180
|
* Updates an existing Access Grant's time window.
|
|
174
181
|
*/
|
|
175
182
|
update(parameters, options = {}) {
|
|
176
|
-
assertValidRequestParameters(parameters, '/access_grants/update', true, []);
|
|
177
183
|
return new SeamHttpRequest(this, {
|
|
178
184
|
pathname: '/access_grants/update',
|
|
179
185
|
method: 'PATCH',
|
|
180
186
|
body: parameters,
|
|
187
|
+
parameters,
|
|
188
|
+
hasRequiredParameters: true,
|
|
189
|
+
requiredParameterNames: [],
|
|
181
190
|
responseKey: undefined,
|
|
182
191
|
options,
|
|
183
192
|
});
|