@seamapi/http 1.24.0 → 1.25.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 +61 -0
- package/dist/connect.cjs +391 -171
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +74 -4
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/lib/seam/connect/index.d.ts +2 -0
- package/lib/seam/connect/index.js +2 -0
- package/lib/seam/connect/index.js.map +1 -1
- package/lib/seam/connect/routes/access-codes-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/access-codes-simulate.js +5 -1
- package/lib/seam/connect/routes/access-codes-simulate.js.map +1 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +2 -0
- package/lib/seam/connect/routes/access-codes-unmanaged.js +9 -5
- package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/access-codes.d.ts +2 -0
- package/lib/seam/connect/routes/access-codes.js +13 -9
- package/lib/seam/connect/routes/access-codes.js.map +1 -1
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.d.ts +2 -0
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.js +6 -2
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/acs-access-groups.d.ts +2 -0
- package/lib/seam/connect/routes/acs-access-groups.js +10 -6
- package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
- package/lib/seam/connect/routes/acs-credential-pools.d.ts +2 -0
- package/lib/seam/connect/routes/acs-credential-pools.js +5 -1
- package/lib/seam/connect/routes/acs-credential-pools.js.map +1 -1
- package/lib/seam/connect/routes/acs-credential-provisioning-automations.d.ts +2 -0
- package/lib/seam/connect/routes/acs-credential-provisioning-automations.js +5 -1
- package/lib/seam/connect/routes/acs-credential-provisioning-automations.js.map +1 -1
- package/lib/seam/connect/routes/acs-credentials-unmanaged.d.ts +2 -0
- package/lib/seam/connect/routes/acs-credentials-unmanaged.js +6 -2
- package/lib/seam/connect/routes/acs-credentials-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/acs-credentials.d.ts +2 -0
- package/lib/seam/connect/routes/acs-credentials.js +13 -9
- package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
- package/lib/seam/connect/routes/acs-encoders-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/acs-encoders-simulate.js +8 -4
- package/lib/seam/connect/routes/acs-encoders-simulate.js.map +1 -1
- package/lib/seam/connect/routes/acs-encoders.d.ts +2 -0
- package/lib/seam/connect/routes/acs-encoders.js +7 -3
- package/lib/seam/connect/routes/acs-encoders.js.map +1 -1
- package/lib/seam/connect/routes/acs-entrances.d.ts +2 -0
- package/lib/seam/connect/routes/acs-entrances.js +8 -4
- package/lib/seam/connect/routes/acs-entrances.js.map +1 -1
- package/lib/seam/connect/routes/acs-systems.d.ts +2 -0
- package/lib/seam/connect/routes/acs-systems.js +7 -3
- package/lib/seam/connect/routes/acs-systems.js.map +1 -1
- package/lib/seam/connect/routes/acs-users-unmanaged.d.ts +2 -0
- package/lib/seam/connect/routes/acs-users-unmanaged.js +6 -2
- package/lib/seam/connect/routes/acs-users-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/acs-users.d.ts +2 -0
- package/lib/seam/connect/routes/acs-users.js +15 -11
- package/lib/seam/connect/routes/acs-users.js.map +1 -1
- package/lib/seam/connect/routes/acs.d.ts +3 -0
- package/lib/seam/connect/routes/acs.js +4 -0
- package/lib/seam/connect/routes/acs.js.map +1 -1
- package/lib/seam/connect/routes/action-attempts.d.ts +2 -0
- package/lib/seam/connect/routes/action-attempts.js +6 -2
- package/lib/seam/connect/routes/action-attempts.js.map +1 -1
- package/lib/seam/connect/routes/bridges.d.ts +2 -0
- package/lib/seam/connect/routes/bridges.js +6 -2
- package/lib/seam/connect/routes/bridges.js.map +1 -1
- package/lib/seam/connect/routes/client-sessions.d.ts +2 -0
- package/lib/seam/connect/routes/client-sessions.js +11 -7
- package/lib/seam/connect/routes/client-sessions.js.map +1 -1
- package/lib/seam/connect/routes/connect-webviews.d.ts +2 -0
- package/lib/seam/connect/routes/connect-webviews.js +8 -4
- package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
- package/lib/seam/connect/routes/connected-accounts.d.ts +2 -0
- package/lib/seam/connect/routes/connected-accounts.js +8 -4
- package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
- package/lib/seam/connect/routes/devices-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/devices-simulate.js +7 -3
- package/lib/seam/connect/routes/devices-simulate.js.map +1 -1
- package/lib/seam/connect/routes/devices-unmanaged.d.ts +2 -0
- package/lib/seam/connect/routes/devices-unmanaged.js +7 -3
- package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/devices.d.ts +2 -0
- package/lib/seam/connect/routes/devices.js +9 -5
- package/lib/seam/connect/routes/devices.js.map +1 -1
- package/lib/seam/connect/routes/events.d.ts +2 -0
- package/lib/seam/connect/routes/events.js +6 -2
- package/lib/seam/connect/routes/events.js.map +1 -1
- package/lib/seam/connect/routes/locks.d.ts +2 -0
- package/lib/seam/connect/routes/locks.js +8 -4
- package/lib/seam/connect/routes/locks.js.map +1 -1
- package/lib/seam/connect/routes/networks.d.ts +2 -0
- package/lib/seam/connect/routes/networks.js +6 -2
- package/lib/seam/connect/routes/networks.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +2 -0
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +9 -5
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/noise-sensors-simulate.js +5 -1
- package/lib/seam/connect/routes/noise-sensors-simulate.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors.d.ts +2 -0
- package/lib/seam/connect/routes/noise-sensors.js +5 -1
- package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
- package/lib/seam/connect/routes/phones-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/phones-simulate.js +5 -1
- package/lib/seam/connect/routes/phones-simulate.js.map +1 -1
- package/lib/seam/connect/routes/phones.d.ts +2 -0
- package/lib/seam/connect/routes/phones.js +7 -3
- package/lib/seam/connect/routes/phones.js.map +1 -1
- package/lib/seam/connect/routes/thermostats-schedules.d.ts +2 -0
- package/lib/seam/connect/routes/thermostats-schedules.js +9 -5
- package/lib/seam/connect/routes/thermostats-schedules.js.map +1 -1
- package/lib/seam/connect/routes/thermostats-simulate.d.ts +2 -0
- package/lib/seam/connect/routes/thermostats-simulate.js +6 -2
- package/lib/seam/connect/routes/thermostats-simulate.js.map +1 -1
- package/lib/seam/connect/routes/thermostats.d.ts +2 -0
- package/lib/seam/connect/routes/thermostats.js +18 -14
- package/lib/seam/connect/routes/thermostats.js.map +1 -1
- package/lib/seam/connect/routes/user-identities-enrollment-automations.d.ts +2 -0
- package/lib/seam/connect/routes/user-identities-enrollment-automations.js +8 -4
- package/lib/seam/connect/routes/user-identities-enrollment-automations.js.map +1 -1
- package/lib/seam/connect/routes/user-identities.d.ts +2 -0
- package/lib/seam/connect/routes/user-identities.js +16 -12
- package/lib/seam/connect/routes/user-identities.js.map +1 -1
- package/lib/seam/connect/routes/webhooks.d.ts +2 -0
- package/lib/seam/connect/routes/webhooks.js +9 -5
- package/lib/seam/connect/routes/webhooks.js.map +1 -1
- package/lib/seam/connect/routes/workspaces.d.ts +2 -0
- package/lib/seam/connect/routes/workspaces.js +8 -4
- package/lib/seam/connect/routes/workspaces.js.map +1 -1
- package/lib/seam/connect/seam-http-request.d.ts +6 -3
- package/lib/seam/connect/seam-http-request.js +25 -14
- package/lib/seam/connect/seam-http-request.js.map +1 -1
- package/lib/seam/connect/seam-http.d.ts +3 -0
- package/lib/seam/connect/seam-http.js +4 -0
- package/lib/seam/connect/seam-http.js.map +1 -1
- package/lib/seam/connect/seam-paginator.d.ts +30 -0
- package/lib/seam/connect/seam-paginator.js +103 -0
- package/lib/seam/connect/seam-paginator.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
- package/src/lib/seam/connect/index.ts +2 -0
- package/src/lib/seam/connect/routes/access-codes-simulate.ts +8 -1
- package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +12 -5
- package/src/lib/seam/connect/routes/access-codes.ts +16 -9
- package/src/lib/seam/connect/routes/acs-access-groups-unmanaged.ts +9 -2
- package/src/lib/seam/connect/routes/acs-access-groups.ts +13 -6
- package/src/lib/seam/connect/routes/acs-credential-pools.ts +8 -1
- package/src/lib/seam/connect/routes/acs-credential-provisioning-automations.ts +8 -1
- package/src/lib/seam/connect/routes/acs-credentials-unmanaged.ts +9 -2
- package/src/lib/seam/connect/routes/acs-credentials.ts +16 -9
- package/src/lib/seam/connect/routes/acs-encoders-simulate.ts +11 -4
- package/src/lib/seam/connect/routes/acs-encoders.ts +10 -3
- package/src/lib/seam/connect/routes/acs-entrances.ts +11 -4
- package/src/lib/seam/connect/routes/acs-systems.ts +10 -3
- package/src/lib/seam/connect/routes/acs-users-unmanaged.ts +9 -2
- package/src/lib/seam/connect/routes/acs-users.ts +18 -11
- package/src/lib/seam/connect/routes/acs.ts +8 -0
- package/src/lib/seam/connect/routes/action-attempts.ts +9 -2
- package/src/lib/seam/connect/routes/bridges.ts +9 -2
- package/src/lib/seam/connect/routes/client-sessions.ts +14 -7
- package/src/lib/seam/connect/routes/connect-webviews.ts +11 -4
- package/src/lib/seam/connect/routes/connected-accounts.ts +11 -4
- package/src/lib/seam/connect/routes/devices-simulate.ts +10 -3
- package/src/lib/seam/connect/routes/devices-unmanaged.ts +10 -3
- package/src/lib/seam/connect/routes/devices.ts +12 -5
- package/src/lib/seam/connect/routes/events.ts +9 -2
- package/src/lib/seam/connect/routes/locks.ts +11 -4
- package/src/lib/seam/connect/routes/networks.ts +9 -2
- package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +12 -5
- package/src/lib/seam/connect/routes/noise-sensors-simulate.ts +8 -1
- package/src/lib/seam/connect/routes/noise-sensors.ts +8 -1
- package/src/lib/seam/connect/routes/phones-simulate.ts +8 -1
- package/src/lib/seam/connect/routes/phones.ts +10 -3
- package/src/lib/seam/connect/routes/thermostats-schedules.ts +12 -5
- package/src/lib/seam/connect/routes/thermostats-simulate.ts +9 -2
- package/src/lib/seam/connect/routes/thermostats.ts +21 -14
- package/src/lib/seam/connect/routes/user-identities-enrollment-automations.ts +11 -4
- package/src/lib/seam/connect/routes/user-identities.ts +19 -12
- package/src/lib/seam/connect/routes/webhooks.ts +12 -5
- package/src/lib/seam/connect/routes/workspaces.ts +11 -4
- package/src/lib/seam/connect/seam-http-request.ts +45 -23
- package/src/lib/seam/connect/seam-http.ts +8 -0
- package/src/lib/seam/connect/seam-paginator.ts +155 -0
- package/src/lib/version.ts +1 -1
|
@@ -6,7 +6,7 @@ interface SeamHttpRequestParent {
|
|
|
6
6
|
readonly defaults: Required<SeamHttpRequestOptions>;
|
|
7
7
|
}
|
|
8
8
|
interface SeamHttpRequestConfig<TResponseKey> {
|
|
9
|
-
readonly
|
|
9
|
+
readonly pathname: string;
|
|
10
10
|
readonly method: Method;
|
|
11
11
|
readonly body?: unknown;
|
|
12
12
|
readonly params?: undefined | Record<string, unknown>;
|
|
@@ -19,11 +19,14 @@ export declare class SeamHttpRequest<const TResponse, const TResponseKey extends
|
|
|
19
19
|
constructor(parent: SeamHttpRequestParent, config: SeamHttpRequestConfig<TResponseKey>);
|
|
20
20
|
get responseKey(): TResponseKey;
|
|
21
21
|
get url(): URL;
|
|
22
|
+
get pathname(): string;
|
|
22
23
|
get method(): Method;
|
|
24
|
+
get params(): undefined | Record<string, unknown>;
|
|
23
25
|
get body(): unknown;
|
|
24
26
|
execute(): Promise<TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
fetchResponse(): Promise<TResponse>;
|
|
28
|
+
then<TResult1 = TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined, TResult2 = never>(onfulfilled?: ((value: TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
|
|
29
|
+
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): Promise<(TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) | TResult>;
|
|
27
30
|
finally(onfinally?: (() => void) | null | undefined): Promise<TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined>;
|
|
28
31
|
}
|
|
29
32
|
export {};
|
|
@@ -26,47 +26,58 @@ export class SeamHttpRequest {
|
|
|
26
26
|
}
|
|
27
27
|
get url() {
|
|
28
28
|
const { client } = __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f");
|
|
29
|
-
const { params } = __classPrivateFieldGet(this, _SeamHttpRequest_config, "f");
|
|
30
29
|
const serializer = typeof client.defaults.paramsSerializer === 'function'
|
|
31
30
|
? client.defaults.paramsSerializer
|
|
32
31
|
: serializeUrlSearchParams;
|
|
33
32
|
const origin = getUrlPrefix(client.defaults.baseURL ?? '');
|
|
34
|
-
const
|
|
35
|
-
?
|
|
36
|
-
:
|
|
37
|
-
const path = params == null ? pathname : `${pathname}?${serializer(params)}`;
|
|
33
|
+
const path = this.params == null
|
|
34
|
+
? this.pathname
|
|
35
|
+
: `${this.pathname}?${serializer(this.params)}`;
|
|
38
36
|
return new URL(`${origin}${path}`);
|
|
39
37
|
}
|
|
38
|
+
get pathname() {
|
|
39
|
+
return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname.startsWith('/')
|
|
40
|
+
? __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname
|
|
41
|
+
: `/${__classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname}`;
|
|
42
|
+
}
|
|
40
43
|
get method() {
|
|
41
44
|
return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").method;
|
|
42
45
|
}
|
|
46
|
+
get params() {
|
|
47
|
+
return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").params;
|
|
48
|
+
}
|
|
43
49
|
get body() {
|
|
44
50
|
return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").body;
|
|
45
51
|
}
|
|
46
52
|
async execute() {
|
|
47
|
-
const
|
|
48
|
-
const response = await client.request({
|
|
49
|
-
url: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").path,
|
|
50
|
-
method: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").method,
|
|
51
|
-
data: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").body,
|
|
52
|
-
params: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").params,
|
|
53
|
-
});
|
|
53
|
+
const response = await this.fetchResponse();
|
|
54
54
|
if (this.responseKey === undefined) {
|
|
55
55
|
return undefined;
|
|
56
56
|
}
|
|
57
|
-
const data = response
|
|
57
|
+
const data = response[this.responseKey];
|
|
58
58
|
if (this.responseKey === 'action_attempt') {
|
|
59
59
|
const waitForActionAttempt = __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").options?.waitForActionAttempt ??
|
|
60
60
|
__classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").defaults.waitForActionAttempt;
|
|
61
61
|
if (waitForActionAttempt !== false) {
|
|
62
|
-
|
|
62
|
+
const actionAttempt = await resolveActionAttempt(data, SeamHttpActionAttempts.fromClient(__classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").client, {
|
|
63
63
|
...__classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").defaults,
|
|
64
64
|
waitForActionAttempt: false,
|
|
65
65
|
}), typeof waitForActionAttempt === 'boolean' ? {} : waitForActionAttempt);
|
|
66
|
+
return actionAttempt;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
return data;
|
|
69
70
|
}
|
|
71
|
+
async fetchResponse() {
|
|
72
|
+
const { client } = __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f");
|
|
73
|
+
const response = await client.request({
|
|
74
|
+
url: this.pathname,
|
|
75
|
+
method: this.method,
|
|
76
|
+
data: this.body,
|
|
77
|
+
params: this.params,
|
|
78
|
+
});
|
|
79
|
+
return response.data;
|
|
80
|
+
}
|
|
70
81
|
async then(onfulfilled, onrejected) {
|
|
71
82
|
return await this.execute().then(onfulfilled, onrejected);
|
|
72
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seam-http-request.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http-request.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"seam-http-request.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
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
3
|
import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNetworks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces } from './routes/index.js';
|
|
4
|
+
import type { SeamHttpRequest } from './seam-http-request.js';
|
|
5
|
+
import { SeamPaginator } from './seam-paginator.js';
|
|
4
6
|
export declare class SeamHttp {
|
|
5
7
|
client: Client;
|
|
6
8
|
readonly defaults: Required<SeamHttpRequestOptions>;
|
|
@@ -13,6 +15,7 @@ export declare class SeamHttp {
|
|
|
13
15
|
static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttp>;
|
|
14
16
|
static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttp;
|
|
15
17
|
static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttp;
|
|
18
|
+
createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(request: SeamHttpRequest<TResponse, TResponseKey>): SeamPaginator<TResponse, TResponseKey>;
|
|
16
19
|
updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
|
|
17
20
|
get accessCodes(): SeamHttpAccessCodes;
|
|
18
21
|
get acs(): SeamHttpAcs;
|
|
@@ -4,6 +4,7 @@ import { createClient } from './client.js';
|
|
|
4
4
|
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
|
|
5
5
|
import { limitToSeamHttpRequestOptions, parseOptions } from './parse-options.js';
|
|
6
6
|
import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNetworks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, } from './routes/index.js';
|
|
7
|
+
import { SeamPaginator } from './seam-paginator.js';
|
|
7
8
|
export class SeamHttp {
|
|
8
9
|
constructor(apiKeyOrOptions = {}) {
|
|
9
10
|
this.ltsVersion = seamApiLtsVersion;
|
|
@@ -59,6 +60,9 @@ export class SeamHttp {
|
|
|
59
60
|
}
|
|
60
61
|
return new SeamHttp(constructorOptions);
|
|
61
62
|
}
|
|
63
|
+
createPaginator(request) {
|
|
64
|
+
return new SeamPaginator(this, request);
|
|
65
|
+
}
|
|
62
66
|
async updateClientSessionToken(clientSessionToken) {
|
|
63
67
|
const { headers } = this.client.defaults;
|
|
64
68
|
const authHeaders = getAuthHeadersForClientSessionToken({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Client } from './client.js';
|
|
2
|
+
import type { SeamHttpRequestOptions } from './options.js';
|
|
3
|
+
import { SeamHttpRequest } from './seam-http-request.js';
|
|
4
|
+
interface SeamPaginatorParent {
|
|
5
|
+
readonly client: Client;
|
|
6
|
+
readonly defaults: Required<SeamHttpRequestOptions>;
|
|
7
|
+
}
|
|
8
|
+
declare const $brand: unique symbol;
|
|
9
|
+
type PageCursor = string & {
|
|
10
|
+
[$brand]: 'SeamPageCursor';
|
|
11
|
+
};
|
|
12
|
+
interface Pagination {
|
|
13
|
+
readonly hasNextPage: boolean;
|
|
14
|
+
readonly nextPageCursor: PageCursor | null;
|
|
15
|
+
readonly nextPageUrl: string | null;
|
|
16
|
+
}
|
|
17
|
+
export declare class SeamPaginator<const TResponse, const TResponseKey extends keyof TResponse> implements AsyncIterable<EnsureReadonlyArray<TResponse[TResponseKey]>> {
|
|
18
|
+
#private;
|
|
19
|
+
constructor(parent: SeamPaginatorParent, request: SeamHttpRequest<TResponse, TResponseKey>);
|
|
20
|
+
firstPage(): Promise<[
|
|
21
|
+
EnsureReadonlyArray<TResponse[TResponseKey]>,
|
|
22
|
+
Pagination
|
|
23
|
+
]>;
|
|
24
|
+
nextPage(nextPageCursor: Pagination['nextPageCursor']): Promise<[EnsureReadonlyArray<TResponse[TResponseKey]>, Pagination]>;
|
|
25
|
+
flattenToArray(): Promise<EnsureReadonlyArray<TResponse[TResponseKey]>>;
|
|
26
|
+
flatten(): AsyncGenerator<EnsureReadonlyArray<TResponse[TResponseKey]>>;
|
|
27
|
+
[Symbol.asyncIterator](): AsyncGenerator<EnsureReadonlyArray<TResponse[TResponseKey]>>;
|
|
28
|
+
}
|
|
29
|
+
type EnsureReadonlyArray<T> = T extends readonly any[] ? T : never;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _SeamPaginator_instances, _SeamPaginator_request, _SeamPaginator_parent, _SeamPaginator_fetch;
|
|
13
|
+
import { SeamHttpRequest } from './seam-http-request.js';
|
|
14
|
+
export class SeamPaginator {
|
|
15
|
+
constructor(parent, request) {
|
|
16
|
+
_SeamPaginator_instances.add(this);
|
|
17
|
+
_SeamPaginator_request.set(this, void 0);
|
|
18
|
+
_SeamPaginator_parent.set(this, void 0);
|
|
19
|
+
if (request.responseKey == null) {
|
|
20
|
+
throw new Error(`The ${request.pathname} endpoint does not support pagination`);
|
|
21
|
+
}
|
|
22
|
+
__classPrivateFieldSet(this, _SeamPaginator_parent, parent, "f");
|
|
23
|
+
__classPrivateFieldSet(this, _SeamPaginator_request, request, "f");
|
|
24
|
+
}
|
|
25
|
+
async firstPage() {
|
|
26
|
+
return await __classPrivateFieldGet(this, _SeamPaginator_instances, "m", _SeamPaginator_fetch).call(this);
|
|
27
|
+
}
|
|
28
|
+
async nextPage(nextPageCursor) {
|
|
29
|
+
if (nextPageCursor == null) {
|
|
30
|
+
throw new Error('Cannot get the next page with a null nextPageCursor');
|
|
31
|
+
}
|
|
32
|
+
return await __classPrivateFieldGet(this, _SeamPaginator_instances, "m", _SeamPaginator_fetch).call(this, nextPageCursor);
|
|
33
|
+
}
|
|
34
|
+
async flattenToArray() {
|
|
35
|
+
const items = [];
|
|
36
|
+
let [current, pagination] = await this.firstPage();
|
|
37
|
+
items.push(...current);
|
|
38
|
+
while (pagination.hasNextPage) {
|
|
39
|
+
;
|
|
40
|
+
[current, pagination] = await this.nextPage(pagination.nextPageCursor);
|
|
41
|
+
items.push(...current);
|
|
42
|
+
}
|
|
43
|
+
return items;
|
|
44
|
+
}
|
|
45
|
+
async *flatten() {
|
|
46
|
+
let [current, pagination] = await this.firstPage();
|
|
47
|
+
for (const item of current) {
|
|
48
|
+
yield item;
|
|
49
|
+
}
|
|
50
|
+
while (pagination.hasNextPage) {
|
|
51
|
+
;
|
|
52
|
+
[current, pagination] = await this.nextPage(pagination.nextPageCursor);
|
|
53
|
+
for (const item of current) {
|
|
54
|
+
yield item;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async *[(_SeamPaginator_request = new WeakMap(), _SeamPaginator_parent = new WeakMap(), _SeamPaginator_instances = new WeakSet(), _SeamPaginator_fetch = async function _SeamPaginator_fetch(nextPageCursor) {
|
|
59
|
+
const responseKey = __classPrivateFieldGet(this, _SeamPaginator_request, "f").responseKey;
|
|
60
|
+
if (responseKey == null) {
|
|
61
|
+
throw new Error('Cannot paginate a response without a responseKey');
|
|
62
|
+
}
|
|
63
|
+
const request = new SeamHttpRequest(__classPrivateFieldGet(this, _SeamPaginator_parent, "f"), {
|
|
64
|
+
pathname: __classPrivateFieldGet(this, _SeamPaginator_request, "f").pathname,
|
|
65
|
+
method: __classPrivateFieldGet(this, _SeamPaginator_request, "f").method,
|
|
66
|
+
responseKey,
|
|
67
|
+
params: __classPrivateFieldGet(this, _SeamPaginator_request, "f").params != null
|
|
68
|
+
? { ...__classPrivateFieldGet(this, _SeamPaginator_request, "f").params, page_cursor: nextPageCursor }
|
|
69
|
+
: undefined,
|
|
70
|
+
body: __classPrivateFieldGet(this, _SeamPaginator_request, "f").body != null
|
|
71
|
+
? { ...__classPrivateFieldGet(this, _SeamPaginator_request, "f").body, page_cursor: nextPageCursor }
|
|
72
|
+
: undefined,
|
|
73
|
+
});
|
|
74
|
+
const response = await request.fetchResponse();
|
|
75
|
+
const data = response[responseKey];
|
|
76
|
+
const paginationData = response != null &&
|
|
77
|
+
typeof response === 'object' &&
|
|
78
|
+
'pagination' in response
|
|
79
|
+
? response.pagination
|
|
80
|
+
: null;
|
|
81
|
+
const pagination = {
|
|
82
|
+
hasNextPage: paginationData?.has_next_page ?? false,
|
|
83
|
+
nextPageCursor: paginationData?.next_page_cursor ?? null,
|
|
84
|
+
nextPageUrl: paginationData?.next_page_url ?? null,
|
|
85
|
+
};
|
|
86
|
+
if (!Array.isArray(data)) {
|
|
87
|
+
throw new Error(`Expected an array response for ${String(responseKey)} but got ${String(typeof data)}`);
|
|
88
|
+
}
|
|
89
|
+
return [
|
|
90
|
+
data,
|
|
91
|
+
pagination,
|
|
92
|
+
];
|
|
93
|
+
}, Symbol.asyncIterator)]() {
|
|
94
|
+
let [current, pagination] = await this.firstPage();
|
|
95
|
+
yield current;
|
|
96
|
+
while (pagination.hasNextPage) {
|
|
97
|
+
;
|
|
98
|
+
[current, pagination] = await this.nextPage(pagination.nextPageCursor);
|
|
99
|
+
yield current;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=seam-paginator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seam-paginator.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-paginator.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiJavascriptHttpVersion = "1.
|
|
1
|
+
declare const seamapiJavascriptHttpVersion = "1.25.0";
|
|
2
2
|
export default seamapiJavascriptHttpVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamapi/http",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"description": "JavaScript HTTP client for the Seam API written in TypeScript.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"axios-retry": "^4.4.2"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
|
-
"@seamapi/fake-seam-connect": "1.
|
|
101
|
+
"@seamapi/fake-seam-connect": "^1.76.0",
|
|
102
102
|
"@seamapi/types": "1.351.1",
|
|
103
103
|
"@types/eslint": "^8.44.2",
|
|
104
104
|
"@types/jsonwebtoken": "^9.0.6",
|
|
@@ -15,6 +15,8 @@ export * from './seam-http.js'
|
|
|
15
15
|
export * from './seam-http-error.js'
|
|
16
16
|
export * from './seam-http-multi-workspace.js'
|
|
17
17
|
export * from './seam-http-request.js'
|
|
18
|
+
export * from './seam-paginator.js'
|
|
19
|
+
export * from './seam-paginator.js'
|
|
18
20
|
export {
|
|
19
21
|
isApiKey,
|
|
20
22
|
isClientSessionToken,
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
parseOptions,
|
|
32
32
|
} from 'lib/seam/connect/parse-options.js'
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
|
|
34
35
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
36
|
|
|
36
37
|
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
@@ -135,6 +136,12 @@ export class SeamHttpAccessCodesSimulate {
|
|
|
135
136
|
return new SeamHttpAccessCodesSimulate(constructorOptions)
|
|
136
137
|
}
|
|
137
138
|
|
|
139
|
+
createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
|
|
140
|
+
request: SeamHttpRequest<TResponse, TResponseKey>,
|
|
141
|
+
): SeamPaginator<TResponse, TResponseKey> {
|
|
142
|
+
return new SeamPaginator<TResponse, TResponseKey>(this, request)
|
|
143
|
+
}
|
|
144
|
+
|
|
138
145
|
async updateClientSessionToken(
|
|
139
146
|
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
140
147
|
): Promise<void> {
|
|
@@ -161,7 +168,7 @@ export class SeamHttpAccessCodesSimulate {
|
|
|
161
168
|
'access_code'
|
|
162
169
|
> {
|
|
163
170
|
return new SeamHttpRequest(this, {
|
|
164
|
-
|
|
171
|
+
pathname: '/access_codes/simulate/create_unmanaged_access_code',
|
|
165
172
|
method: 'post',
|
|
166
173
|
body,
|
|
167
174
|
responseKey: 'access_code',
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
parseOptions,
|
|
32
32
|
} from 'lib/seam/connect/parse-options.js'
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
|
|
34
35
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
36
|
|
|
36
37
|
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
@@ -135,6 +136,12 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
135
136
|
return new SeamHttpAccessCodesUnmanaged(constructorOptions)
|
|
136
137
|
}
|
|
137
138
|
|
|
139
|
+
createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
|
|
140
|
+
request: SeamHttpRequest<TResponse, TResponseKey>,
|
|
141
|
+
): SeamPaginator<TResponse, TResponseKey> {
|
|
142
|
+
return new SeamPaginator<TResponse, TResponseKey>(this, request)
|
|
143
|
+
}
|
|
144
|
+
|
|
138
145
|
async updateClientSessionToken(
|
|
139
146
|
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
140
147
|
): Promise<void> {
|
|
@@ -158,7 +165,7 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
158
165
|
body?: AccessCodesUnmanagedConvertToManagedBody,
|
|
159
166
|
): SeamHttpRequest<void, undefined> {
|
|
160
167
|
return new SeamHttpRequest(this, {
|
|
161
|
-
|
|
168
|
+
pathname: '/access_codes/unmanaged/convert_to_managed',
|
|
162
169
|
method: 'post',
|
|
163
170
|
body,
|
|
164
171
|
responseKey: undefined,
|
|
@@ -169,7 +176,7 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
169
176
|
body?: AccessCodesUnmanagedDeleteParams,
|
|
170
177
|
): SeamHttpRequest<void, undefined> {
|
|
171
178
|
return new SeamHttpRequest(this, {
|
|
172
|
-
|
|
179
|
+
pathname: '/access_codes/unmanaged/delete',
|
|
173
180
|
method: 'post',
|
|
174
181
|
body,
|
|
175
182
|
responseKey: undefined,
|
|
@@ -180,7 +187,7 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
180
187
|
body?: AccessCodesUnmanagedGetParams,
|
|
181
188
|
): SeamHttpRequest<AccessCodesUnmanagedGetResponse, 'access_code'> {
|
|
182
189
|
return new SeamHttpRequest(this, {
|
|
183
|
-
|
|
190
|
+
pathname: '/access_codes/unmanaged/get',
|
|
184
191
|
method: 'post',
|
|
185
192
|
body,
|
|
186
193
|
responseKey: 'access_code',
|
|
@@ -191,7 +198,7 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
191
198
|
body?: AccessCodesUnmanagedListParams,
|
|
192
199
|
): SeamHttpRequest<AccessCodesUnmanagedListResponse, 'access_codes'> {
|
|
193
200
|
return new SeamHttpRequest(this, {
|
|
194
|
-
|
|
201
|
+
pathname: '/access_codes/unmanaged/list',
|
|
195
202
|
method: 'post',
|
|
196
203
|
body,
|
|
197
204
|
responseKey: 'access_codes',
|
|
@@ -202,7 +209,7 @@ export class SeamHttpAccessCodesUnmanaged {
|
|
|
202
209
|
body?: AccessCodesUnmanagedUpdateBody,
|
|
203
210
|
): SeamHttpRequest<void, undefined> {
|
|
204
211
|
return new SeamHttpRequest(this, {
|
|
205
|
-
|
|
212
|
+
pathname: '/access_codes/unmanaged/update',
|
|
206
213
|
method: 'post',
|
|
207
214
|
body,
|
|
208
215
|
responseKey: undefined,
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
parseOptions,
|
|
32
32
|
} from 'lib/seam/connect/parse-options.js'
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
|
|
34
35
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
36
|
|
|
36
37
|
import { SeamHttpAccessCodesSimulate } from './access-codes-simulate.js'
|
|
@@ -137,6 +138,12 @@ export class SeamHttpAccessCodes {
|
|
|
137
138
|
return new SeamHttpAccessCodes(constructorOptions)
|
|
138
139
|
}
|
|
139
140
|
|
|
141
|
+
createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
|
|
142
|
+
request: SeamHttpRequest<TResponse, TResponseKey>,
|
|
143
|
+
): SeamPaginator<TResponse, TResponseKey> {
|
|
144
|
+
return new SeamPaginator<TResponse, TResponseKey>(this, request)
|
|
145
|
+
}
|
|
146
|
+
|
|
140
147
|
async updateClientSessionToken(
|
|
141
148
|
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
142
149
|
): Promise<void> {
|
|
@@ -168,7 +175,7 @@ export class SeamHttpAccessCodes {
|
|
|
168
175
|
body?: AccessCodesCreateBody,
|
|
169
176
|
): SeamHttpRequest<AccessCodesCreateResponse, 'access_code'> {
|
|
170
177
|
return new SeamHttpRequest(this, {
|
|
171
|
-
|
|
178
|
+
pathname: '/access_codes/create',
|
|
172
179
|
method: 'post',
|
|
173
180
|
body,
|
|
174
181
|
responseKey: 'access_code',
|
|
@@ -179,7 +186,7 @@ export class SeamHttpAccessCodes {
|
|
|
179
186
|
body?: AccessCodesCreateMultipleBody,
|
|
180
187
|
): SeamHttpRequest<AccessCodesCreateMultipleResponse, 'access_codes'> {
|
|
181
188
|
return new SeamHttpRequest(this, {
|
|
182
|
-
|
|
189
|
+
pathname: '/access_codes/create_multiple',
|
|
183
190
|
method: 'post',
|
|
184
191
|
body,
|
|
185
192
|
responseKey: 'access_codes',
|
|
@@ -188,7 +195,7 @@ export class SeamHttpAccessCodes {
|
|
|
188
195
|
|
|
189
196
|
delete(body?: AccessCodesDeleteParams): SeamHttpRequest<void, undefined> {
|
|
190
197
|
return new SeamHttpRequest(this, {
|
|
191
|
-
|
|
198
|
+
pathname: '/access_codes/delete',
|
|
192
199
|
method: 'post',
|
|
193
200
|
body,
|
|
194
201
|
responseKey: undefined,
|
|
@@ -199,7 +206,7 @@ export class SeamHttpAccessCodes {
|
|
|
199
206
|
body?: AccessCodesGenerateCodeBody,
|
|
200
207
|
): SeamHttpRequest<AccessCodesGenerateCodeResponse, 'generated_code'> {
|
|
201
208
|
return new SeamHttpRequest(this, {
|
|
202
|
-
|
|
209
|
+
pathname: '/access_codes/generate_code',
|
|
203
210
|
method: 'post',
|
|
204
211
|
body,
|
|
205
212
|
responseKey: 'generated_code',
|
|
@@ -210,7 +217,7 @@ export class SeamHttpAccessCodes {
|
|
|
210
217
|
body?: AccessCodesGetParams,
|
|
211
218
|
): SeamHttpRequest<AccessCodesGetResponse, 'access_code'> {
|
|
212
219
|
return new SeamHttpRequest(this, {
|
|
213
|
-
|
|
220
|
+
pathname: '/access_codes/get',
|
|
214
221
|
method: 'post',
|
|
215
222
|
body,
|
|
216
223
|
responseKey: 'access_code',
|
|
@@ -221,7 +228,7 @@ export class SeamHttpAccessCodes {
|
|
|
221
228
|
body?: AccessCodesListParams,
|
|
222
229
|
): SeamHttpRequest<AccessCodesListResponse, 'access_codes'> {
|
|
223
230
|
return new SeamHttpRequest(this, {
|
|
224
|
-
|
|
231
|
+
pathname: '/access_codes/list',
|
|
225
232
|
method: 'post',
|
|
226
233
|
body,
|
|
227
234
|
responseKey: 'access_codes',
|
|
@@ -232,7 +239,7 @@ export class SeamHttpAccessCodes {
|
|
|
232
239
|
body?: AccessCodesPullBackupAccessCodeBody,
|
|
233
240
|
): SeamHttpRequest<AccessCodesPullBackupAccessCodeResponse, 'access_code'> {
|
|
234
241
|
return new SeamHttpRequest(this, {
|
|
235
|
-
|
|
242
|
+
pathname: '/access_codes/pull_backup_access_code',
|
|
236
243
|
method: 'post',
|
|
237
244
|
body,
|
|
238
245
|
responseKey: 'access_code',
|
|
@@ -241,7 +248,7 @@ export class SeamHttpAccessCodes {
|
|
|
241
248
|
|
|
242
249
|
update(body?: AccessCodesUpdateBody): SeamHttpRequest<void, undefined> {
|
|
243
250
|
return new SeamHttpRequest(this, {
|
|
244
|
-
|
|
251
|
+
pathname: '/access_codes/update',
|
|
245
252
|
method: 'post',
|
|
246
253
|
body,
|
|
247
254
|
responseKey: undefined,
|
|
@@ -252,7 +259,7 @@ export class SeamHttpAccessCodes {
|
|
|
252
259
|
body?: AccessCodesUpdateMultipleBody,
|
|
253
260
|
): SeamHttpRequest<void, undefined> {
|
|
254
261
|
return new SeamHttpRequest(this, {
|
|
255
|
-
|
|
262
|
+
pathname: '/access_codes/update_multiple',
|
|
256
263
|
method: 'post',
|
|
257
264
|
body,
|
|
258
265
|
responseKey: undefined,
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
parseOptions,
|
|
32
32
|
} from 'lib/seam/connect/parse-options.js'
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
|
|
34
35
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
36
|
|
|
36
37
|
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
@@ -138,6 +139,12 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
|
|
|
138
139
|
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
139
140
|
}
|
|
140
141
|
|
|
142
|
+
createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
|
|
143
|
+
request: SeamHttpRequest<TResponse, TResponseKey>,
|
|
144
|
+
): SeamPaginator<TResponse, TResponseKey> {
|
|
145
|
+
return new SeamPaginator<TResponse, TResponseKey>(this, request)
|
|
146
|
+
}
|
|
147
|
+
|
|
141
148
|
async updateClientSessionToken(
|
|
142
149
|
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
143
150
|
): Promise<void> {
|
|
@@ -161,7 +168,7 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
|
|
|
161
168
|
body?: AcsAccessGroupsUnmanagedGetParams,
|
|
162
169
|
): SeamHttpRequest<AcsAccessGroupsUnmanagedGetResponse, 'acs_access_group'> {
|
|
163
170
|
return new SeamHttpRequest(this, {
|
|
164
|
-
|
|
171
|
+
pathname: '/acs/access_groups/unmanaged/get',
|
|
165
172
|
method: 'post',
|
|
166
173
|
body,
|
|
167
174
|
responseKey: 'acs_access_group',
|
|
@@ -175,7 +182,7 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
|
|
|
175
182
|
'acs_access_groups'
|
|
176
183
|
> {
|
|
177
184
|
return new SeamHttpRequest(this, {
|
|
178
|
-
|
|
185
|
+
pathname: '/acs/access_groups/unmanaged/list',
|
|
179
186
|
method: 'post',
|
|
180
187
|
body,
|
|
181
188
|
responseKey: 'acs_access_groups',
|