@seamapi/http 0.6.0 → 0.7.1
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 +13 -34
- package/dist/connect.cjs +165 -102
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +31 -3
- package/lib/seam/connect/{api-error-type.js → api-error-types.js} +1 -1
- package/lib/seam/connect/api-error-types.js.map +1 -0
- package/lib/seam/connect/auth.js +13 -9
- package/lib/seam/connect/auth.js.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/options.d.ts +15 -0
- package/lib/seam/connect/options.js +23 -8
- package/lib/seam/connect/options.js.map +1 -1
- package/lib/seam/connect/parse-options.d.ts +3 -3
- package/lib/seam/connect/parse-options.js +3 -1
- package/lib/seam/connect/parse-options.js.map +1 -1
- package/lib/seam/connect/seam-http-error.d.ts +1 -1
- package/lib/seam/connect/seam-http-multi-workspace.d.ts +11 -0
- package/lib/seam/connect/seam-http-multi-workspace.js +35 -0
- package/lib/seam/connect/seam-http-multi-workspace.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/auth.ts +28 -10
- package/src/lib/seam/connect/error-interceptor.ts +1 -1
- package/src/lib/seam/connect/index.ts +2 -0
- package/src/lib/seam/connect/options.ts +63 -17
- package/src/lib/seam/connect/parse-options.ts +6 -1
- package/src/lib/seam/connect/seam-http-error.ts +1 -1
- package/src/lib/seam/connect/seam-http-multi-workspace.ts +77 -0
- package/src/lib/version.ts +1 -1
- package/lib/seam/connect/api-error-type.js.map +0 -1
- /package/lib/seam/connect/{api-error-type.d.ts → api-error-types.d.ts} +0 -0
- /package/src/lib/seam/connect/{api-error-type.ts → api-error-types.ts} +0 -0
package/dist/connect.d.cts
CHANGED
|
@@ -3,8 +3,6 @@ import { AxiosRetry } from 'axios-retry';
|
|
|
3
3
|
import { RouteRequestBody, RouteResponse, RouteRequestParams } from '@seamapi/types/connect';
|
|
4
4
|
import { SetNonNullable } from 'type-fest';
|
|
5
5
|
|
|
6
|
-
declare const errorInterceptor: (err: unknown) => Promise<void>;
|
|
7
|
-
|
|
8
6
|
type Client = AxiosInstance;
|
|
9
7
|
interface ClientOptions {
|
|
10
8
|
axiosOptions?: AxiosRequestConfig;
|
|
@@ -13,6 +11,7 @@ interface ClientOptions {
|
|
|
13
11
|
}
|
|
14
12
|
type AxiosRetryConfig = Parameters<AxiosRetry>[1];
|
|
15
13
|
|
|
14
|
+
type SeamHttpMultiWorkspaceOptions = SeamHttpMultiWorkspaceOptionsWithClient | SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken | SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
|
|
16
15
|
type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken | SeamHttpOptionsWithConsoleSessionToken | SeamHttpOptionsWithPersonalAccessToken;
|
|
17
16
|
interface SeamHttpCommonOptions extends ClientOptions {
|
|
18
17
|
endpoint?: string;
|
|
@@ -21,6 +20,10 @@ interface SeamHttpFromPublishableKeyOptions extends SeamHttpCommonOptions {
|
|
|
21
20
|
}
|
|
22
21
|
interface SeamHttpOptionsFromEnv extends SeamHttpCommonOptions {
|
|
23
22
|
}
|
|
23
|
+
interface SeamHttpMultiWorkspaceOptionsWithClient {
|
|
24
|
+
client: Client;
|
|
25
|
+
}
|
|
26
|
+
declare const isSeamHttpMultiWorkspaceOptionsWithClient: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithClient;
|
|
24
27
|
interface SeamHttpOptionsWithClient {
|
|
25
28
|
client: Client;
|
|
26
29
|
}
|
|
@@ -33,11 +36,19 @@ interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOptions {
|
|
|
33
36
|
clientSessionToken: string;
|
|
34
37
|
}
|
|
35
38
|
declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
|
|
39
|
+
interface SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
|
|
40
|
+
consoleSessionToken: string;
|
|
41
|
+
}
|
|
42
|
+
declare const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken;
|
|
36
43
|
interface SeamHttpOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
|
|
37
44
|
consoleSessionToken: string;
|
|
38
45
|
workspaceId: string;
|
|
39
46
|
}
|
|
40
47
|
declare const isSeamHttpOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithConsoleSessionToken;
|
|
48
|
+
interface SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
|
|
49
|
+
personalAccessToken: string;
|
|
50
|
+
}
|
|
51
|
+
declare const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
|
|
41
52
|
interface SeamHttpOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
|
|
42
53
|
personalAccessToken: string;
|
|
43
54
|
workspaceId: string;
|
|
@@ -46,6 +57,14 @@ declare const isSeamHttpOptionsWithPersonalAccessToken: (options: SeamHttpOption
|
|
|
46
57
|
declare class SeamHttpInvalidOptionsError extends Error {
|
|
47
58
|
constructor(message: string);
|
|
48
59
|
}
|
|
60
|
+
declare class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare class SeamHttpInvalidTokenError extends Error {
|
|
64
|
+
constructor(message: string);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare const errorInterceptor: (err: unknown) => Promise<void>;
|
|
49
68
|
|
|
50
69
|
declare class SeamHttpAccessCodesUnmanaged {
|
|
51
70
|
client: Client;
|
|
@@ -645,9 +664,18 @@ declare class SeamHttpInvalidInputError extends SeamHttpApiError {
|
|
|
645
664
|
}
|
|
646
665
|
declare const isSeamHttpInvalidInputError: (error: unknown) => error is SeamHttpInvalidInputError;
|
|
647
666
|
|
|
667
|
+
declare class SeamHttpMultiWorkspace {
|
|
668
|
+
client: Client;
|
|
669
|
+
constructor(options: SeamHttpMultiWorkspaceOptions);
|
|
670
|
+
static fromClient(client: SeamHttpMultiWorkspaceOptionsWithClient['client'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithClient, 'client'>): SeamHttpMultiWorkspace;
|
|
671
|
+
static fromConsoleSessionToken(consoleSessionToken: SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken['consoleSessionToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, 'consoleSessionToken'>): SeamHttpMultiWorkspace;
|
|
672
|
+
static fromPersonalAccessToken(personalAccessToken: SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken['personalAccessToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, 'personalAccessToken'>): SeamHttpMultiWorkspace;
|
|
673
|
+
get workspaces(): SeamHttpWorkspaces;
|
|
674
|
+
}
|
|
675
|
+
|
|
648
676
|
declare const paramsSerializer: CustomParamsSerializer;
|
|
649
677
|
declare class UnserializableParamError extends Error {
|
|
650
678
|
constructor(name: string, message: string);
|
|
651
679
|
}
|
|
652
680
|
|
|
653
|
-
export { AccessCodesCreateBody, AccessCodesCreateMultipleBody, AccessCodesCreateMultipleResponse, AccessCodesCreateResponse, AccessCodesDeleteBody, AccessCodesDeleteResponse, AccessCodesGenerateCodeBody, AccessCodesGenerateCodeResponse, AccessCodesGetParams, AccessCodesGetResponse, AccessCodesListParams, AccessCodesListResponse, AccessCodesPullBackupAccessCodeBody, AccessCodesPullBackupAccessCodeResponse, AccessCodesUnmanagedConvertToManagedBody, AccessCodesUnmanagedConvertToManagedResponse, AccessCodesUnmanagedDeleteBody, AccessCodesUnmanagedDeleteResponse, AccessCodesUnmanagedGetParams, AccessCodesUnmanagedGetResponse, AccessCodesUnmanagedListParams, AccessCodesUnmanagedListResponse, AccessCodesUnmanagedUpdateBody, AccessCodesUnmanagedUpdateResponse, AccessCodesUpdateBody, AccessCodesUpdateResponse, AcsAccessGroupsAddUserBody, AcsAccessGroupsAddUserResponse, AcsAccessGroupsGetParams, AcsAccessGroupsGetResponse, AcsAccessGroupsListParams, AcsAccessGroupsListResponse, AcsAccessGroupsListUsersParams, AcsAccessGroupsListUsersResponse, AcsAccessGroupsRemoveUserBody, AcsAccessGroupsRemoveUserResponse, AcsCredentialsAssignBody, AcsCredentialsAssignResponse, AcsCredentialsCreateBody, AcsCredentialsCreateResponse, AcsCredentialsDeleteBody, AcsCredentialsDeleteResponse, AcsCredentialsGetParams, AcsCredentialsGetResponse, AcsCredentialsListParams, AcsCredentialsListResponse, AcsCredentialsUnassignBody, AcsCredentialsUnassignResponse, AcsSystemsGetParams, AcsSystemsGetResponse, AcsSystemsListParams, AcsSystemsListResponse, AcsUsersAddToAccessGroupBody, AcsUsersAddToAccessGroupResponse, AcsUsersCreateBody, AcsUsersCreateResponse, AcsUsersDeleteBody, AcsUsersDeleteResponse, AcsUsersGetParams, AcsUsersGetResponse, AcsUsersListParams, AcsUsersListResponse, AcsUsersRemoveFromAccessGroupBody, AcsUsersRemoveFromAccessGroupResponse, AcsUsersSuspendBody, AcsUsersSuspendResponse, AcsUsersUnsuspendBody, AcsUsersUnsuspendResponse, AcsUsersUpdateBody, AcsUsersUpdateResponse, ActionAttemptsGetParams, ActionAttemptsGetResponse, ActionAttemptsListParams, ActionAttemptsListResponse, ClientSessionsCreateBody, ClientSessionsCreateResponse, ClientSessionsDeleteBody, ClientSessionsDeleteResponse, ClientSessionsGetOrCreateBody, ClientSessionsGetOrCreateResponse, ClientSessionsGetParams, ClientSessionsGetResponse, ClientSessionsGrantAccessBody, ClientSessionsGrantAccessResponse, ClientSessionsListParams, ClientSessionsListResponse, ClientSessionsRevokeBody, ClientSessionsRevokeResponse, ConnectWebviewsCreateBody, ConnectWebviewsCreateResponse, ConnectWebviewsDeleteBody, ConnectWebviewsDeleteResponse, ConnectWebviewsGetParams, ConnectWebviewsGetResponse, ConnectWebviewsListParams, ConnectWebviewsListResponse, ConnectWebviewsViewParams, ConnectWebviewsViewResponse, ConnectedAccountsDeleteBody, ConnectedAccountsDeleteResponse, ConnectedAccountsGetParams, ConnectedAccountsGetResponse, ConnectedAccountsListParams, ConnectedAccountsListResponse, DevicesDeleteBody, DevicesDeleteResponse, DevicesGetParams, DevicesGetResponse, DevicesListDeviceProvidersParams, DevicesListDeviceProvidersResponse, DevicesListParams, DevicesListResponse, DevicesUnmanagedGetParams, DevicesUnmanagedGetResponse, DevicesUnmanagedListParams, DevicesUnmanagedListResponse, DevicesUnmanagedUpdateBody, DevicesUnmanagedUpdateResponse, DevicesUpdateBody, DevicesUpdateResponse, EventsGetParams, EventsGetResponse, EventsListParams, EventsListResponse, LocksGetParams, LocksGetResponse, LocksListParams, LocksListResponse, LocksLockDoorBody, LocksLockDoorResponse, LocksUnlockDoorBody, LocksUnlockDoorResponse, NoiseSensorsNoiseThresholdsCreateBody, NoiseSensorsNoiseThresholdsCreateResponse, NoiseSensorsNoiseThresholdsDeleteBody, NoiseSensorsNoiseThresholdsDeleteResponse, NoiseSensorsNoiseThresholdsGetParams, NoiseSensorsNoiseThresholdsGetResponse, NoiseSensorsNoiseThresholdsListParams, NoiseSensorsNoiseThresholdsListResponse, NoiseSensorsNoiseThresholdsUpdateBody, NoiseSensorsNoiseThresholdsUpdateResponse, SeamHttp, SeamHttpAccessCodes, SeamHttpAccessCodesUnmanaged, SeamHttpAcs, SeamHttpAcsAccessGroups, SeamHttpAcsCredentials, SeamHttpAcsSystems, SeamHttpAcsUsers, SeamHttpActionAttempts, SeamHttpApiError, SeamHttpClientSessions, SeamHttpConnectWebviews, SeamHttpConnectedAccounts, SeamHttpDevices, SeamHttpDevicesUnmanaged, SeamHttpEvents, SeamHttpFromPublishableKeyOptions, SeamHttpInvalidInputError, SeamHttpInvalidOptionsError, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpNoiseSensorsNoiseThresholds, SeamHttpOptions, SeamHttpOptionsFromEnv, SeamHttpOptionsWithApiKey, SeamHttpOptionsWithClient, SeamHttpOptionsWithClientSessionToken, SeamHttpOptionsWithConsoleSessionToken, SeamHttpOptionsWithPersonalAccessToken, SeamHttpThermostats, SeamHttpThermostatsClimateSettingSchedules, SeamHttpUnauthorizedError, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, ThermostatsClimateSettingSchedulesCreateBody, ThermostatsClimateSettingSchedulesCreateResponse, ThermostatsClimateSettingSchedulesDeleteBody, ThermostatsClimateSettingSchedulesDeleteResponse, ThermostatsClimateSettingSchedulesGetParams, ThermostatsClimateSettingSchedulesGetResponse, ThermostatsClimateSettingSchedulesListParams, ThermostatsClimateSettingSchedulesListResponse, ThermostatsClimateSettingSchedulesUpdateBody, ThermostatsClimateSettingSchedulesUpdateResponse, ThermostatsCoolBody, ThermostatsCoolResponse, ThermostatsGetParams, ThermostatsGetResponse, ThermostatsHeatBody, ThermostatsHeatCoolBody, ThermostatsHeatCoolResponse, ThermostatsHeatResponse, ThermostatsListParams, ThermostatsListResponse, ThermostatsOffBody, ThermostatsOffResponse, ThermostatsSetFanModeBody, ThermostatsSetFanModeResponse, ThermostatsUpdateBody, ThermostatsUpdateResponse, UnserializableParamError, UserIdentitiesAddAcsUserBody, UserIdentitiesAddAcsUserResponse, UserIdentitiesCreateBody, UserIdentitiesCreateResponse, UserIdentitiesGetParams, UserIdentitiesGetResponse, UserIdentitiesGrantAccessToDeviceBody, UserIdentitiesGrantAccessToDeviceResponse, UserIdentitiesListAccessibleDevicesParams, UserIdentitiesListAccessibleDevicesResponse, UserIdentitiesListAcsUsersParams, UserIdentitiesListAcsUsersResponse, UserIdentitiesRemoveAcsUserBody, UserIdentitiesRemoveAcsUserResponse, UserIdentitiesRevokeAccessToDeviceBody, UserIdentitiesRevokeAccessToDeviceResponse, WebhooksCreateBody, WebhooksCreateResponse, WebhooksDeleteBody, WebhooksDeleteResponse, WebhooksGetParams, WebhooksGetResponse, WebhooksListParams, WebhooksListResponse, WorkspacesGetParams, WorkspacesGetResponse, WorkspacesListParams, WorkspacesListResponse, WorkspacesResetSandboxBody, WorkspacesResetSandboxResponse, errorInterceptor, isSeamHttpApiError, isSeamHttpInvalidInputError, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, isSeamHttpUnauthorizedError, paramsSerializer };
|
|
681
|
+
export { AccessCodesCreateBody, AccessCodesCreateMultipleBody, AccessCodesCreateMultipleResponse, AccessCodesCreateResponse, AccessCodesDeleteBody, AccessCodesDeleteResponse, AccessCodesGenerateCodeBody, AccessCodesGenerateCodeResponse, AccessCodesGetParams, AccessCodesGetResponse, AccessCodesListParams, AccessCodesListResponse, AccessCodesPullBackupAccessCodeBody, AccessCodesPullBackupAccessCodeResponse, AccessCodesUnmanagedConvertToManagedBody, AccessCodesUnmanagedConvertToManagedResponse, AccessCodesUnmanagedDeleteBody, AccessCodesUnmanagedDeleteResponse, AccessCodesUnmanagedGetParams, AccessCodesUnmanagedGetResponse, AccessCodesUnmanagedListParams, AccessCodesUnmanagedListResponse, AccessCodesUnmanagedUpdateBody, AccessCodesUnmanagedUpdateResponse, AccessCodesUpdateBody, AccessCodesUpdateResponse, AcsAccessGroupsAddUserBody, AcsAccessGroupsAddUserResponse, AcsAccessGroupsGetParams, AcsAccessGroupsGetResponse, AcsAccessGroupsListParams, AcsAccessGroupsListResponse, AcsAccessGroupsListUsersParams, AcsAccessGroupsListUsersResponse, AcsAccessGroupsRemoveUserBody, AcsAccessGroupsRemoveUserResponse, AcsCredentialsAssignBody, AcsCredentialsAssignResponse, AcsCredentialsCreateBody, AcsCredentialsCreateResponse, AcsCredentialsDeleteBody, AcsCredentialsDeleteResponse, AcsCredentialsGetParams, AcsCredentialsGetResponse, AcsCredentialsListParams, AcsCredentialsListResponse, AcsCredentialsUnassignBody, AcsCredentialsUnassignResponse, AcsSystemsGetParams, AcsSystemsGetResponse, AcsSystemsListParams, AcsSystemsListResponse, AcsUsersAddToAccessGroupBody, AcsUsersAddToAccessGroupResponse, AcsUsersCreateBody, AcsUsersCreateResponse, AcsUsersDeleteBody, AcsUsersDeleteResponse, AcsUsersGetParams, AcsUsersGetResponse, AcsUsersListParams, AcsUsersListResponse, AcsUsersRemoveFromAccessGroupBody, AcsUsersRemoveFromAccessGroupResponse, AcsUsersSuspendBody, AcsUsersSuspendResponse, AcsUsersUnsuspendBody, AcsUsersUnsuspendResponse, AcsUsersUpdateBody, AcsUsersUpdateResponse, ActionAttemptsGetParams, ActionAttemptsGetResponse, ActionAttemptsListParams, ActionAttemptsListResponse, ClientSessionsCreateBody, ClientSessionsCreateResponse, ClientSessionsDeleteBody, ClientSessionsDeleteResponse, ClientSessionsGetOrCreateBody, ClientSessionsGetOrCreateResponse, ClientSessionsGetParams, ClientSessionsGetResponse, ClientSessionsGrantAccessBody, ClientSessionsGrantAccessResponse, ClientSessionsListParams, ClientSessionsListResponse, ClientSessionsRevokeBody, ClientSessionsRevokeResponse, ConnectWebviewsCreateBody, ConnectWebviewsCreateResponse, ConnectWebviewsDeleteBody, ConnectWebviewsDeleteResponse, ConnectWebviewsGetParams, ConnectWebviewsGetResponse, ConnectWebviewsListParams, ConnectWebviewsListResponse, ConnectWebviewsViewParams, ConnectWebviewsViewResponse, ConnectedAccountsDeleteBody, ConnectedAccountsDeleteResponse, ConnectedAccountsGetParams, ConnectedAccountsGetResponse, ConnectedAccountsListParams, ConnectedAccountsListResponse, DevicesDeleteBody, DevicesDeleteResponse, DevicesGetParams, DevicesGetResponse, DevicesListDeviceProvidersParams, DevicesListDeviceProvidersResponse, DevicesListParams, DevicesListResponse, DevicesUnmanagedGetParams, DevicesUnmanagedGetResponse, DevicesUnmanagedListParams, DevicesUnmanagedListResponse, DevicesUnmanagedUpdateBody, DevicesUnmanagedUpdateResponse, DevicesUpdateBody, DevicesUpdateResponse, EventsGetParams, EventsGetResponse, EventsListParams, EventsListResponse, LocksGetParams, LocksGetResponse, LocksListParams, LocksListResponse, LocksLockDoorBody, LocksLockDoorResponse, LocksUnlockDoorBody, LocksUnlockDoorResponse, NoiseSensorsNoiseThresholdsCreateBody, NoiseSensorsNoiseThresholdsCreateResponse, NoiseSensorsNoiseThresholdsDeleteBody, NoiseSensorsNoiseThresholdsDeleteResponse, NoiseSensorsNoiseThresholdsGetParams, NoiseSensorsNoiseThresholdsGetResponse, NoiseSensorsNoiseThresholdsListParams, NoiseSensorsNoiseThresholdsListResponse, NoiseSensorsNoiseThresholdsUpdateBody, NoiseSensorsNoiseThresholdsUpdateResponse, SeamHttp, SeamHttpAccessCodes, SeamHttpAccessCodesUnmanaged, SeamHttpAcs, SeamHttpAcsAccessGroups, SeamHttpAcsCredentials, SeamHttpAcsSystems, SeamHttpAcsUsers, SeamHttpActionAttempts, SeamHttpApiError, SeamHttpClientSessions, SeamHttpConnectWebviews, SeamHttpConnectedAccounts, SeamHttpDevices, SeamHttpDevicesUnmanaged, SeamHttpEvents, SeamHttpFromPublishableKeyOptions, SeamHttpInvalidInputError, SeamHttpInvalidOptionsError, SeamHttpInvalidTokenError, SeamHttpLocks, SeamHttpMultiWorkspace, SeamHttpMultiWorkspaceInvalidOptionsError, SeamHttpMultiWorkspaceOptions, SeamHttpMultiWorkspaceOptionsWithClient, SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, SeamHttpNoiseSensors, SeamHttpNoiseSensorsNoiseThresholds, SeamHttpOptions, SeamHttpOptionsFromEnv, SeamHttpOptionsWithApiKey, SeamHttpOptionsWithClient, SeamHttpOptionsWithClientSessionToken, SeamHttpOptionsWithConsoleSessionToken, SeamHttpOptionsWithPersonalAccessToken, SeamHttpThermostats, SeamHttpThermostatsClimateSettingSchedules, SeamHttpUnauthorizedError, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, ThermostatsClimateSettingSchedulesCreateBody, ThermostatsClimateSettingSchedulesCreateResponse, ThermostatsClimateSettingSchedulesDeleteBody, ThermostatsClimateSettingSchedulesDeleteResponse, ThermostatsClimateSettingSchedulesGetParams, ThermostatsClimateSettingSchedulesGetResponse, ThermostatsClimateSettingSchedulesListParams, ThermostatsClimateSettingSchedulesListResponse, ThermostatsClimateSettingSchedulesUpdateBody, ThermostatsClimateSettingSchedulesUpdateResponse, ThermostatsCoolBody, ThermostatsCoolResponse, ThermostatsGetParams, ThermostatsGetResponse, ThermostatsHeatBody, ThermostatsHeatCoolBody, ThermostatsHeatCoolResponse, ThermostatsHeatResponse, ThermostatsListParams, ThermostatsListResponse, ThermostatsOffBody, ThermostatsOffResponse, ThermostatsSetFanModeBody, ThermostatsSetFanModeResponse, ThermostatsUpdateBody, ThermostatsUpdateResponse, UnserializableParamError, UserIdentitiesAddAcsUserBody, UserIdentitiesAddAcsUserResponse, UserIdentitiesCreateBody, UserIdentitiesCreateResponse, UserIdentitiesGetParams, UserIdentitiesGetResponse, UserIdentitiesGrantAccessToDeviceBody, UserIdentitiesGrantAccessToDeviceResponse, UserIdentitiesListAccessibleDevicesParams, UserIdentitiesListAccessibleDevicesResponse, UserIdentitiesListAcsUsersParams, UserIdentitiesListAcsUsersResponse, UserIdentitiesRemoveAcsUserBody, UserIdentitiesRemoveAcsUserResponse, UserIdentitiesRevokeAccessToDeviceBody, UserIdentitiesRevokeAccessToDeviceResponse, WebhooksCreateBody, WebhooksCreateResponse, WebhooksDeleteBody, WebhooksDeleteResponse, WebhooksGetParams, WebhooksGetResponse, WebhooksListParams, WebhooksListResponse, WorkspacesGetParams, WorkspacesGetResponse, WorkspacesListParams, WorkspacesListResponse, WorkspacesResetSandboxBody, WorkspacesResetSandboxResponse, errorInterceptor, isSeamHttpApiError, isSeamHttpInvalidInputError, isSeamHttpMultiWorkspaceOptionsWithClient, isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, isSeamHttpUnauthorizedError, paramsSerializer };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-error-types.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/api-error-types.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
package/lib/seam/connect/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
|
|
1
|
+
import { isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
|
|
2
2
|
export const getAuthHeaders = (options) => {
|
|
3
3
|
if ('publishableKey' in options) {
|
|
4
4
|
return getAuthHeadersForPublishableKey(options.publishableKey);
|
|
@@ -9,10 +9,12 @@ export const getAuthHeaders = (options) => {
|
|
|
9
9
|
if (isSeamHttpOptionsWithClientSessionToken(options)) {
|
|
10
10
|
return getAuthHeadersForClientSessionToken(options);
|
|
11
11
|
}
|
|
12
|
-
if (
|
|
12
|
+
if (isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options) ||
|
|
13
|
+
isSeamHttpOptionsWithConsoleSessionToken(options)) {
|
|
13
14
|
return getAuthHeadersForConsoleSessionToken(options);
|
|
14
15
|
}
|
|
15
|
-
if (
|
|
16
|
+
if (isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options) ||
|
|
17
|
+
isSeamHttpOptionsWithPersonalAccessToken(options)) {
|
|
16
18
|
return getAuthHeadersForPersonalAccessToken(options);
|
|
17
19
|
}
|
|
18
20
|
throw new SeamHttpInvalidOptionsError([
|
|
@@ -20,8 +22,8 @@ export const getAuthHeaders = (options) => {
|
|
|
20
22
|
'an apiKey,',
|
|
21
23
|
'clientSessionToken,',
|
|
22
24
|
'publishableKey,',
|
|
23
|
-
'consoleSessionToken
|
|
24
|
-
'or personalAccessToken
|
|
25
|
+
'consoleSessionToken',
|
|
26
|
+
'or personalAccessToken',
|
|
25
27
|
].join(' '));
|
|
26
28
|
};
|
|
27
29
|
const getAuthHeadersForApiKey = ({ apiKey, }) => {
|
|
@@ -62,7 +64,8 @@ const getAuthHeadersForClientSessionToken = ({ clientSessionToken, }) => {
|
|
|
62
64
|
'client-session-token': clientSessionToken,
|
|
63
65
|
};
|
|
64
66
|
};
|
|
65
|
-
const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken,
|
|
67
|
+
const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken, ...options }) => {
|
|
68
|
+
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined;
|
|
66
69
|
if (isAccessToken(consoleSessionToken)) {
|
|
67
70
|
throw new SeamHttpInvalidTokenError('An Access Token cannot be used as a consoleSessionToken');
|
|
68
71
|
}
|
|
@@ -77,10 +80,11 @@ const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken, workspaceId
|
|
|
77
80
|
}
|
|
78
81
|
return {
|
|
79
82
|
authorization: `Bearer ${consoleSessionToken}`,
|
|
80
|
-
'seam-workspace
|
|
83
|
+
...(workspaceId != null ? { 'seam-workspace': workspaceId } : {}),
|
|
81
84
|
};
|
|
82
85
|
};
|
|
83
|
-
const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken,
|
|
86
|
+
const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken, ...options }) => {
|
|
87
|
+
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined;
|
|
84
88
|
if (isJwt(personalAccessToken)) {
|
|
85
89
|
throw new SeamHttpInvalidTokenError('A JWT cannot be used as a personalAccessToken');
|
|
86
90
|
}
|
|
@@ -95,7 +99,7 @@ const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken, workspaceId
|
|
|
95
99
|
}
|
|
96
100
|
return {
|
|
97
101
|
authorization: `Bearer ${personalAccessToken}`,
|
|
98
|
-
'seam-workspace
|
|
102
|
+
...(workspaceId != null ? { 'seam-workspace': workspaceId } : {}),
|
|
99
103
|
};
|
|
100
104
|
};
|
|
101
105
|
const getAuthHeadersForPublishableKey = (publishableKey) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EACxC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sDAAsD,EACtD,sDAAsD,EACtD,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EACxC,2BAA2B,GAO5B,MAAM,cAAc,CAAA;AAKrB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAW,EAAE;IAC1D,IAAI,gBAAgB,IAAI,OAAO,EAAE;QAC/B,OAAO,+BAA+B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;KAC/D;IAED,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE;QACxC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAA;KACxC;IAED,IAAI,uCAAuC,CAAC,OAAO,CAAC,EAAE;QACpD,OAAO,mCAAmC,CAAC,OAAO,CAAC,CAAA;KACpD;IAED,IACE,sDAAsD,CAAC,OAAO,CAAC;QAC/D,wCAAwC,CAAC,OAAO,CAAC,EACjD;QACA,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAA;KACrD;IAED,IACE,sDAAsD,CAAC,OAAO,CAAC;QAC/D,wCAAwC,CAAC,OAAO,CAAC,EACjD;QACA,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAA;KACrD;IAED,MAAM,IAAI,2BAA2B,CACnC;QACE,cAAc;QACd,YAAY;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;KACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,EAC/B,MAAM,GACoB,EAAW,EAAE;IACvC,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,yBAAyB,CACjC,oDAAoD,CACrD,CAAA;KACF;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;QACjB,MAAM,IAAI,yBAAyB,CAAC,mCAAmC,CAAC,CAAA;KACzE;IAED,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,CAC9C,CAAA;KACF;IAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAC5B,MAAM,IAAI,yBAAyB,CACjC,+CAA+C,CAChD,CAAA;KACF;IAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,IAAI,yBAAyB,CACjC,kEAAkE,WAAW,EAAE,CAChF,CAAA;KACF;IAED,OAAO;QACL,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,mCAAmC,GAAG,CAAC,EAC3C,kBAAkB,GACoB,EAAW,EAAE;IACnD,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;QAC7B,MAAM,IAAI,yBAAyB,CACjC,8CAA8C,CAC/C,CAAA;KACF;IAED,IAAI,aAAa,CAAC,kBAAkB,CAAC,EAAE;QACrC,MAAM,IAAI,yBAAyB,CACjC,wDAAwD,CACzD,CAAA;KACF;IAED,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;QACxC,MAAM,IAAI,yBAAyB,CACjC,0DAA0D,CAC3D,CAAA;KACF;IAED,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE;QAC7C,MAAM,IAAI,yBAAyB,CACjC,8EAA8E,wBAAwB,EAAE,CACzG,CAAA;KACF;IAED,OAAO;QACL,aAAa,EAAE,UAAU,kBAAkB,EAAE;QAC7C,sBAAsB,EAAE,kBAAkB;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oCAAoC,GAAG,CAAC,EAC5C,mBAAmB,EACnB,GAAG,OAAO,EAG8B,EAAW,EAAE;IACrD,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9E,IAAI,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACtC,MAAM,IAAI,yBAAyB,CACjC,yDAAyD,CAC1D,CAAA;KACF;IAED,IAAI,oBAAoB,CAAC,mBAAmB,CAAC,EAAE;QAC7C,MAAM,IAAI,yBAAyB,CACjC,gEAAgE,CACjE,CAAA;KACF;IAED,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;QACzC,MAAM,IAAI,yBAAyB,CACjC,2DAA2D,CAC5D,CAAA;KACF;IAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;QAC/B,MAAM,IAAI,yBAAyB,CACjC,mFAAmF,SAAS,EAAE,CAC/F,CAAA;KACF;IAED,OAAO;QACL,aAAa,EAAE,UAAU,mBAAmB,EAAE;QAC9C,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oCAAoC,GAAG,CAAC,EAC5C,mBAAmB,EACnB,GAAG,OAAO,EAG8B,EAAW,EAAE;IACrD,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9E,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE;QAC9B,MAAM,IAAI,yBAAyB,CACjC,+CAA+C,CAChD,CAAA;KACF;IAED,IAAI,oBAAoB,CAAC,mBAAmB,CAAC,EAAE;QAC7C,MAAM,IAAI,yBAAyB,CACjC,gEAAgE,CACjE,CAAA;KACF;IAED,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;QACzC,MAAM,IAAI,yBAAyB,CACjC,2DAA2D,CAC5D,CAAA;KACF;IAED,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACvC,MAAM,IAAI,yBAAyB,CACjC,+EAA+E,iBAAiB,EAAE,CACnG,CAAA;KACF;IAED,OAAO;QACL,aAAa,EAAE,UAAU,mBAAmB,EAAE;QAC9C,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,+BAA+B,GAAG,CAAC,cAAsB,EAAW,EAAE;IAC1E,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;QACzB,MAAM,IAAI,yBAAyB,CACjC,0CAA0C,CAC3C,CAAA;KACF;IAED,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;QACjC,MAAM,IAAI,yBAAyB,CACjC,oDAAoD,CACrD,CAAA;KACF;IAED,IAAI,oBAAoB,CAAC,cAAc,CAAC,EAAE;QACxC,MAAM,IAAI,yBAAyB,CACjC,+DAA+D,CAChE,CAAA;KACF;IAED,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;QACrC,MAAM,IAAI,yBAAyB,CACjC,0EAA0E,yBAAyB,EAAE,CACtG,CAAA;KACF;IAED,OAAO;QACL,sBAAsB,EAAE,cAAc;KACvC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,iBAAyB,EACnB,EAAE;IACR,IAAI,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC9B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,GAAG;YACD,6FAA6F;YAC7F,0EAA0E;YAC1E,sFAAsF;YACtF,6CAA6C;YAC7C,6HAA6H;SAC9H,CACF,CAAA;KACF;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,OAAO,CAAA;AAE3B,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAEnC,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB,MAAM,wBAAwB,GAAG,UAAU,CAAA;AAE3C,MAAM,yBAAyB,GAAG,SAAS,CAAA;AAE3C,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAW,EAAE,CACtD,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAE5C,MAAM,aAAa,GAAG,CAAC,KAAa,EAAW,EAAE,CAC/C,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AAErE,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAE7E,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAW,EAAE,CAClD,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;AAE7C,4CAA4C;AAC5C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE,CACzC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export { SeamHttpInvalidTokenError } from './auth.js';
|
|
1
2
|
export * from './error-interceptor.js';
|
|
2
3
|
export * from './options.js';
|
|
3
4
|
export * from './routes/index.js';
|
|
4
5
|
export * from './seam-http.js';
|
|
5
6
|
export * from './seam-http-error.js';
|
|
7
|
+
export * from './seam-http-multi-workspace.js';
|
|
6
8
|
export * from '../../../lib/params-serializer.js';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
export { SeamHttpInvalidTokenError } from './auth.js';
|
|
1
2
|
export * from './error-interceptor.js';
|
|
2
3
|
export * from './options.js';
|
|
3
4
|
export * from './routes/index.js';
|
|
4
5
|
export * from './seam-http.js';
|
|
5
6
|
export * from './seam-http-error.js';
|
|
7
|
+
export * from './seam-http-multi-workspace.js';
|
|
6
8
|
export * from '../../../lib/params-serializer.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Client, ClientOptions } from './client.js';
|
|
2
|
+
export type SeamHttpMultiWorkspaceOptions = SeamHttpMultiWorkspaceOptionsWithClient | SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken | SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
|
|
2
3
|
export type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken | SeamHttpOptionsWithConsoleSessionToken | SeamHttpOptionsWithPersonalAccessToken;
|
|
3
4
|
interface SeamHttpCommonOptions extends ClientOptions {
|
|
4
5
|
endpoint?: string;
|
|
@@ -7,6 +8,10 @@ export interface SeamHttpFromPublishableKeyOptions extends SeamHttpCommonOptions
|
|
|
7
8
|
}
|
|
8
9
|
export interface SeamHttpOptionsFromEnv extends SeamHttpCommonOptions {
|
|
9
10
|
}
|
|
11
|
+
export interface SeamHttpMultiWorkspaceOptionsWithClient {
|
|
12
|
+
client: Client;
|
|
13
|
+
}
|
|
14
|
+
export declare const isSeamHttpMultiWorkspaceOptionsWithClient: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithClient;
|
|
10
15
|
export interface SeamHttpOptionsWithClient {
|
|
11
16
|
client: Client;
|
|
12
17
|
}
|
|
@@ -19,11 +24,19 @@ export interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOpt
|
|
|
19
24
|
clientSessionToken: string;
|
|
20
25
|
}
|
|
21
26
|
export declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
|
|
27
|
+
export interface SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
|
|
28
|
+
consoleSessionToken: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken;
|
|
22
31
|
export interface SeamHttpOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
|
|
23
32
|
consoleSessionToken: string;
|
|
24
33
|
workspaceId: string;
|
|
25
34
|
}
|
|
26
35
|
export declare const isSeamHttpOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithConsoleSessionToken;
|
|
36
|
+
export interface SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
|
|
37
|
+
personalAccessToken: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
|
|
27
40
|
export interface SeamHttpOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
|
|
28
41
|
personalAccessToken: string;
|
|
29
42
|
workspaceId: string;
|
|
@@ -32,4 +45,6 @@ export declare const isSeamHttpOptionsWithPersonalAccessToken: (options: SeamHtt
|
|
|
32
45
|
export declare class SeamHttpInvalidOptionsError extends Error {
|
|
33
46
|
constructor(message: string);
|
|
34
47
|
}
|
|
48
|
+
export declare class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {
|
|
49
|
+
}
|
|
35
50
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export const isSeamHttpMultiWorkspaceOptionsWithClient = (options) => isSeamHttpOptionsWithClient(options);
|
|
1
2
|
export const isSeamHttpOptionsWithClient = (options) => {
|
|
2
3
|
if (!('client' in options))
|
|
3
4
|
return false;
|
|
@@ -41,14 +42,11 @@ export const isSeamHttpOptionsWithClientSessionToken = (options) => {
|
|
|
41
42
|
}
|
|
42
43
|
return true;
|
|
43
44
|
};
|
|
44
|
-
export const
|
|
45
|
+
export const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken = (options) => {
|
|
45
46
|
if (!('consoleSessionToken' in options))
|
|
46
47
|
return false;
|
|
47
48
|
if (options.consoleSessionToken == null)
|
|
48
49
|
return false;
|
|
49
|
-
if (!('workspaceId' in options) || options.workspaceId == null) {
|
|
50
|
-
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a consoleSessionToken');
|
|
51
|
-
}
|
|
52
50
|
if ('apiKey' in options && options.apiKey != null) {
|
|
53
51
|
throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the consoleSessionToken option');
|
|
54
52
|
}
|
|
@@ -60,14 +58,20 @@ export const isSeamHttpOptionsWithConsoleSessionToken = (options) => {
|
|
|
60
58
|
}
|
|
61
59
|
return true;
|
|
62
60
|
};
|
|
63
|
-
export const
|
|
61
|
+
export const isSeamHttpOptionsWithConsoleSessionToken = (options) => {
|
|
62
|
+
if (!isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (!('workspaceId' in options) || options.workspaceId == null) {
|
|
66
|
+
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a consoleSessionToken');
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
};
|
|
70
|
+
export const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken = (options) => {
|
|
64
71
|
if (!('personalAccessToken' in options))
|
|
65
72
|
return false;
|
|
66
73
|
if (options.personalAccessToken == null)
|
|
67
74
|
return false;
|
|
68
|
-
if (!('workspaceId' in options) || options.workspaceId == null) {
|
|
69
|
-
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a personalAccessToken');
|
|
70
|
-
}
|
|
71
75
|
if ('apiKey' in options && options.apiKey != null) {
|
|
72
76
|
throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the personalAccessToken option');
|
|
73
77
|
}
|
|
@@ -79,6 +83,15 @@ export const isSeamHttpOptionsWithPersonalAccessToken = (options) => {
|
|
|
79
83
|
}
|
|
80
84
|
return true;
|
|
81
85
|
};
|
|
86
|
+
export const isSeamHttpOptionsWithPersonalAccessToken = (options) => {
|
|
87
|
+
if (!isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
if (!('workspaceId' in options) || options.workspaceId == null) {
|
|
91
|
+
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a personalAccessToken');
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
};
|
|
82
95
|
export class SeamHttpInvalidOptionsError extends Error {
|
|
83
96
|
constructor(message) {
|
|
84
97
|
super(`SeamHttp received invalid options: ${message}`);
|
|
@@ -86,4 +99,6 @@ export class SeamHttpInvalidOptionsError extends Error {
|
|
|
86
99
|
Error.captureStackTrace(this, this.constructor);
|
|
87
100
|
}
|
|
88
101
|
}
|
|
102
|
+
export class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {
|
|
103
|
+
}
|
|
89
104
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ClientOptions } from './client.js';
|
|
2
|
-
import { type SeamHttpOptions } from './options.js';
|
|
3
|
-
export type Options = SeamHttpOptions & {
|
|
2
|
+
import { type SeamHttpMultiWorkspaceOptions, type SeamHttpOptions } from './options.js';
|
|
3
|
+
export type Options = SeamHttpMultiWorkspaceOptions | (SeamHttpOptions & {
|
|
4
4
|
publishableKey?: string;
|
|
5
|
-
};
|
|
5
|
+
});
|
|
6
6
|
export declare const parseOptions: (apiKeyOrOptions: string | Options) => ClientOptions;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import version from '../../../lib/version.js';
|
|
2
2
|
import { getAuthHeaders } from './auth.js';
|
|
3
|
-
import { isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, } from './options.js';
|
|
3
|
+
import { isSeamHttpMultiWorkspaceOptionsWithClient, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, } from './options.js';
|
|
4
4
|
const defaultEndpoint = 'https://connect.getseam.com';
|
|
5
5
|
const sdkHeaders = {
|
|
6
6
|
'seam-sdk-name': 'seamapi/javascript-http',
|
|
@@ -10,6 +10,8 @@ export const parseOptions = (apiKeyOrOptions) => {
|
|
|
10
10
|
const options = getNormalizedOptions(apiKeyOrOptions);
|
|
11
11
|
if (isSeamHttpOptionsWithClient(options))
|
|
12
12
|
return options;
|
|
13
|
+
if (isSeamHttpMultiWorkspaceOptionsWithClient(options))
|
|
14
|
+
return options;
|
|
13
15
|
return {
|
|
14
16
|
axiosOptions: {
|
|
15
17
|
baseURL: options.endpoint ?? getEndpointFromEnv() ?? defaultEndpoint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/parse-options.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,
|
|
1
|
+
{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/parse-options.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,OAAO,EACL,yCAAyC,EACzC,2BAA2B,EAC3B,uCAAuC,GAGxC,MAAM,cAAc,CAAA;AAErB,MAAM,eAAe,GAAG,6BAA6B,CAAA;AAErD,MAAM,UAAU,GAAG;IACjB,eAAe,EAAE,yBAAyB;IAC1C,kBAAkB,EAAE,OAAO;CAC5B,CAAA;AAMD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,eAAiC,EAClB,EAAE;IACjB,MAAM,OAAO,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAA;IAErD,IAAI,2BAA2B,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IACxD,IAAI,yCAAyC,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IAEtE,OAAO;QACL,YAAY,EAAE;YACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,kBAAkB,EAAE,IAAI,eAAe;YACpE,eAAe,EAAE,uCAAuC,CAAC,OAAO,CAAC;YACjE,GAAG,OAAO,CAAC,YAAY;YACvB,OAAO,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO,CAAC;gBAC1B,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO;gBAChC,GAAG,UAAU;aACd;SACF;QACD,iBAAiB,EAAE;YACjB,GAAG,OAAO,CAAC,iBAAiB;SAC7B;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAC3B,eAAiC,EAChB,EAAE;IACnB,MAAM,OAAO,GACX,OAAO,eAAe,KAAK,QAAQ;QACjC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;QAC7B,CAAC,CAAC,eAAe,CAAA;IAErB,IAAI,2BAA2B,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IAExD,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAElE,OAAO;QACL,GAAG,OAAO;QACV,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CACvB,OAAwB,EACG,EAAE;IAC7B,IAAI,oBAAoB,IAAI,OAAO,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE;QACzE,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,GAA8B,EAAE;IACzD,OAAO,CACL,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa;QACtC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CACtC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Client } from './client.js';
|
|
2
|
+
import { type SeamHttpMultiWorkspaceOptions, type SeamHttpMultiWorkspaceOptionsWithClient, type SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, type SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken } from './options.js';
|
|
3
|
+
import { SeamHttpWorkspaces } from './routes/index.js';
|
|
4
|
+
export declare class SeamHttpMultiWorkspace {
|
|
5
|
+
client: Client;
|
|
6
|
+
constructor(options: SeamHttpMultiWorkspaceOptions);
|
|
7
|
+
static fromClient(client: SeamHttpMultiWorkspaceOptionsWithClient['client'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithClient, 'client'>): SeamHttpMultiWorkspace;
|
|
8
|
+
static fromConsoleSessionToken(consoleSessionToken: SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken['consoleSessionToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, 'consoleSessionToken'>): SeamHttpMultiWorkspace;
|
|
9
|
+
static fromPersonalAccessToken(personalAccessToken: SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken['personalAccessToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, 'personalAccessToken'>): SeamHttpMultiWorkspace;
|
|
10
|
+
get workspaces(): SeamHttpWorkspaces;
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createClient } from './client.js';
|
|
2
|
+
import { isSeamHttpMultiWorkspaceOptionsWithClient, isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, SeamHttpMultiWorkspaceInvalidOptionsError, } from './options.js';
|
|
3
|
+
import { parseOptions } from './parse-options.js';
|
|
4
|
+
import { SeamHttpWorkspaces } from './routes/index.js';
|
|
5
|
+
export class SeamHttpMultiWorkspace {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
const clientOptions = parseOptions(options);
|
|
8
|
+
this.client = createClient(clientOptions);
|
|
9
|
+
}
|
|
10
|
+
static fromClient(client, options = {}) {
|
|
11
|
+
const constructorOptions = { ...options, client };
|
|
12
|
+
if (!isSeamHttpMultiWorkspaceOptionsWithClient(constructorOptions)) {
|
|
13
|
+
throw new SeamHttpMultiWorkspaceInvalidOptionsError('Missing client');
|
|
14
|
+
}
|
|
15
|
+
return new SeamHttpMultiWorkspace(constructorOptions);
|
|
16
|
+
}
|
|
17
|
+
static fromConsoleSessionToken(consoleSessionToken, options = {}) {
|
|
18
|
+
const constructorOptions = { ...options, consoleSessionToken };
|
|
19
|
+
if (!isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
20
|
+
throw new SeamHttpMultiWorkspaceInvalidOptionsError('Missing consoleSessionToken');
|
|
21
|
+
}
|
|
22
|
+
return new SeamHttpMultiWorkspace(constructorOptions);
|
|
23
|
+
}
|
|
24
|
+
static fromPersonalAccessToken(personalAccessToken, options = {}) {
|
|
25
|
+
const constructorOptions = { ...options, personalAccessToken };
|
|
26
|
+
if (!isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
27
|
+
throw new SeamHttpMultiWorkspaceInvalidOptionsError('Missing personalAccessToken');
|
|
28
|
+
}
|
|
29
|
+
return new SeamHttpMultiWorkspace(constructorOptions);
|
|
30
|
+
}
|
|
31
|
+
get workspaces() {
|
|
32
|
+
return SeamHttpWorkspaces.fromClient(this.client);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=seam-http-multi-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seam-http-multi-workspace.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http-multi-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EACL,yCAAyC,EACzC,sDAAsD,EACtD,sDAAsD,EACtD,yCAAyC,GAK1C,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,OAAO,sBAAsB;IAGjC,YAAY,OAAsC;QAChD,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,UAAU,CACf,MAAyD,EACzD,UAAmE,EAAE;QAErE,MAAM,kBAAkB,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAA;QACjD,IAAI,CAAC,yCAAyC,CAAC,kBAAkB,CAAC,EAAE;YAClE,MAAM,IAAI,yCAAyC,CAAC,gBAAgB,CAAC,CAAA;SACtE;QACD,OAAO,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC5B,mBAAgG,EAChG,UAGI,EAAE;QAEN,MAAM,kBAAkB,GAAG,EAAE,GAAG,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAC9D,IACE,CAAC,sDAAsD,CACrD,kBAAkB,CACnB,EACD;YACA,MAAM,IAAI,yCAAyC,CACjD,6BAA6B,CAC9B,CAAA;SACF;QACD,OAAO,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC5B,mBAAgG,EAChG,UAGI,EAAE;QAEN,MAAM,kBAAkB,GAAG,EAAE,GAAG,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAC9D,IACE,CAAC,sDAAsD,CACrD,kBAAkB,CACnB,EACD;YACA,MAAM,IAAI,yCAAyC,CACjD,6BAA6B,CAC9B,CAAA;SACF;QACD,OAAO,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;CACF"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiJavascriptHttpVersion = "0.
|
|
1
|
+
declare const seamapiJavascriptHttpVersion = "0.7.1";
|
|
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": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "JavaScript HTTP client for the Seam API written in TypeScript.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"dependencies": {
|
|
89
89
|
"axios": "^1.5.0",
|
|
90
90
|
"axios-better-stacktrace": "^2.1.5",
|
|
91
|
-
"axios-retry": "^3.8.
|
|
91
|
+
"axios-retry": "^3.8.1"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@seamapi/fake-seam-connect": "^1.43.0",
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
+
isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken,
|
|
3
|
+
isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken,
|
|
2
4
|
isSeamHttpOptionsWithApiKey,
|
|
3
5
|
isSeamHttpOptionsWithClientSessionToken,
|
|
4
6
|
isSeamHttpOptionsWithConsoleSessionToken,
|
|
5
7
|
isSeamHttpOptionsWithPersonalAccessToken,
|
|
6
8
|
SeamHttpInvalidOptionsError,
|
|
9
|
+
type SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken,
|
|
10
|
+
type SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken,
|
|
7
11
|
type SeamHttpOptionsWithApiKey,
|
|
8
12
|
type SeamHttpOptionsWithClientSessionToken,
|
|
9
13
|
type SeamHttpOptionsWithConsoleSessionToken,
|
|
@@ -26,11 +30,17 @@ export const getAuthHeaders = (options: Options): Headers => {
|
|
|
26
30
|
return getAuthHeadersForClientSessionToken(options)
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
if (
|
|
33
|
+
if (
|
|
34
|
+
isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options) ||
|
|
35
|
+
isSeamHttpOptionsWithConsoleSessionToken(options)
|
|
36
|
+
) {
|
|
30
37
|
return getAuthHeadersForConsoleSessionToken(options)
|
|
31
38
|
}
|
|
32
39
|
|
|
33
|
-
if (
|
|
40
|
+
if (
|
|
41
|
+
isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options) ||
|
|
42
|
+
isSeamHttpOptionsWithPersonalAccessToken(options)
|
|
43
|
+
) {
|
|
34
44
|
return getAuthHeadersForPersonalAccessToken(options)
|
|
35
45
|
}
|
|
36
46
|
|
|
@@ -40,8 +50,8 @@ export const getAuthHeaders = (options: Options): Headers => {
|
|
|
40
50
|
'an apiKey,',
|
|
41
51
|
'clientSessionToken,',
|
|
42
52
|
'publishableKey,',
|
|
43
|
-
'consoleSessionToken
|
|
44
|
-
'or personalAccessToken
|
|
53
|
+
'consoleSessionToken',
|
|
54
|
+
'or personalAccessToken',
|
|
45
55
|
].join(' '),
|
|
46
56
|
)
|
|
47
57
|
}
|
|
@@ -117,8 +127,12 @@ const getAuthHeadersForClientSessionToken = ({
|
|
|
117
127
|
|
|
118
128
|
const getAuthHeadersForConsoleSessionToken = ({
|
|
119
129
|
consoleSessionToken,
|
|
120
|
-
|
|
121
|
-
}:
|
|
130
|
+
...options
|
|
131
|
+
}:
|
|
132
|
+
| SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken
|
|
133
|
+
| SeamHttpOptionsWithConsoleSessionToken): Headers => {
|
|
134
|
+
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined
|
|
135
|
+
|
|
122
136
|
if (isAccessToken(consoleSessionToken)) {
|
|
123
137
|
throw new SeamHttpInvalidTokenError(
|
|
124
138
|
'An Access Token cannot be used as a consoleSessionToken',
|
|
@@ -145,14 +159,18 @@ const getAuthHeadersForConsoleSessionToken = ({
|
|
|
145
159
|
|
|
146
160
|
return {
|
|
147
161
|
authorization: `Bearer ${consoleSessionToken}`,
|
|
148
|
-
'seam-workspace
|
|
162
|
+
...(workspaceId != null ? { 'seam-workspace': workspaceId } : {}),
|
|
149
163
|
}
|
|
150
164
|
}
|
|
151
165
|
|
|
152
166
|
const getAuthHeadersForPersonalAccessToken = ({
|
|
153
167
|
personalAccessToken,
|
|
154
|
-
|
|
155
|
-
}:
|
|
168
|
+
...options
|
|
169
|
+
}:
|
|
170
|
+
| SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken
|
|
171
|
+
| SeamHttpOptionsWithPersonalAccessToken): Headers => {
|
|
172
|
+
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined
|
|
173
|
+
|
|
156
174
|
if (isJwt(personalAccessToken)) {
|
|
157
175
|
throw new SeamHttpInvalidTokenError(
|
|
158
176
|
'A JWT cannot be used as a personalAccessToken',
|
|
@@ -179,7 +197,7 @@ const getAuthHeadersForPersonalAccessToken = ({
|
|
|
179
197
|
|
|
180
198
|
return {
|
|
181
199
|
authorization: `Bearer ${personalAccessToken}`,
|
|
182
|
-
'seam-workspace
|
|
200
|
+
...(workspaceId != null ? { 'seam-workspace': workspaceId } : {}),
|
|
183
201
|
}
|
|
184
202
|
}
|
|
185
203
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export { SeamHttpInvalidTokenError } from './auth.js'
|
|
1
2
|
export * from './error-interceptor.js'
|
|
2
3
|
export * from './options.js'
|
|
3
4
|
export * from './routes/index.js'
|
|
4
5
|
export * from './seam-http.js'
|
|
5
6
|
export * from './seam-http-error.js'
|
|
7
|
+
export * from './seam-http-multi-workspace.js'
|
|
6
8
|
export * from 'lib/params-serializer.js'
|