@seamapi/http 0.0.2 → 0.1.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/dist/connect.cjs +1386 -61
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +420 -7
- package/lib/seam/connect/auth.d.ts +1 -1
- package/lib/seam/connect/auth.js +7 -7
- package/lib/seam/connect/auth.js.map +1 -1
- package/lib/seam/connect/axios.js +3 -1
- package/lib/seam/connect/axios.js.map +1 -1
- package/lib/seam/connect/client-options.d.ts +7 -3
- package/lib/seam/connect/client-options.js +18 -3
- package/lib/seam/connect/client-options.js.map +1 -1
- package/lib/seam/connect/client.d.ts +16 -4
- package/lib/seam/connect/client.js +55 -28
- package/lib/seam/connect/client.js.map +1 -1
- package/lib/seam/connect/parse-options.d.ts +1 -1
- package/lib/seam/connect/parse-options.js +8 -1
- package/lib/seam/connect/parse-options.js.map +1 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +26 -0
- package/lib/seam/connect/routes/access-codes-unmanaged.js +72 -0
- package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -0
- package/lib/seam/connect/routes/access-codes.d.ts +37 -0
- package/lib/seam/connect/routes/access-codes.js +101 -0
- package/lib/seam/connect/routes/access-codes.js.map +1 -0
- package/lib/seam/connect/routes/acs-access-groups.d.ts +35 -0
- package/lib/seam/connect/routes/acs-access-groups.js +95 -0
- package/lib/seam/connect/routes/acs-access-groups.js.map +1 -0
- package/lib/seam/connect/routes/acs-credentials.d.ts +23 -0
- package/lib/seam/connect/routes/acs-credentials.js +66 -0
- package/lib/seam/connect/routes/acs-credentials.js.map +1 -0
- package/lib/seam/connect/routes/acs-systems.d.ts +17 -0
- package/lib/seam/connect/routes/acs-systems.js +51 -0
- package/lib/seam/connect/routes/acs-systems.js.map +1 -0
- package/lib/seam/connect/routes/acs-users.d.ts +32 -0
- package/lib/seam/connect/routes/acs-users.js +87 -0
- package/lib/seam/connect/routes/acs-users.js.map +1 -0
- package/lib/seam/connect/routes/acs.d.ts +17 -0
- package/lib/seam/connect/routes/acs.js +51 -0
- package/lib/seam/connect/routes/acs.js.map +1 -0
- package/lib/seam/connect/routes/action-attempts.d.ts +17 -0
- package/lib/seam/connect/routes/action-attempts.js +51 -0
- package/lib/seam/connect/routes/action-attempts.js.map +1 -0
- package/lib/seam/connect/routes/client-sessions.d.ts +26 -0
- package/lib/seam/connect/routes/client-sessions.js +74 -0
- package/lib/seam/connect/routes/client-sessions.js.map +1 -0
- package/lib/seam/connect/routes/connect-webviews.d.ts +26 -0
- package/lib/seam/connect/routes/connect-webviews.js +73 -0
- package/lib/seam/connect/routes/connect-webviews.js.map +1 -0
- package/lib/seam/connect/routes/connected-accounts.d.ts +20 -0
- package/lib/seam/connect/routes/connected-accounts.js +58 -0
- package/lib/seam/connect/routes/connected-accounts.js.map +1 -0
- package/lib/seam/connect/routes/devices-unmanaged.d.ts +20 -0
- package/lib/seam/connect/routes/devices-unmanaged.js +58 -0
- package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -0
- package/lib/seam/connect/routes/devices.d.ts +28 -0
- package/lib/seam/connect/routes/devices.js +77 -0
- package/lib/seam/connect/routes/devices.js.map +1 -0
- package/lib/seam/connect/routes/events.d.ts +17 -0
- package/lib/seam/connect/routes/events.js +51 -0
- package/lib/seam/connect/routes/events.js.map +1 -0
- package/lib/seam/connect/routes/index.d.ts +21 -0
- package/lib/seam/connect/routes/index.js +22 -0
- package/lib/seam/connect/routes/index.js.map +1 -0
- package/lib/seam/connect/routes/locks.d.ts +23 -0
- package/lib/seam/connect/routes/locks.js +67 -0
- package/lib/seam/connect/routes/locks.js.map +1 -0
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +26 -0
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +72 -0
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -0
- package/lib/seam/connect/routes/noise-sensors.d.ts +11 -0
- package/lib/seam/connect/routes/noise-sensors.js +39 -0
- package/lib/seam/connect/routes/noise-sensors.js.map +1 -0
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +26 -0
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +73 -0
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -0
- package/lib/seam/connect/routes/thermostats.d.ts +37 -0
- package/lib/seam/connect/routes/thermostats.js +97 -0
- package/lib/seam/connect/routes/thermostats.js.map +1 -0
- package/lib/seam/connect/routes/webhooks.d.ts +23 -0
- package/lib/seam/connect/routes/webhooks.js +66 -0
- package/lib/seam/connect/routes/webhooks.js.map +1 -0
- package/lib/seam/connect/routes/workspaces.d.ts +14 -5
- package/lib/seam/connect/routes/workspaces.js +48 -10
- package/lib/seam/connect/routes/workspaces.js.map +1 -1
- package/package.json +4 -1
- package/src/lib/seam/connect/auth.ts +7 -7
- package/src/lib/seam/connect/axios.ts +2 -0
- package/src/lib/seam/connect/client-options.ts +32 -4
- package/src/lib/seam/connect/client.ts +88 -15
- package/src/lib/seam/connect/parse-options.ts +16 -2
- package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +157 -0
- package/src/lib/seam/connect/routes/access-codes.ts +226 -0
- package/src/lib/seam/connect/routes/acs-access-groups.ts +207 -0
- package/src/lib/seam/connect/routes/acs-credentials.ts +139 -0
- package/src/lib/seam/connect/routes/acs-systems.ts +108 -0
- package/src/lib/seam/connect/routes/acs-users.ts +187 -0
- package/src/lib/seam/connect/routes/acs.ts +85 -0
- package/src/lib/seam/connect/routes/action-attempts.ts +104 -0
- package/src/lib/seam/connect/routes/client-sessions.ts +159 -0
- package/src/lib/seam/connect/routes/connect-webviews.ts +159 -0
- package/src/lib/seam/connect/routes/connected-accounts.ts +124 -0
- package/src/lib/seam/connect/routes/devices-unmanaged.ts +120 -0
- package/src/lib/seam/connect/routes/devices.ts +158 -0
- package/src/lib/seam/connect/routes/events.ts +100 -0
- package/src/lib/seam/connect/routes/index.ts +21 -0
- package/src/lib/seam/connect/routes/locks.ts +138 -0
- package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +154 -0
- package/src/lib/seam/connect/routes/noise-sensors.ts +70 -0
- package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +176 -0
- package/src/lib/seam/connect/routes/thermostats.ts +206 -0
- package/src/lib/seam/connect/routes/webhooks.ts +141 -0
- package/src/lib/seam/connect/routes/workspaces.ts +100 -17
- package/lib/seam/connect/legacy/workspaces.d.ts +0 -8
- package/lib/seam/connect/legacy/workspaces.js +0 -10
- package/lib/seam/connect/legacy/workspaces.js.map +0 -1
- package/src/lib/seam/connect/legacy/workspaces.ts +0 -26
package/dist/connect.d.cts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Axios, AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { RouteRequestBody, RouteResponse, RouteRequestParams } from '@seamapi/types/connect';
|
|
3
3
|
import { SetNonNullable } from 'type-fest';
|
|
4
4
|
|
|
5
|
-
type SeamHttpOptions = SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
|
|
5
|
+
type SeamHttpOptions = SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
|
|
6
6
|
interface SeamHttpCommonOptions {
|
|
7
7
|
endpoint?: string;
|
|
8
8
|
axiosOptions?: AxiosRequestConfig;
|
|
9
9
|
enableLegacyMethodBehaivor?: boolean;
|
|
10
10
|
}
|
|
11
|
+
interface SeamHttpOptionsWithClient extends Pick<SeamHttpCommonOptions, 'enableLegacyMethodBehaivor'> {
|
|
12
|
+
client: Axios;
|
|
13
|
+
}
|
|
11
14
|
interface SeamHttpOptionsWithApiKey extends SeamHttpCommonOptions {
|
|
12
15
|
apiKey: string;
|
|
13
16
|
}
|
|
@@ -15,21 +18,431 @@ interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOptions {
|
|
|
15
18
|
clientSessionToken: string;
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
declare class
|
|
21
|
+
declare class SeamHttpAccessCodesUnmanaged {
|
|
22
|
+
client: Axios;
|
|
23
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
24
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAccessCodesUnmanaged;
|
|
25
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodesUnmanaged;
|
|
26
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodesUnmanaged;
|
|
27
|
+
convertToManaged(body: AccessCodesUnmanagedConvertToManagedBody): Promise<void>;
|
|
28
|
+
delete(body: AccessCodesUnmanagedDeleteBody): Promise<void>;
|
|
29
|
+
get(body: AccessCodesUnmanagedGetBody): Promise<AccessCodesUnmanagedGetResponse['access_code']>;
|
|
30
|
+
list(body: AccessCodesUnmanagedListBody): Promise<AccessCodesUnmanagedListResponse['access_codes']>;
|
|
31
|
+
update(body: AccessCodesUnmanagedUpdateBody): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
type AccessCodesUnmanagedConvertToManagedBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/convert_to_managed'>>>;
|
|
34
|
+
type AccessCodesUnmanagedDeleteBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/delete'>>>;
|
|
35
|
+
type AccessCodesUnmanagedGetBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/get'>>>;
|
|
36
|
+
type AccessCodesUnmanagedGetResponse = SetNonNullable<Required<RouteResponse<'/access_codes/unmanaged/get'>>>;
|
|
37
|
+
type AccessCodesUnmanagedListBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/list'>>>;
|
|
38
|
+
type AccessCodesUnmanagedListResponse = SetNonNullable<Required<RouteResponse<'/access_codes/unmanaged/list'>>>;
|
|
39
|
+
type AccessCodesUnmanagedUpdateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/unmanaged/update'>>>;
|
|
40
|
+
|
|
41
|
+
declare class SeamHttpAccessCodes {
|
|
42
|
+
client: Axios;
|
|
43
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
44
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAccessCodes;
|
|
45
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodes;
|
|
46
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodes;
|
|
47
|
+
get unmanaged(): SeamHttpAccessCodesUnmanaged;
|
|
48
|
+
create(body: AccessCodesCreateBody): Promise<AccessCodesCreateResponse['access_code']>;
|
|
49
|
+
createMultiple(body: AccessCodesCreateMultipleBody): Promise<AccessCodesCreateMultipleResponse['access_codes']>;
|
|
50
|
+
delete(body: AccessCodesDeleteBody): Promise<void>;
|
|
51
|
+
generateCode(params?: AccessCodesGenerateCodeParams): Promise<AccessCodesGenerateCodeResponse['generated_code']>;
|
|
52
|
+
get(body: AccessCodesGetBody): Promise<AccessCodesGetResponse['access_code']>;
|
|
53
|
+
list(body: AccessCodesListBody): Promise<AccessCodesListResponse['access_codes']>;
|
|
54
|
+
pullBackupAccessCode(body: AccessCodesPullBackupAccessCodeBody): Promise<AccessCodesPullBackupAccessCodeResponse['backup_access_code']>;
|
|
55
|
+
update(body: AccessCodesUpdateBody): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
type AccessCodesCreateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/create'>>>;
|
|
58
|
+
type AccessCodesCreateResponse = SetNonNullable<Required<RouteResponse<'/access_codes/create'>>>;
|
|
59
|
+
type AccessCodesCreateMultipleBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/create_multiple'>>>;
|
|
60
|
+
type AccessCodesCreateMultipleResponse = SetNonNullable<Required<RouteResponse<'/access_codes/create_multiple'>>>;
|
|
61
|
+
type AccessCodesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/delete'>>>;
|
|
62
|
+
type AccessCodesGenerateCodeParams = SetNonNullable<Required<RouteRequestParams<'/access_codes/generate_code'>>>;
|
|
63
|
+
type AccessCodesGenerateCodeResponse = SetNonNullable<Required<RouteResponse<'/access_codes/generate_code'>>>;
|
|
64
|
+
type AccessCodesGetBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/get'>>>;
|
|
65
|
+
type AccessCodesGetResponse = SetNonNullable<Required<RouteResponse<'/access_codes/get'>>>;
|
|
66
|
+
type AccessCodesListBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/list'>>>;
|
|
67
|
+
type AccessCodesListResponse = SetNonNullable<Required<RouteResponse<'/access_codes/list'>>>;
|
|
68
|
+
type AccessCodesPullBackupAccessCodeBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/pull_backup_access_code'>>>;
|
|
69
|
+
type AccessCodesPullBackupAccessCodeResponse = SetNonNullable<Required<RouteResponse<'/access_codes/pull_backup_access_code'>>>;
|
|
70
|
+
type AccessCodesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/access_codes/update'>>>;
|
|
71
|
+
|
|
72
|
+
declare class SeamHttpAcsAccessGroups {
|
|
73
|
+
client: Axios;
|
|
74
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
75
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsAccessGroups;
|
|
76
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsAccessGroups;
|
|
77
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsAccessGroups;
|
|
78
|
+
addUser(body: AcsAccessGroupsAddUserBody): Promise<void>;
|
|
79
|
+
create(body: AcsAccessGroupsCreateBody): Promise<AcsAccessGroupsCreateResponse['acs_access_group']>;
|
|
80
|
+
delete(body: AcsAccessGroupsDeleteBody): Promise<void>;
|
|
81
|
+
get(body: AcsAccessGroupsGetBody): Promise<AcsAccessGroupsGetResponse['acs_access_group']>;
|
|
82
|
+
list(body: AcsAccessGroupsListBody): Promise<AcsAccessGroupsListResponse['acs_access_groups']>;
|
|
83
|
+
listUsers(body: AcsAccessGroupsListUsersBody): Promise<AcsAccessGroupsListUsersResponse['acs_users']>;
|
|
84
|
+
removeUser(body: AcsAccessGroupsRemoveUserBody): Promise<void>;
|
|
85
|
+
update(body: AcsAccessGroupsUpdateBody): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
type AcsAccessGroupsAddUserBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/add_user'>>>;
|
|
88
|
+
type AcsAccessGroupsCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/create'>>>;
|
|
89
|
+
type AcsAccessGroupsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/create'>>>;
|
|
90
|
+
type AcsAccessGroupsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/delete'>>>;
|
|
91
|
+
type AcsAccessGroupsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/get'>>>;
|
|
92
|
+
type AcsAccessGroupsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/get'>>>;
|
|
93
|
+
type AcsAccessGroupsListBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/list'>>>;
|
|
94
|
+
type AcsAccessGroupsListResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/list'>>>;
|
|
95
|
+
type AcsAccessGroupsListUsersBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/list_users'>>>;
|
|
96
|
+
type AcsAccessGroupsListUsersResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/list_users'>>>;
|
|
97
|
+
type AcsAccessGroupsRemoveUserBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/remove_user'>>>;
|
|
98
|
+
type AcsAccessGroupsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/acs/access_groups/update'>>>;
|
|
99
|
+
|
|
100
|
+
declare class SeamHttpAcsCredentials {
|
|
101
|
+
client: Axios;
|
|
102
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
103
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsCredentials;
|
|
104
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsCredentials;
|
|
105
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsCredentials;
|
|
106
|
+
create(body: AcsCredentialsCreateBody): Promise<AcsCredentialsCreateResponse['acs_credential']>;
|
|
107
|
+
delete(body: AcsCredentialsDeleteBody): Promise<void>;
|
|
108
|
+
get(body: AcsCredentialsGetBody): Promise<AcsCredentialsGetResponse['acs_credential']>;
|
|
109
|
+
list(body: AcsCredentialsListBody): Promise<AcsCredentialsListResponse['acs_credentials']>;
|
|
110
|
+
}
|
|
111
|
+
type AcsCredentialsCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/create'>>>;
|
|
112
|
+
type AcsCredentialsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/create'>>>;
|
|
113
|
+
type AcsCredentialsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/delete'>>>;
|
|
114
|
+
type AcsCredentialsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/get'>>>;
|
|
115
|
+
type AcsCredentialsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/get'>>>;
|
|
116
|
+
type AcsCredentialsListBody = SetNonNullable<Required<RouteRequestBody<'/acs/credentials/list'>>>;
|
|
117
|
+
type AcsCredentialsListResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/list'>>>;
|
|
118
|
+
|
|
119
|
+
declare class SeamHttpAcsSystems {
|
|
120
|
+
client: Axios;
|
|
121
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
122
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsSystems;
|
|
123
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsSystems;
|
|
124
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsSystems;
|
|
125
|
+
get(body: AcsSystemsGetBody): Promise<AcsSystemsGetResponse['acs_system']>;
|
|
126
|
+
list(params?: AcsSystemsListParams): Promise<AcsSystemsListResponse['acs_systems']>;
|
|
127
|
+
}
|
|
128
|
+
type AcsSystemsGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/systems/get'>>>;
|
|
129
|
+
type AcsSystemsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/systems/get'>>>;
|
|
130
|
+
type AcsSystemsListParams = SetNonNullable<Required<RouteRequestParams<'/acs/systems/list'>>>;
|
|
131
|
+
type AcsSystemsListResponse = SetNonNullable<Required<RouteResponse<'/acs/systems/list'>>>;
|
|
132
|
+
|
|
133
|
+
declare class SeamHttpAcsUsers {
|
|
134
|
+
client: Axios;
|
|
135
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
136
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcsUsers;
|
|
137
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsUsers;
|
|
138
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsUsers;
|
|
139
|
+
addToAccessGroup(body: AcsUsersAddToAccessGroupBody): Promise<void>;
|
|
140
|
+
create(body: AcsUsersCreateBody): Promise<AcsUsersCreateResponse['acs_user']>;
|
|
141
|
+
delete(body: AcsUsersDeleteBody): Promise<void>;
|
|
142
|
+
get(body: AcsUsersGetBody): Promise<AcsUsersGetResponse['acs_user']>;
|
|
143
|
+
list(body: AcsUsersListBody): Promise<AcsUsersListResponse['acs_users']>;
|
|
144
|
+
removeFromAccessGroup(body: AcsUsersRemoveFromAccessGroupBody): Promise<void>;
|
|
145
|
+
update(body: AcsUsersUpdateBody): Promise<void>;
|
|
146
|
+
}
|
|
147
|
+
type AcsUsersAddToAccessGroupBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/add_to_access_group'>>>;
|
|
148
|
+
type AcsUsersCreateBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/create'>>>;
|
|
149
|
+
type AcsUsersCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/users/create'>>>;
|
|
150
|
+
type AcsUsersDeleteBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/delete'>>>;
|
|
151
|
+
type AcsUsersGetBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/get'>>>;
|
|
152
|
+
type AcsUsersGetResponse = SetNonNullable<Required<RouteResponse<'/acs/users/get'>>>;
|
|
153
|
+
type AcsUsersListBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/list'>>>;
|
|
154
|
+
type AcsUsersListResponse = SetNonNullable<Required<RouteResponse<'/acs/users/list'>>>;
|
|
155
|
+
type AcsUsersRemoveFromAccessGroupBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/remove_from_access_group'>>>;
|
|
156
|
+
type AcsUsersUpdateBody = SetNonNullable<Required<RouteRequestBody<'/acs/users/update'>>>;
|
|
157
|
+
|
|
158
|
+
declare class SeamHttpAcs {
|
|
159
|
+
client: Axios;
|
|
160
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
161
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpAcs;
|
|
162
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcs;
|
|
163
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcs;
|
|
164
|
+
get accessGroups(): SeamHttpAcsAccessGroups;
|
|
165
|
+
get credentials(): SeamHttpAcsCredentials;
|
|
166
|
+
get systems(): SeamHttpAcsSystems;
|
|
167
|
+
get users(): SeamHttpAcsUsers;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
declare class SeamHttpActionAttempts {
|
|
171
|
+
client: Axios;
|
|
172
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
173
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpActionAttempts;
|
|
174
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpActionAttempts;
|
|
175
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpActionAttempts;
|
|
176
|
+
get(body: ActionAttemptsGetBody): Promise<ActionAttemptsGetResponse['action_attempt']>;
|
|
177
|
+
list(body: ActionAttemptsListBody): Promise<ActionAttemptsListResponse['action_attempts']>;
|
|
178
|
+
}
|
|
179
|
+
type ActionAttemptsGetBody = SetNonNullable<Required<RouteRequestBody<'/action_attempts/get'>>>;
|
|
180
|
+
type ActionAttemptsGetResponse = SetNonNullable<Required<RouteResponse<'/action_attempts/get'>>>;
|
|
181
|
+
type ActionAttemptsListBody = SetNonNullable<Required<RouteRequestBody<'/action_attempts/list'>>>;
|
|
182
|
+
type ActionAttemptsListResponse = SetNonNullable<Required<RouteResponse<'/action_attempts/list'>>>;
|
|
183
|
+
|
|
184
|
+
declare class SeamHttpClientSessions {
|
|
185
|
+
client: Axios;
|
|
186
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
187
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpClientSessions;
|
|
188
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpClientSessions;
|
|
189
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpClientSessions;
|
|
190
|
+
create(body: ClientSessionsCreateBody): Promise<ClientSessionsCreateResponse['client_session']>;
|
|
191
|
+
delete(body: ClientSessionsDeleteBody): Promise<void>;
|
|
192
|
+
get(body: ClientSessionsGetBody): Promise<ClientSessionsGetResponse['client_session']>;
|
|
193
|
+
grantAccess(body: ClientSessionsGrantAccessBody): Promise<ClientSessionsGrantAccessResponse['client_session']>;
|
|
194
|
+
list(body: ClientSessionsListBody): Promise<ClientSessionsListResponse['client_sessions']>;
|
|
195
|
+
}
|
|
196
|
+
type ClientSessionsCreateBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/create'>>>;
|
|
197
|
+
type ClientSessionsCreateResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/create'>>>;
|
|
198
|
+
type ClientSessionsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/delete'>>>;
|
|
199
|
+
type ClientSessionsGetBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/get'>>>;
|
|
200
|
+
type ClientSessionsGetResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/get'>>>;
|
|
201
|
+
type ClientSessionsGrantAccessBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/grant_access'>>>;
|
|
202
|
+
type ClientSessionsGrantAccessResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/grant_access'>>>;
|
|
203
|
+
type ClientSessionsListBody = SetNonNullable<Required<RouteRequestBody<'/client_sessions/list'>>>;
|
|
204
|
+
type ClientSessionsListResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/list'>>>;
|
|
205
|
+
|
|
206
|
+
declare class SeamHttpConnectWebviews {
|
|
207
|
+
client: Axios;
|
|
208
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
209
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpConnectWebviews;
|
|
210
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectWebviews;
|
|
211
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectWebviews;
|
|
212
|
+
create(body: ConnectWebviewsCreateBody): Promise<ConnectWebviewsCreateResponse['connect_webview']>;
|
|
213
|
+
delete(body: ConnectWebviewsDeleteBody): Promise<void>;
|
|
214
|
+
get(body: ConnectWebviewsGetBody): Promise<ConnectWebviewsGetResponse['connect_webview']>;
|
|
215
|
+
list(params?: ConnectWebviewsListParams): Promise<ConnectWebviewsListResponse['connect_webviews']>;
|
|
216
|
+
view(params?: ConnectWebviewsViewParams): Promise<void>;
|
|
217
|
+
}
|
|
218
|
+
type ConnectWebviewsCreateBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/create'>>>;
|
|
219
|
+
type ConnectWebviewsCreateResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/create'>>>;
|
|
220
|
+
type ConnectWebviewsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/delete'>>>;
|
|
221
|
+
type ConnectWebviewsGetBody = SetNonNullable<Required<RouteRequestBody<'/connect_webviews/get'>>>;
|
|
222
|
+
type ConnectWebviewsGetResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/get'>>>;
|
|
223
|
+
type ConnectWebviewsListParams = SetNonNullable<Required<RouteRequestParams<'/connect_webviews/list'>>>;
|
|
224
|
+
type ConnectWebviewsListResponse = SetNonNullable<Required<RouteResponse<'/connect_webviews/list'>>>;
|
|
225
|
+
type ConnectWebviewsViewParams = SetNonNullable<Required<RouteRequestParams<'/connect_webviews/view'>>>;
|
|
226
|
+
|
|
227
|
+
declare class SeamHttpConnectedAccounts {
|
|
19
228
|
client: Axios;
|
|
20
|
-
constructor(
|
|
229
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
230
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpConnectedAccounts;
|
|
231
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectedAccounts;
|
|
232
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectedAccounts;
|
|
233
|
+
delete(body: ConnectedAccountsDeleteBody): Promise<void>;
|
|
234
|
+
get(body: ConnectedAccountsGetBody): Promise<ConnectedAccountsGetResponse['connected_account']>;
|
|
235
|
+
list(params?: ConnectedAccountsListParams): Promise<ConnectedAccountsListResponse['connected_accounts']>;
|
|
236
|
+
}
|
|
237
|
+
type ConnectedAccountsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/connected_accounts/delete'>>>;
|
|
238
|
+
type ConnectedAccountsGetBody = SetNonNullable<Required<RouteRequestBody<'/connected_accounts/get'>>>;
|
|
239
|
+
type ConnectedAccountsGetResponse = SetNonNullable<Required<RouteResponse<'/connected_accounts/get'>>>;
|
|
240
|
+
type ConnectedAccountsListParams = SetNonNullable<Required<RouteRequestParams<'/connected_accounts/list'>>>;
|
|
241
|
+
type ConnectedAccountsListResponse = SetNonNullable<Required<RouteResponse<'/connected_accounts/list'>>>;
|
|
242
|
+
|
|
243
|
+
declare class SeamHttpDevicesUnmanaged {
|
|
244
|
+
client: Axios;
|
|
245
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
246
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpDevicesUnmanaged;
|
|
247
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevicesUnmanaged;
|
|
248
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevicesUnmanaged;
|
|
249
|
+
get(body: DevicesUnmanagedGetBody): Promise<DevicesUnmanagedGetResponse['device']>;
|
|
250
|
+
list(body: DevicesUnmanagedListBody): Promise<DevicesUnmanagedListResponse['devices']>;
|
|
251
|
+
update(body: DevicesUnmanagedUpdateBody): Promise<void>;
|
|
252
|
+
}
|
|
253
|
+
type DevicesUnmanagedGetBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/get'>>>;
|
|
254
|
+
type DevicesUnmanagedGetResponse = SetNonNullable<Required<RouteResponse<'/devices/unmanaged/get'>>>;
|
|
255
|
+
type DevicesUnmanagedListBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/list'>>>;
|
|
256
|
+
type DevicesUnmanagedListResponse = SetNonNullable<Required<RouteResponse<'/devices/unmanaged/list'>>>;
|
|
257
|
+
type DevicesUnmanagedUpdateBody = SetNonNullable<Required<RouteRequestBody<'/devices/unmanaged/update'>>>;
|
|
258
|
+
|
|
259
|
+
declare class SeamHttpDevices {
|
|
260
|
+
client: Axios;
|
|
261
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
262
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpDevices;
|
|
263
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevices;
|
|
264
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevices;
|
|
265
|
+
get unmanaged(): SeamHttpDevicesUnmanaged;
|
|
266
|
+
delete(body: DevicesDeleteBody): Promise<void>;
|
|
267
|
+
get(body: DevicesGetBody): Promise<DevicesGetResponse['device']>;
|
|
268
|
+
list(body: DevicesListBody): Promise<DevicesListResponse['devices']>;
|
|
269
|
+
listDeviceProviders(body: DevicesListDeviceProvidersBody): Promise<DevicesListDeviceProvidersResponse['device_providers']>;
|
|
270
|
+
update(body: DevicesUpdateBody): Promise<void>;
|
|
271
|
+
}
|
|
272
|
+
type DevicesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/devices/delete'>>>;
|
|
273
|
+
type DevicesGetBody = SetNonNullable<Required<RouteRequestBody<'/devices/get'>>>;
|
|
274
|
+
type DevicesGetResponse = SetNonNullable<Required<RouteResponse<'/devices/get'>>>;
|
|
275
|
+
type DevicesListBody = SetNonNullable<Required<RouteRequestBody<'/devices/list'>>>;
|
|
276
|
+
type DevicesListResponse = SetNonNullable<Required<RouteResponse<'/devices/list'>>>;
|
|
277
|
+
type DevicesListDeviceProvidersBody = SetNonNullable<Required<RouteRequestBody<'/devices/list_device_providers'>>>;
|
|
278
|
+
type DevicesListDeviceProvidersResponse = SetNonNullable<Required<RouteResponse<'/devices/list_device_providers'>>>;
|
|
279
|
+
type DevicesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/devices/update'>>>;
|
|
280
|
+
|
|
281
|
+
declare class SeamHttpEvents {
|
|
282
|
+
client: Axios;
|
|
283
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
284
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpEvents;
|
|
285
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpEvents;
|
|
286
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpEvents;
|
|
287
|
+
get(body: EventsGetBody): Promise<EventsGetResponse['event']>;
|
|
288
|
+
list(body: EventsListBody): Promise<EventsListResponse['events']>;
|
|
289
|
+
}
|
|
290
|
+
type EventsGetBody = SetNonNullable<Required<RouteRequestBody<'/events/get'>>>;
|
|
291
|
+
type EventsGetResponse = SetNonNullable<Required<RouteResponse<'/events/get'>>>;
|
|
292
|
+
type EventsListBody = SetNonNullable<Required<RouteRequestBody<'/events/list'>>>;
|
|
293
|
+
type EventsListResponse = SetNonNullable<Required<RouteResponse<'/events/list'>>>;
|
|
294
|
+
|
|
295
|
+
declare class SeamHttpLocks {
|
|
296
|
+
client: Axios;
|
|
297
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
298
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpLocks;
|
|
299
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpLocks;
|
|
300
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpLocks;
|
|
301
|
+
get(body: LocksGetBody): Promise<LocksGetResponse['device']>;
|
|
302
|
+
list(body: LocksListBody): Promise<LocksListResponse['devices']>;
|
|
303
|
+
lockDoor(body: LocksLockDoorBody): Promise<LocksLockDoorResponse['action_attempt']>;
|
|
304
|
+
unlockDoor(body: LocksUnlockDoorBody): Promise<LocksUnlockDoorResponse['action_attempt']>;
|
|
305
|
+
}
|
|
306
|
+
type LocksGetBody = SetNonNullable<Required<RouteRequestBody<'/locks/get'>>>;
|
|
307
|
+
type LocksGetResponse = SetNonNullable<Required<RouteResponse<'/locks/get'>>>;
|
|
308
|
+
type LocksListBody = SetNonNullable<Required<RouteRequestBody<'/locks/list'>>>;
|
|
309
|
+
type LocksListResponse = SetNonNullable<Required<RouteResponse<'/locks/list'>>>;
|
|
310
|
+
type LocksLockDoorBody = SetNonNullable<Required<RouteRequestBody<'/locks/lock_door'>>>;
|
|
311
|
+
type LocksLockDoorResponse = SetNonNullable<Required<RouteResponse<'/locks/lock_door'>>>;
|
|
312
|
+
type LocksUnlockDoorBody = SetNonNullable<Required<RouteRequestBody<'/locks/unlock_door'>>>;
|
|
313
|
+
type LocksUnlockDoorResponse = SetNonNullable<Required<RouteResponse<'/locks/unlock_door'>>>;
|
|
314
|
+
|
|
315
|
+
declare class SeamHttpNoiseSensorsNoiseThresholds {
|
|
316
|
+
client: Axios;
|
|
317
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
318
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpNoiseSensorsNoiseThresholds;
|
|
319
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensorsNoiseThresholds;
|
|
320
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensorsNoiseThresholds;
|
|
321
|
+
create(body: NoiseSensorsNoiseThresholdsCreateBody): Promise<void>;
|
|
322
|
+
delete(body: NoiseSensorsNoiseThresholdsDeleteBody): Promise<void>;
|
|
323
|
+
get(body: NoiseSensorsNoiseThresholdsGetBody): Promise<NoiseSensorsNoiseThresholdsGetResponse['noise_threshold']>;
|
|
324
|
+
list(body: NoiseSensorsNoiseThresholdsListBody): Promise<NoiseSensorsNoiseThresholdsListResponse['noise_thresholds']>;
|
|
325
|
+
update(body: NoiseSensorsNoiseThresholdsUpdateBody): Promise<void>;
|
|
326
|
+
}
|
|
327
|
+
type NoiseSensorsNoiseThresholdsCreateBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/create'>>>;
|
|
328
|
+
type NoiseSensorsNoiseThresholdsDeleteBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/delete'>>>;
|
|
329
|
+
type NoiseSensorsNoiseThresholdsGetBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/get'>>>;
|
|
330
|
+
type NoiseSensorsNoiseThresholdsGetResponse = SetNonNullable<Required<RouteResponse<'/noise_sensors/noise_thresholds/get'>>>;
|
|
331
|
+
type NoiseSensorsNoiseThresholdsListBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/list'>>>;
|
|
332
|
+
type NoiseSensorsNoiseThresholdsListResponse = SetNonNullable<Required<RouteResponse<'/noise_sensors/noise_thresholds/list'>>>;
|
|
333
|
+
type NoiseSensorsNoiseThresholdsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/noise_sensors/noise_thresholds/update'>>>;
|
|
334
|
+
|
|
335
|
+
declare class SeamHttpNoiseSensors {
|
|
336
|
+
client: Axios;
|
|
337
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
338
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpNoiseSensors;
|
|
339
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensors;
|
|
340
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensors;
|
|
341
|
+
get noiseThresholds(): SeamHttpNoiseSensorsNoiseThresholds;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
declare class SeamHttpThermostatsClimateSettingSchedules {
|
|
345
|
+
client: Axios;
|
|
346
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
347
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpThermostatsClimateSettingSchedules;
|
|
348
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostatsClimateSettingSchedules;
|
|
349
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostatsClimateSettingSchedules;
|
|
350
|
+
create(body: ThermostatsClimateSettingSchedulesCreateBody): Promise<ThermostatsClimateSettingSchedulesCreateResponse['climate_setting_schedule']>;
|
|
351
|
+
delete(body: ThermostatsClimateSettingSchedulesDeleteBody): Promise<void>;
|
|
352
|
+
get(body: ThermostatsClimateSettingSchedulesGetBody): Promise<ThermostatsClimateSettingSchedulesGetResponse['climate_setting_schedule']>;
|
|
353
|
+
list(body: ThermostatsClimateSettingSchedulesListBody): Promise<ThermostatsClimateSettingSchedulesListResponse['climate_setting_schedules']>;
|
|
354
|
+
update(body: ThermostatsClimateSettingSchedulesUpdateBody): Promise<void>;
|
|
355
|
+
}
|
|
356
|
+
type ThermostatsClimateSettingSchedulesCreateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/create'>>>;
|
|
357
|
+
type ThermostatsClimateSettingSchedulesCreateResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/create'>>>;
|
|
358
|
+
type ThermostatsClimateSettingSchedulesDeleteBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/delete'>>>;
|
|
359
|
+
type ThermostatsClimateSettingSchedulesGetBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/get'>>>;
|
|
360
|
+
type ThermostatsClimateSettingSchedulesGetResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/get'>>>;
|
|
361
|
+
type ThermostatsClimateSettingSchedulesListBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/list'>>>;
|
|
362
|
+
type ThermostatsClimateSettingSchedulesListResponse = SetNonNullable<Required<RouteResponse<'/thermostats/climate_setting_schedules/list'>>>;
|
|
363
|
+
type ThermostatsClimateSettingSchedulesUpdateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/climate_setting_schedules/update'>>>;
|
|
364
|
+
|
|
365
|
+
declare class SeamHttpThermostats {
|
|
366
|
+
client: Axios;
|
|
367
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
368
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpThermostats;
|
|
369
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostats;
|
|
370
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostats;
|
|
371
|
+
get climateSettingSchedules(): SeamHttpThermostatsClimateSettingSchedules;
|
|
372
|
+
cool(body: ThermostatsCoolBody): Promise<void>;
|
|
373
|
+
get(body: ThermostatsGetBody): Promise<ThermostatsGetResponse['thermostat']>;
|
|
374
|
+
heat(body: ThermostatsHeatBody): Promise<void>;
|
|
375
|
+
heatCool(body: ThermostatsHeatCoolBody): Promise<void>;
|
|
376
|
+
list(body: ThermostatsListBody): Promise<ThermostatsListResponse['thermostats']>;
|
|
377
|
+
off(body: ThermostatsOffBody): Promise<void>;
|
|
378
|
+
setFanMode(body: ThermostatsSetFanModeBody): Promise<void>;
|
|
379
|
+
update(body: ThermostatsUpdateBody): Promise<void>;
|
|
380
|
+
}
|
|
381
|
+
type ThermostatsCoolBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/cool'>>>;
|
|
382
|
+
type ThermostatsGetBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/get'>>>;
|
|
383
|
+
type ThermostatsGetResponse = SetNonNullable<Required<RouteResponse<'/thermostats/get'>>>;
|
|
384
|
+
type ThermostatsHeatBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/heat'>>>;
|
|
385
|
+
type ThermostatsHeatCoolBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/heat_cool'>>>;
|
|
386
|
+
type ThermostatsListBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/list'>>>;
|
|
387
|
+
type ThermostatsListResponse = SetNonNullable<Required<RouteResponse<'/thermostats/list'>>>;
|
|
388
|
+
type ThermostatsOffBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/off'>>>;
|
|
389
|
+
type ThermostatsSetFanModeBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/set_fan_mode'>>>;
|
|
390
|
+
type ThermostatsUpdateBody = SetNonNullable<Required<RouteRequestBody<'/thermostats/update'>>>;
|
|
391
|
+
|
|
392
|
+
declare class SeamHttpWebhooks {
|
|
393
|
+
client: Axios;
|
|
394
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
395
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWebhooks;
|
|
396
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWebhooks;
|
|
397
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWebhooks;
|
|
398
|
+
create(body: WebhooksCreateBody): Promise<WebhooksCreateResponse['webhook']>;
|
|
399
|
+
delete(body: WebhooksDeleteBody): Promise<void>;
|
|
400
|
+
get(body: WebhooksGetBody): Promise<WebhooksGetResponse['webhook']>;
|
|
401
|
+
list(params?: WebhooksListParams): Promise<WebhooksListResponse['webhooks']>;
|
|
402
|
+
}
|
|
403
|
+
type WebhooksCreateBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/create'>>>;
|
|
404
|
+
type WebhooksCreateResponse = SetNonNullable<Required<RouteResponse<'/webhooks/create'>>>;
|
|
405
|
+
type WebhooksDeleteBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/delete'>>>;
|
|
406
|
+
type WebhooksGetBody = SetNonNullable<Required<RouteRequestBody<'/webhooks/get'>>>;
|
|
407
|
+
type WebhooksGetResponse = SetNonNullable<Required<RouteResponse<'/webhooks/get'>>>;
|
|
408
|
+
type WebhooksListParams = SetNonNullable<Required<RouteRequestParams<'/webhooks/list'>>>;
|
|
409
|
+
type WebhooksListResponse = SetNonNullable<Required<RouteResponse<'/webhooks/list'>>>;
|
|
410
|
+
|
|
411
|
+
declare class SeamHttpWorkspaces {
|
|
412
|
+
client: Axios;
|
|
413
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
414
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWorkspaces;
|
|
415
|
+
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWorkspaces;
|
|
416
|
+
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWorkspaces;
|
|
21
417
|
get(params?: WorkspacesGetParams): Promise<WorkspacesGetResponse['workspace']>;
|
|
418
|
+
list(params?: WorkspacesListParams): Promise<WorkspacesListResponse['workspaces']>;
|
|
419
|
+
resetSandbox(body: WorkspacesResetSandboxBody): Promise<void>;
|
|
22
420
|
}
|
|
23
421
|
type WorkspacesGetParams = SetNonNullable<Required<RouteRequestParams<'/workspaces/get'>>>;
|
|
24
422
|
type WorkspacesGetResponse = SetNonNullable<Required<RouteResponse<'/workspaces/get'>>>;
|
|
423
|
+
type WorkspacesListParams = SetNonNullable<Required<RouteRequestParams<'/workspaces/list'>>>;
|
|
424
|
+
type WorkspacesListResponse = SetNonNullable<Required<RouteResponse<'/workspaces/list'>>>;
|
|
425
|
+
type WorkspacesResetSandboxBody = SetNonNullable<Required<RouteRequestBody<'/workspaces/reset_sandbox'>>>;
|
|
25
426
|
|
|
26
427
|
declare class SeamHttp {
|
|
27
|
-
#private;
|
|
28
428
|
client: Axios;
|
|
29
429
|
constructor(apiKeyOrOptions: string | SeamHttpOptions);
|
|
430
|
+
static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttp;
|
|
30
431
|
static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttp;
|
|
31
432
|
static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttp;
|
|
32
|
-
get
|
|
433
|
+
get accessCodes(): SeamHttpAccessCodes;
|
|
434
|
+
get acs(): SeamHttpAcs;
|
|
435
|
+
get actionAttempts(): SeamHttpActionAttempts;
|
|
436
|
+
get clientSessions(): SeamHttpClientSessions;
|
|
437
|
+
get connectedAccounts(): SeamHttpConnectedAccounts;
|
|
438
|
+
get connectWebviews(): SeamHttpConnectWebviews;
|
|
439
|
+
get devices(): SeamHttpDevices;
|
|
440
|
+
get events(): SeamHttpEvents;
|
|
441
|
+
get locks(): SeamHttpLocks;
|
|
442
|
+
get noiseSensors(): SeamHttpNoiseSensors;
|
|
443
|
+
get thermostats(): SeamHttpThermostats;
|
|
444
|
+
get webhooks(): SeamHttpWebhooks;
|
|
445
|
+
get workspaces(): SeamHttpWorkspaces;
|
|
33
446
|
}
|
|
34
447
|
|
|
35
448
|
export { SeamHttp };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type SeamHttpOptions } from './client-options.js';
|
|
2
2
|
type Headers = Record<string, string>;
|
|
3
3
|
export declare const getAuthHeaders: (options: SeamHttpOptions) => Headers;
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class SeamHttpInvalidTokenError extends Error {
|
|
5
5
|
constructor(message: string);
|
|
6
6
|
}
|
|
7
7
|
export {};
|
package/lib/seam/connect/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, SeamHttpInvalidOptionsError, } from './client-options.js';
|
|
2
2
|
export const getAuthHeaders = (options) => {
|
|
3
3
|
if (isSeamHttpOptionsWithApiKey(options)) {
|
|
4
4
|
return getAuthHeadersForApiKey(options);
|
|
@@ -6,17 +6,17 @@ export const getAuthHeaders = (options) => {
|
|
|
6
6
|
if (isSeamHttpOptionsWithClientSessionToken(options)) {
|
|
7
7
|
return getAuthHeadersForClientSessionToken(options);
|
|
8
8
|
}
|
|
9
|
-
throw new
|
|
9
|
+
throw new SeamHttpInvalidOptionsError('Must specify an apiKey or clientSessionToken');
|
|
10
10
|
};
|
|
11
11
|
const getAuthHeadersForApiKey = ({ apiKey, }) => {
|
|
12
12
|
if (isClientSessionToken(apiKey)) {
|
|
13
|
-
throw new
|
|
13
|
+
throw new SeamHttpInvalidTokenError('A Client Session Token cannot be used as an apiKey');
|
|
14
14
|
}
|
|
15
15
|
if (isAccessToken(apiKey)) {
|
|
16
|
-
throw new
|
|
16
|
+
throw new SeamHttpInvalidTokenError('An access token cannot be used as an apiKey');
|
|
17
17
|
}
|
|
18
18
|
if (isJwt(apiKey) || !isSeamToken(apiKey)) {
|
|
19
|
-
throw new
|
|
19
|
+
throw new SeamHttpInvalidTokenError(`Unknown or invalid apiKey format, expected token to start with ${tokenPrefix}`);
|
|
20
20
|
}
|
|
21
21
|
return {
|
|
22
22
|
authorization: `Bearer ${apiKey}`,
|
|
@@ -24,14 +24,14 @@ const getAuthHeadersForApiKey = ({ apiKey, }) => {
|
|
|
24
24
|
};
|
|
25
25
|
const getAuthHeadersForClientSessionToken = ({ clientSessionToken, }) => {
|
|
26
26
|
if (!isClientSessionToken(clientSessionToken)) {
|
|
27
|
-
throw new
|
|
27
|
+
throw new SeamHttpInvalidTokenError(`Unknown or invalid clientSessionToken format, expected token to start with ${clientSessionTokenPrefix}`);
|
|
28
28
|
}
|
|
29
29
|
return {
|
|
30
30
|
authorization: `Bearer ${clientSessionToken}`,
|
|
31
31
|
'client-session-token': clientSessionToken,
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
|
-
export class
|
|
34
|
+
export class SeamHttpInvalidTokenError extends Error {
|
|
35
35
|
constructor(message) {
|
|
36
36
|
super(`SeamHttp received an invalid token: ${message}`);
|
|
37
37
|
this.name = this.constructor.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,2BAA2B,GAI5B,MAAM,qBAAqB,CAAA;AAI5B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAW,EAAE;IAClE,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,MAAM,IAAI,2BAA2B,CACnC,8CAA8C,CAC/C,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,aAAa,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,CAC9C,CAAA;KACF;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACzC,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,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,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,WAAW,GAAG,OAAO,CAAA;AAE3B,MAAM,wBAAwB,GAAG,UAAU,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,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AAE7E,MAAM,KAAK,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAEhE,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import axios, {} from 'axios';
|
|
2
2
|
import { getAuthHeaders } from './auth.js';
|
|
3
|
-
import { isSeamHttpOptionsWithClientSessionToken, } from './client-options.js';
|
|
3
|
+
import { isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, } from './client-options.js';
|
|
4
4
|
export const createAxiosClient = (options) => {
|
|
5
|
+
if (isSeamHttpOptionsWithClient(options))
|
|
6
|
+
return options.client;
|
|
5
7
|
// TODO: axiosRetry? Allow options to configure this if so
|
|
6
8
|
return axios.create({
|
|
7
9
|
baseURL: options.endpoint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/axios.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EACL,uCAAuC,GAExC,MAAM,qBAAqB,CAAA;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAkC,EAC3B,EAAE;IACT,0DAA0D;IAC1D,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,eAAe,EAAE,uCAAuC,CAAC,OAAO,CAAC;QACjE,GAAG,OAAO,CAAC,YAAY;QACvB,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1B,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO;YAC/B,mBAAmB;SACpB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/axios.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,GAExC,MAAM,qBAAqB,CAAA;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAkC,EAC3B,EAAE;IACT,IAAI,2BAA2B,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,MAAM,CAAA;IAC/D,0DAA0D;IAC1D,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,eAAe,EAAE,uCAAuC,CAAC,OAAO,CAAC;QACjE,GAAG,OAAO,CAAC,YAAY;QACvB,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1B,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO;YAC/B,mBAAmB;SACpB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import type { AxiosRequestConfig } from 'axios';
|
|
2
|
-
export type SeamHttpOptions = SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
|
|
1
|
+
import type { Axios, AxiosRequestConfig } from 'axios';
|
|
2
|
+
export type SeamHttpOptions = SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
|
|
3
3
|
interface SeamHttpCommonOptions {
|
|
4
4
|
endpoint?: string;
|
|
5
5
|
axiosOptions?: AxiosRequestConfig;
|
|
6
6
|
enableLegacyMethodBehaivor?: boolean;
|
|
7
7
|
}
|
|
8
|
+
export interface SeamHttpOptionsWithClient extends Pick<SeamHttpCommonOptions, 'enableLegacyMethodBehaivor'> {
|
|
9
|
+
client: Axios;
|
|
10
|
+
}
|
|
11
|
+
export declare const isSeamHttpOptionsWithClient: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClient;
|
|
8
12
|
export interface SeamHttpOptionsWithApiKey extends SeamHttpCommonOptions {
|
|
9
13
|
apiKey: string;
|
|
10
14
|
}
|
|
@@ -13,7 +17,7 @@ export interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOpt
|
|
|
13
17
|
clientSessionToken: string;
|
|
14
18
|
}
|
|
15
19
|
export declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
|
|
16
|
-
export declare class
|
|
20
|
+
export declare class SeamHttpInvalidOptionsError extends Error {
|
|
17
21
|
constructor(message: string);
|
|
18
22
|
}
|
|
19
23
|
export {};
|
|
@@ -1,20 +1,35 @@
|
|
|
1
|
+
export const isSeamHttpOptionsWithClient = (options) => {
|
|
2
|
+
if (!('client' in options))
|
|
3
|
+
return false;
|
|
4
|
+
if (options.client == null)
|
|
5
|
+
return false;
|
|
6
|
+
const keys = Object.keys(options).filter((k) => !['client', 'enableLegacyMethodBehaivor'].includes(k));
|
|
7
|
+
if (keys.length > 0) {
|
|
8
|
+
throw new SeamHttpInvalidOptionsError(`The client option cannot be used with any other option except enableLegacyMethodBehaivor, but received: ${keys.join(', ')}`);
|
|
9
|
+
}
|
|
10
|
+
return true;
|
|
11
|
+
};
|
|
1
12
|
export const isSeamHttpOptionsWithApiKey = (options) => {
|
|
2
13
|
if (!('apiKey' in options))
|
|
3
14
|
return false;
|
|
15
|
+
if (options.apiKey == null)
|
|
16
|
+
return false;
|
|
4
17
|
if ('clientSessionToken' in options && options.clientSessionToken != null) {
|
|
5
|
-
throw new
|
|
18
|
+
throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the apiKey option.');
|
|
6
19
|
}
|
|
7
20
|
return true;
|
|
8
21
|
};
|
|
9
22
|
export const isSeamHttpOptionsWithClientSessionToken = (options) => {
|
|
10
23
|
if (!('clientSessionToken' in options))
|
|
11
24
|
return false;
|
|
25
|
+
if (options.clientSessionToken == null)
|
|
26
|
+
return false;
|
|
12
27
|
if ('apiKey' in options && options.apiKey != null) {
|
|
13
|
-
throw new
|
|
28
|
+
throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the apiKey option.');
|
|
14
29
|
}
|
|
15
30
|
return true;
|
|
16
31
|
};
|
|
17
|
-
export class
|
|
32
|
+
export class SeamHttpInvalidOptionsError extends Error {
|
|
18
33
|
constructor(message) {
|
|
19
34
|
super(`SeamHttp received invalid options: ${message}`);
|
|
20
35
|
this.name = this.constructor.name;
|