@seamapi/http 1.3.0 → 1.5.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 +265 -28
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +157 -34
- package/lib/seam/connect/resolve-action-attempt.d.ts +84 -0
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.d.ts +25 -0
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.js +96 -0
- package/lib/seam/connect/routes/acs-access-groups-unmanaged.js.map +1 -0
- package/lib/seam/connect/routes/acs-access-groups.d.ts +2 -0
- package/lib/seam/connect/routes/acs-access-groups.js +4 -0
- package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
- package/lib/seam/connect/routes/acs-credentials-unmanaged.d.ts +25 -0
- package/lib/seam/connect/routes/acs-credentials-unmanaged.js +96 -0
- package/lib/seam/connect/routes/acs-credentials-unmanaged.js.map +1 -0
- package/lib/seam/connect/routes/acs-credentials.d.ts +2 -0
- package/lib/seam/connect/routes/acs-credentials.js +4 -0
- package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
- package/lib/seam/connect/routes/index.d.ts +3 -1
- package/lib/seam/connect/routes/index.js +3 -1
- package/lib/seam/connect/routes/index.js.map +1 -1
- package/lib/seam/connect/routes/thermostats-schedules.d.ts +37 -0
- package/lib/seam/connect/routes/{thermostats-climate-setting-schedules.js → thermostats-schedules.js} +16 -16
- package/lib/seam/connect/routes/thermostats-schedules.js.map +1 -0
- package/lib/seam/connect/routes/thermostats.d.ts +22 -6
- package/lib/seam/connect/routes/thermostats.js +39 -6
- package/lib/seam/connect/routes/thermostats.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +3 -3
- package/src/lib/seam/connect/routes/acs-access-groups-unmanaged.ts +202 -0
- package/src/lib/seam/connect/routes/acs-access-groups.ts +8 -0
- package/src/lib/seam/connect/routes/acs-credentials-unmanaged.ts +199 -0
- package/src/lib/seam/connect/routes/acs-credentials.ts +8 -0
- package/src/lib/seam/connect/routes/index.ts +3 -1
- package/src/lib/seam/connect/routes/{thermostats-climate-setting-schedules.ts → thermostats-schedules.ts} +55 -64
- package/src/lib/seam/connect/routes/thermostats.ts +101 -13
- package/src/lib/version.ts +1 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +0 -37
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostats.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/routes/thermostats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAe,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EAExC,2BAA2B,GAQ5B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,6BAA6B,EAC7B,YAAY,GACb,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAGvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"thermostats.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/routes/thermostats.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiJavascriptHttpVersion = "1.
|
|
1
|
+
declare const seamapiJavascriptHttpVersion = "1.5.0";
|
|
2
2
|
export default seamapiJavascriptHttpVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamapi/http",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "JavaScript HTTP client for the Seam API written in TypeScript.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"npm": ">= 9.0.0"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {
|
|
87
|
-
"@seamapi/types": "^1.
|
|
87
|
+
"@seamapi/types": "^1.242.0"
|
|
88
88
|
},
|
|
89
89
|
"peerDependenciesMeta": {
|
|
90
90
|
"@seamapi/types": {
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@seamapi/fake-seam-connect": "^1.71.0",
|
|
102
|
-
"@seamapi/types": "1.
|
|
102
|
+
"@seamapi/types": "1.242.0",
|
|
103
103
|
"@types/eslint": "^8.44.2",
|
|
104
104
|
"@types/node": "^20.8.10",
|
|
105
105
|
"ava": "^5.0.1",
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automatically generated by generate-routes.ts.
|
|
3
|
+
* Do not edit this file or add other files to this directory.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
getAuthHeadersForClientSessionToken,
|
|
10
|
+
warnOnInsecureuserIdentifierKey,
|
|
11
|
+
} from 'lib/seam/connect/auth.js'
|
|
12
|
+
import { type Client, createClient } from 'lib/seam/connect/client.js'
|
|
13
|
+
import {
|
|
14
|
+
isSeamHttpOptionsWithApiKey,
|
|
15
|
+
isSeamHttpOptionsWithClient,
|
|
16
|
+
isSeamHttpOptionsWithClientSessionToken,
|
|
17
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
18
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
19
|
+
type SeamHttpFromPublishableKeyOptions,
|
|
20
|
+
SeamHttpInvalidOptionsError,
|
|
21
|
+
type SeamHttpOptions,
|
|
22
|
+
type SeamHttpOptionsWithApiKey,
|
|
23
|
+
type SeamHttpOptionsWithClient,
|
|
24
|
+
type SeamHttpOptionsWithClientSessionToken,
|
|
25
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
26
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
27
|
+
type SeamHttpRequestOptions,
|
|
28
|
+
} from 'lib/seam/connect/options.js'
|
|
29
|
+
import {
|
|
30
|
+
limitToSeamHttpRequestOptions,
|
|
31
|
+
parseOptions,
|
|
32
|
+
} from 'lib/seam/connect/parse-options.js'
|
|
33
|
+
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import type { SetNonNullable } from 'lib/types.js'
|
|
35
|
+
|
|
36
|
+
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
37
|
+
|
|
38
|
+
export class SeamHttpAcsAccessGroupsUnmanaged {
|
|
39
|
+
client: Client
|
|
40
|
+
readonly defaults: Required<SeamHttpRequestOptions>
|
|
41
|
+
|
|
42
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
|
|
43
|
+
const options = parseOptions(apiKeyOrOptions)
|
|
44
|
+
this.client = 'client' in options ? options.client : createClient(options)
|
|
45
|
+
this.defaults = limitToSeamHttpRequestOptions(options)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static fromClient(
|
|
49
|
+
client: SeamHttpOptionsWithClient['client'],
|
|
50
|
+
options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
|
|
51
|
+
): SeamHttpAcsAccessGroupsUnmanaged {
|
|
52
|
+
const constructorOptions = { ...options, client }
|
|
53
|
+
if (!isSeamHttpOptionsWithClient(constructorOptions)) {
|
|
54
|
+
throw new SeamHttpInvalidOptionsError('Missing client')
|
|
55
|
+
}
|
|
56
|
+
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static fromApiKey(
|
|
60
|
+
apiKey: SeamHttpOptionsWithApiKey['apiKey'],
|
|
61
|
+
options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
|
|
62
|
+
): SeamHttpAcsAccessGroupsUnmanaged {
|
|
63
|
+
const constructorOptions = { ...options, apiKey }
|
|
64
|
+
if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
|
|
65
|
+
throw new SeamHttpInvalidOptionsError('Missing apiKey')
|
|
66
|
+
}
|
|
67
|
+
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static fromClientSessionToken(
|
|
71
|
+
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
72
|
+
options: Omit<
|
|
73
|
+
SeamHttpOptionsWithClientSessionToken,
|
|
74
|
+
'clientSessionToken'
|
|
75
|
+
> = {},
|
|
76
|
+
): SeamHttpAcsAccessGroupsUnmanaged {
|
|
77
|
+
const constructorOptions = { ...options, clientSessionToken }
|
|
78
|
+
if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
|
|
79
|
+
throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
|
|
80
|
+
}
|
|
81
|
+
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static async fromPublishableKey(
|
|
85
|
+
publishableKey: string,
|
|
86
|
+
userIdentifierKey: string,
|
|
87
|
+
options: SeamHttpFromPublishableKeyOptions = {},
|
|
88
|
+
): Promise<SeamHttpAcsAccessGroupsUnmanaged> {
|
|
89
|
+
warnOnInsecureuserIdentifierKey(userIdentifierKey)
|
|
90
|
+
const clientOptions = parseOptions({ ...options, publishableKey })
|
|
91
|
+
if (isSeamHttpOptionsWithClient(clientOptions)) {
|
|
92
|
+
throw new SeamHttpInvalidOptionsError(
|
|
93
|
+
'The client option cannot be used with SeamHttp.fromPublishableKey',
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
const client = createClient(clientOptions)
|
|
97
|
+
const clientSessions = SeamHttpClientSessions.fromClient(client)
|
|
98
|
+
const { token } = await clientSessions.getOrCreate({
|
|
99
|
+
user_identifier_key: userIdentifierKey,
|
|
100
|
+
})
|
|
101
|
+
return SeamHttpAcsAccessGroupsUnmanaged.fromClientSessionToken(
|
|
102
|
+
token,
|
|
103
|
+
options,
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static fromConsoleSessionToken(
|
|
108
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
109
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
110
|
+
options: Omit<
|
|
111
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
112
|
+
'consoleSessionToken' | 'workspaceId'
|
|
113
|
+
> = {},
|
|
114
|
+
): SeamHttpAcsAccessGroupsUnmanaged {
|
|
115
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
116
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
117
|
+
throw new SeamHttpInvalidOptionsError(
|
|
118
|
+
'Missing consoleSessionToken or workspaceId',
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static fromPersonalAccessToken(
|
|
125
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
126
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
127
|
+
options: Omit<
|
|
128
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
129
|
+
'personalAccessToken' | 'workspaceId'
|
|
130
|
+
> = {},
|
|
131
|
+
): SeamHttpAcsAccessGroupsUnmanaged {
|
|
132
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
133
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
134
|
+
throw new SeamHttpInvalidOptionsError(
|
|
135
|
+
'Missing personalAccessToken or workspaceId',
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async updateClientSessionToken(
|
|
142
|
+
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
143
|
+
): Promise<void> {
|
|
144
|
+
const { headers } = this.client.defaults
|
|
145
|
+
const authHeaders = getAuthHeadersForClientSessionToken({
|
|
146
|
+
clientSessionToken,
|
|
147
|
+
})
|
|
148
|
+
for (const key of Object.keys(authHeaders)) {
|
|
149
|
+
if (headers[key] == null) {
|
|
150
|
+
throw new Error(
|
|
151
|
+
'Cannot update a clientSessionToken on a client created without a clientSessionToken',
|
|
152
|
+
)
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
this.client.defaults.headers = { ...headers, ...authHeaders }
|
|
156
|
+
const clientSessions = SeamHttpClientSessions.fromClient(this.client)
|
|
157
|
+
await clientSessions.get()
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
get(
|
|
161
|
+
body?: AcsAccessGroupsUnmanagedGetParams,
|
|
162
|
+
): SeamHttpRequest<AcsAccessGroupsUnmanagedGetResponse, 'acs_access_group'> {
|
|
163
|
+
return new SeamHttpRequest(this, {
|
|
164
|
+
path: '/acs/access_groups/unmanaged/get',
|
|
165
|
+
method: 'post',
|
|
166
|
+
body,
|
|
167
|
+
responseKey: 'acs_access_group',
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
list(
|
|
172
|
+
body?: AcsAccessGroupsUnmanagedListParams,
|
|
173
|
+
): SeamHttpRequest<
|
|
174
|
+
AcsAccessGroupsUnmanagedListResponse,
|
|
175
|
+
'acs_access_groups'
|
|
176
|
+
> {
|
|
177
|
+
return new SeamHttpRequest(this, {
|
|
178
|
+
path: '/acs/access_groups/unmanaged/list',
|
|
179
|
+
method: 'post',
|
|
180
|
+
body,
|
|
181
|
+
responseKey: 'acs_access_groups',
|
|
182
|
+
})
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export type AcsAccessGroupsUnmanagedGetParams =
|
|
187
|
+
RouteRequestBody<'/acs/access_groups/unmanaged/get'>
|
|
188
|
+
|
|
189
|
+
export type AcsAccessGroupsUnmanagedGetResponse = SetNonNullable<
|
|
190
|
+
Required<RouteResponse<'/acs/access_groups/unmanaged/get'>>
|
|
191
|
+
>
|
|
192
|
+
|
|
193
|
+
export type AcsAccessGroupsUnmanagedGetOptions = never
|
|
194
|
+
|
|
195
|
+
export type AcsAccessGroupsUnmanagedListParams =
|
|
196
|
+
RouteRequestBody<'/acs/access_groups/unmanaged/list'>
|
|
197
|
+
|
|
198
|
+
export type AcsAccessGroupsUnmanagedListResponse = SetNonNullable<
|
|
199
|
+
Required<RouteResponse<'/acs/access_groups/unmanaged/list'>>
|
|
200
|
+
>
|
|
201
|
+
|
|
202
|
+
export type AcsAccessGroupsUnmanagedListOptions = never
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
34
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
35
|
|
|
36
|
+
import { SeamHttpAcsAccessGroupsUnmanaged } from './acs-access-groups-unmanaged.js'
|
|
36
37
|
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
37
38
|
|
|
38
39
|
export class SeamHttpAcsAccessGroups {
|
|
@@ -154,6 +155,13 @@ export class SeamHttpAcsAccessGroups {
|
|
|
154
155
|
await clientSessions.get()
|
|
155
156
|
}
|
|
156
157
|
|
|
158
|
+
get unmanaged(): SeamHttpAcsAccessGroupsUnmanaged {
|
|
159
|
+
return SeamHttpAcsAccessGroupsUnmanaged.fromClient(
|
|
160
|
+
this.client,
|
|
161
|
+
this.defaults,
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
157
165
|
addUser(body?: AcsAccessGroupsAddUserBody): SeamHttpRequest<void, undefined> {
|
|
158
166
|
return new SeamHttpRequest(this, {
|
|
159
167
|
path: '/acs/access_groups/add_user',
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automatically generated by generate-routes.ts.
|
|
3
|
+
* Do not edit this file or add other files to this directory.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
getAuthHeadersForClientSessionToken,
|
|
10
|
+
warnOnInsecureuserIdentifierKey,
|
|
11
|
+
} from 'lib/seam/connect/auth.js'
|
|
12
|
+
import { type Client, createClient } from 'lib/seam/connect/client.js'
|
|
13
|
+
import {
|
|
14
|
+
isSeamHttpOptionsWithApiKey,
|
|
15
|
+
isSeamHttpOptionsWithClient,
|
|
16
|
+
isSeamHttpOptionsWithClientSessionToken,
|
|
17
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
18
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
19
|
+
type SeamHttpFromPublishableKeyOptions,
|
|
20
|
+
SeamHttpInvalidOptionsError,
|
|
21
|
+
type SeamHttpOptions,
|
|
22
|
+
type SeamHttpOptionsWithApiKey,
|
|
23
|
+
type SeamHttpOptionsWithClient,
|
|
24
|
+
type SeamHttpOptionsWithClientSessionToken,
|
|
25
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
26
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
27
|
+
type SeamHttpRequestOptions,
|
|
28
|
+
} from 'lib/seam/connect/options.js'
|
|
29
|
+
import {
|
|
30
|
+
limitToSeamHttpRequestOptions,
|
|
31
|
+
parseOptions,
|
|
32
|
+
} from 'lib/seam/connect/parse-options.js'
|
|
33
|
+
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
|
+
import type { SetNonNullable } from 'lib/types.js'
|
|
35
|
+
|
|
36
|
+
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
37
|
+
|
|
38
|
+
export class SeamHttpAcsCredentialsUnmanaged {
|
|
39
|
+
client: Client
|
|
40
|
+
readonly defaults: Required<SeamHttpRequestOptions>
|
|
41
|
+
|
|
42
|
+
constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
|
|
43
|
+
const options = parseOptions(apiKeyOrOptions)
|
|
44
|
+
this.client = 'client' in options ? options.client : createClient(options)
|
|
45
|
+
this.defaults = limitToSeamHttpRequestOptions(options)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static fromClient(
|
|
49
|
+
client: SeamHttpOptionsWithClient['client'],
|
|
50
|
+
options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
|
|
51
|
+
): SeamHttpAcsCredentialsUnmanaged {
|
|
52
|
+
const constructorOptions = { ...options, client }
|
|
53
|
+
if (!isSeamHttpOptionsWithClient(constructorOptions)) {
|
|
54
|
+
throw new SeamHttpInvalidOptionsError('Missing client')
|
|
55
|
+
}
|
|
56
|
+
return new SeamHttpAcsCredentialsUnmanaged(constructorOptions)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static fromApiKey(
|
|
60
|
+
apiKey: SeamHttpOptionsWithApiKey['apiKey'],
|
|
61
|
+
options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
|
|
62
|
+
): SeamHttpAcsCredentialsUnmanaged {
|
|
63
|
+
const constructorOptions = { ...options, apiKey }
|
|
64
|
+
if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
|
|
65
|
+
throw new SeamHttpInvalidOptionsError('Missing apiKey')
|
|
66
|
+
}
|
|
67
|
+
return new SeamHttpAcsCredentialsUnmanaged(constructorOptions)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static fromClientSessionToken(
|
|
71
|
+
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
72
|
+
options: Omit<
|
|
73
|
+
SeamHttpOptionsWithClientSessionToken,
|
|
74
|
+
'clientSessionToken'
|
|
75
|
+
> = {},
|
|
76
|
+
): SeamHttpAcsCredentialsUnmanaged {
|
|
77
|
+
const constructorOptions = { ...options, clientSessionToken }
|
|
78
|
+
if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
|
|
79
|
+
throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
|
|
80
|
+
}
|
|
81
|
+
return new SeamHttpAcsCredentialsUnmanaged(constructorOptions)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static async fromPublishableKey(
|
|
85
|
+
publishableKey: string,
|
|
86
|
+
userIdentifierKey: string,
|
|
87
|
+
options: SeamHttpFromPublishableKeyOptions = {},
|
|
88
|
+
): Promise<SeamHttpAcsCredentialsUnmanaged> {
|
|
89
|
+
warnOnInsecureuserIdentifierKey(userIdentifierKey)
|
|
90
|
+
const clientOptions = parseOptions({ ...options, publishableKey })
|
|
91
|
+
if (isSeamHttpOptionsWithClient(clientOptions)) {
|
|
92
|
+
throw new SeamHttpInvalidOptionsError(
|
|
93
|
+
'The client option cannot be used with SeamHttp.fromPublishableKey',
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
const client = createClient(clientOptions)
|
|
97
|
+
const clientSessions = SeamHttpClientSessions.fromClient(client)
|
|
98
|
+
const { token } = await clientSessions.getOrCreate({
|
|
99
|
+
user_identifier_key: userIdentifierKey,
|
|
100
|
+
})
|
|
101
|
+
return SeamHttpAcsCredentialsUnmanaged.fromClientSessionToken(
|
|
102
|
+
token,
|
|
103
|
+
options,
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static fromConsoleSessionToken(
|
|
108
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
109
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
110
|
+
options: Omit<
|
|
111
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
112
|
+
'consoleSessionToken' | 'workspaceId'
|
|
113
|
+
> = {},
|
|
114
|
+
): SeamHttpAcsCredentialsUnmanaged {
|
|
115
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
116
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
117
|
+
throw new SeamHttpInvalidOptionsError(
|
|
118
|
+
'Missing consoleSessionToken or workspaceId',
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
return new SeamHttpAcsCredentialsUnmanaged(constructorOptions)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static fromPersonalAccessToken(
|
|
125
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
126
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
127
|
+
options: Omit<
|
|
128
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
129
|
+
'personalAccessToken' | 'workspaceId'
|
|
130
|
+
> = {},
|
|
131
|
+
): SeamHttpAcsCredentialsUnmanaged {
|
|
132
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
133
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
134
|
+
throw new SeamHttpInvalidOptionsError(
|
|
135
|
+
'Missing personalAccessToken or workspaceId',
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
return new SeamHttpAcsCredentialsUnmanaged(constructorOptions)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async updateClientSessionToken(
|
|
142
|
+
clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
|
|
143
|
+
): Promise<void> {
|
|
144
|
+
const { headers } = this.client.defaults
|
|
145
|
+
const authHeaders = getAuthHeadersForClientSessionToken({
|
|
146
|
+
clientSessionToken,
|
|
147
|
+
})
|
|
148
|
+
for (const key of Object.keys(authHeaders)) {
|
|
149
|
+
if (headers[key] == null) {
|
|
150
|
+
throw new Error(
|
|
151
|
+
'Cannot update a clientSessionToken on a client created without a clientSessionToken',
|
|
152
|
+
)
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
this.client.defaults.headers = { ...headers, ...authHeaders }
|
|
156
|
+
const clientSessions = SeamHttpClientSessions.fromClient(this.client)
|
|
157
|
+
await clientSessions.get()
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
get(
|
|
161
|
+
body?: AcsCredentialsUnmanagedGetParams,
|
|
162
|
+
): SeamHttpRequest<AcsCredentialsUnmanagedGetResponse, 'acs_credential'> {
|
|
163
|
+
return new SeamHttpRequest(this, {
|
|
164
|
+
path: '/acs/credentials/unmanaged/get',
|
|
165
|
+
method: 'post',
|
|
166
|
+
body,
|
|
167
|
+
responseKey: 'acs_credential',
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
list(
|
|
172
|
+
body?: AcsCredentialsUnmanagedListParams,
|
|
173
|
+
): SeamHttpRequest<AcsCredentialsUnmanagedListResponse, 'acs_credentials'> {
|
|
174
|
+
return new SeamHttpRequest(this, {
|
|
175
|
+
path: '/acs/credentials/unmanaged/list',
|
|
176
|
+
method: 'post',
|
|
177
|
+
body,
|
|
178
|
+
responseKey: 'acs_credentials',
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export type AcsCredentialsUnmanagedGetParams =
|
|
184
|
+
RouteRequestBody<'/acs/credentials/unmanaged/get'>
|
|
185
|
+
|
|
186
|
+
export type AcsCredentialsUnmanagedGetResponse = SetNonNullable<
|
|
187
|
+
Required<RouteResponse<'/acs/credentials/unmanaged/get'>>
|
|
188
|
+
>
|
|
189
|
+
|
|
190
|
+
export type AcsCredentialsUnmanagedGetOptions = never
|
|
191
|
+
|
|
192
|
+
export type AcsCredentialsUnmanagedListParams =
|
|
193
|
+
RouteRequestBody<'/acs/credentials/unmanaged/list'>
|
|
194
|
+
|
|
195
|
+
export type AcsCredentialsUnmanagedListResponse = SetNonNullable<
|
|
196
|
+
Required<RouteResponse<'/acs/credentials/unmanaged/list'>>
|
|
197
|
+
>
|
|
198
|
+
|
|
199
|
+
export type AcsCredentialsUnmanagedListOptions = never
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
|
|
34
34
|
import type { SetNonNullable } from 'lib/types.js'
|
|
35
35
|
|
|
36
|
+
import { SeamHttpAcsCredentialsUnmanaged } from './acs-credentials-unmanaged.js'
|
|
36
37
|
import { SeamHttpClientSessions } from './client-sessions.js'
|
|
37
38
|
|
|
38
39
|
export class SeamHttpAcsCredentials {
|
|
@@ -154,6 +155,13 @@ export class SeamHttpAcsCredentials {
|
|
|
154
155
|
await clientSessions.get()
|
|
155
156
|
}
|
|
156
157
|
|
|
158
|
+
get unmanaged(): SeamHttpAcsCredentialsUnmanaged {
|
|
159
|
+
return SeamHttpAcsCredentialsUnmanaged.fromClient(
|
|
160
|
+
this.client,
|
|
161
|
+
this.defaults,
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
157
165
|
assign(body?: AcsCredentialsAssignBody): SeamHttpRequest<void, undefined> {
|
|
158
166
|
return new SeamHttpRequest(this, {
|
|
159
167
|
path: '/acs/credentials/assign',
|
|
@@ -3,9 +3,11 @@ export * from './access-codes-simulate.js'
|
|
|
3
3
|
export * from './access-codes-unmanaged.js'
|
|
4
4
|
export * from './acs.js'
|
|
5
5
|
export * from './acs-access-groups.js'
|
|
6
|
+
export * from './acs-access-groups-unmanaged.js'
|
|
6
7
|
export * from './acs-credential-pools.js'
|
|
7
8
|
export * from './acs-credential-provisioning-automations.js'
|
|
8
9
|
export * from './acs-credentials.js'
|
|
10
|
+
export * from './acs-credentials-unmanaged.js'
|
|
9
11
|
export * from './acs-entrances.js'
|
|
10
12
|
export * from './acs-systems.js'
|
|
11
13
|
export * from './acs-users.js'
|
|
@@ -26,7 +28,7 @@ export * from './noise-sensors-simulate.js'
|
|
|
26
28
|
export * from './phones.js'
|
|
27
29
|
export * from './phones-simulate.js'
|
|
28
30
|
export * from './thermostats.js'
|
|
29
|
-
export * from './thermostats-
|
|
31
|
+
export * from './thermostats-schedules.js'
|
|
30
32
|
export * from './user-identities.js'
|
|
31
33
|
export * from './user-identities-enrollment-automations.js'
|
|
32
34
|
export * from './webhooks.js'
|