@seamapi/http 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -1
- package/dist/connect.cjs +691 -26
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +101 -11
- package/lib/seam/connect/auth.js +55 -4
- package/lib/seam/connect/auth.js.map +1 -1
- package/lib/seam/connect/options.d.ts +11 -1
- package/lib/seam/connect/options.js +51 -1
- package/lib/seam/connect/options.js.map +1 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +3 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.js +15 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/access-codes.d.ts +3 -1
- package/lib/seam/connect/routes/access-codes.js +15 -1
- package/lib/seam/connect/routes/access-codes.js.map +1 -1
- package/lib/seam/connect/routes/acs-access-groups.d.ts +3 -10
- package/lib/seam/connect/routes/acs-access-groups.js +15 -23
- package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
- package/lib/seam/connect/routes/acs-credentials.d.ts +9 -1
- package/lib/seam/connect/routes/acs-credentials.js +29 -1
- package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
- package/lib/seam/connect/routes/acs-systems.d.ts +3 -1
- package/lib/seam/connect/routes/acs-systems.js +15 -1
- package/lib/seam/connect/routes/acs-systems.js.map +1 -1
- package/lib/seam/connect/routes/acs-users.d.ts +3 -1
- package/lib/seam/connect/routes/acs-users.js +15 -1
- package/lib/seam/connect/routes/acs-users.js.map +1 -1
- package/lib/seam/connect/routes/acs.d.ts +3 -1
- package/lib/seam/connect/routes/acs.js +15 -1
- package/lib/seam/connect/routes/acs.js.map +1 -1
- package/lib/seam/connect/routes/action-attempts.d.ts +3 -1
- package/lib/seam/connect/routes/action-attempts.js +15 -1
- package/lib/seam/connect/routes/action-attempts.js.map +1 -1
- package/lib/seam/connect/routes/client-sessions.d.ts +6 -1
- package/lib/seam/connect/routes/client-sessions.js +22 -1
- package/lib/seam/connect/routes/client-sessions.js.map +1 -1
- package/lib/seam/connect/routes/connect-webviews.d.ts +3 -1
- package/lib/seam/connect/routes/connect-webviews.js +15 -1
- package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
- package/lib/seam/connect/routes/connected-accounts.d.ts +3 -1
- package/lib/seam/connect/routes/connected-accounts.js +15 -1
- package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
- package/lib/seam/connect/routes/devices-unmanaged.d.ts +3 -1
- package/lib/seam/connect/routes/devices-unmanaged.js +15 -1
- package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/devices.d.ts +3 -1
- package/lib/seam/connect/routes/devices.js +15 -1
- package/lib/seam/connect/routes/devices.js.map +1 -1
- package/lib/seam/connect/routes/events.d.ts +3 -1
- package/lib/seam/connect/routes/events.js +15 -1
- package/lib/seam/connect/routes/events.js.map +1 -1
- package/lib/seam/connect/routes/index.d.ts +1 -0
- package/lib/seam/connect/routes/index.js +1 -0
- package/lib/seam/connect/routes/index.js.map +1 -1
- package/lib/seam/connect/routes/locks.d.ts +3 -1
- package/lib/seam/connect/routes/locks.js +15 -1
- package/lib/seam/connect/routes/locks.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +3 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +15 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors.d.ts +3 -1
- package/lib/seam/connect/routes/noise-sensors.js +15 -1
- package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +3 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +15 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -1
- package/lib/seam/connect/routes/thermostats.d.ts +3 -1
- package/lib/seam/connect/routes/thermostats.js +15 -1
- package/lib/seam/connect/routes/thermostats.js.map +1 -1
- package/lib/seam/connect/routes/user-identities.d.ts +38 -0
- package/lib/seam/connect/routes/user-identities.js +121 -0
- package/lib/seam/connect/routes/user-identities.js.map +1 -0
- package/lib/seam/connect/routes/webhooks.d.ts +3 -1
- package/lib/seam/connect/routes/webhooks.js +15 -1
- package/lib/seam/connect/routes/webhooks.js.map +1 -1
- package/lib/seam/connect/routes/workspaces.d.ts +3 -1
- package/lib/seam/connect/routes/workspaces.js +15 -1
- package/lib/seam/connect/routes/workspaces.js.map +1 -1
- package/lib/seam/connect/seam-http.d.ts +5 -2
- package/lib/seam/connect/seam-http.js +19 -2
- package/lib/seam/connect/seam-http.js.map +1 -1
- 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 +95 -3
- package/src/lib/seam/connect/options.ts +105 -1
- package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +38 -0
- package/src/lib/seam/connect/routes/access-codes.ts +38 -0
- package/src/lib/seam/connect/routes/acs-access-groups.ts +37 -47
- package/src/lib/seam/connect/routes/acs-credentials.ts +68 -0
- package/src/lib/seam/connect/routes/acs-systems.ts +38 -0
- package/src/lib/seam/connect/routes/acs-users.ts +38 -0
- package/src/lib/seam/connect/routes/acs.ts +38 -0
- package/src/lib/seam/connect/routes/action-attempts.ts +38 -0
- package/src/lib/seam/connect/routes/client-sessions.ts +53 -0
- package/src/lib/seam/connect/routes/connect-webviews.ts +38 -0
- package/src/lib/seam/connect/routes/connected-accounts.ts +38 -0
- package/src/lib/seam/connect/routes/devices-unmanaged.ts +38 -0
- package/src/lib/seam/connect/routes/devices.ts +38 -0
- package/src/lib/seam/connect/routes/events.ts +38 -0
- package/src/lib/seam/connect/routes/index.ts +1 -0
- package/src/lib/seam/connect/routes/locks.ts +38 -0
- package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +38 -0
- package/src/lib/seam/connect/routes/noise-sensors.ts +38 -0
- package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +38 -0
- package/src/lib/seam/connect/routes/thermostats.ts +38 -0
- package/src/lib/seam/connect/routes/user-identities.ts +261 -0
- package/src/lib/seam/connect/routes/webhooks.ts +38 -0
- package/src/lib/seam/connect/routes/workspaces.ts +38 -0
- package/src/lib/seam/connect/seam-http.ts +43 -0
- package/src/lib/version.ts +1 -1
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -82,6 +86,48 @@ export class SeamHttpAcsCredentials {
|
|
|
82
86
|
return SeamHttpAcsCredentials.fromClientSessionToken(token, options)
|
|
83
87
|
}
|
|
84
88
|
|
|
89
|
+
static fromConsoleSessionToken(
|
|
90
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
91
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
92
|
+
options: Omit<
|
|
93
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
94
|
+
'consoleSessionToken' | 'workspaceId'
|
|
95
|
+
> = {},
|
|
96
|
+
): SeamHttpAcsCredentials {
|
|
97
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
98
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
99
|
+
throw new SeamHttpInvalidOptionsError(
|
|
100
|
+
'Missing consoleSessionToken or workspaceId',
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
return new SeamHttpAcsCredentials(constructorOptions)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static fromPersonalAccessToken(
|
|
107
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
108
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
109
|
+
options: Omit<
|
|
110
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
111
|
+
'personalAccessToken' | 'workspaceId'
|
|
112
|
+
> = {},
|
|
113
|
+
): SeamHttpAcsCredentials {
|
|
114
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
115
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
116
|
+
throw new SeamHttpInvalidOptionsError(
|
|
117
|
+
'Missing personalAccessToken or workspaceId',
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return new SeamHttpAcsCredentials(constructorOptions)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
async assign(body?: AcsCredentialsAssignBody): Promise<void> {
|
|
124
|
+
await this.client.request<AcsCredentialsAssignResponse>({
|
|
125
|
+
url: '/acs/credentials/assign',
|
|
126
|
+
method: 'post',
|
|
127
|
+
data: body,
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
|
|
85
131
|
async create(
|
|
86
132
|
body?: AcsCredentialsCreateBody,
|
|
87
133
|
): Promise<AcsCredentialsCreateResponse['acs_credential']> {
|
|
@@ -122,8 +168,23 @@ export class SeamHttpAcsCredentials {
|
|
|
122
168
|
})
|
|
123
169
|
return data.acs_credentials
|
|
124
170
|
}
|
|
171
|
+
|
|
172
|
+
async unassign(body?: AcsCredentialsUnassignBody): Promise<void> {
|
|
173
|
+
await this.client.request<AcsCredentialsUnassignResponse>({
|
|
174
|
+
url: '/acs/credentials/unassign',
|
|
175
|
+
method: 'post',
|
|
176
|
+
data: body,
|
|
177
|
+
})
|
|
178
|
+
}
|
|
125
179
|
}
|
|
126
180
|
|
|
181
|
+
export type AcsCredentialsAssignBody =
|
|
182
|
+
RouteRequestBody<'/acs/credentials/assign'>
|
|
183
|
+
|
|
184
|
+
export type AcsCredentialsAssignResponse = SetNonNullable<
|
|
185
|
+
Required<RouteResponse<'/acs/credentials/assign'>>
|
|
186
|
+
>
|
|
187
|
+
|
|
127
188
|
export type AcsCredentialsCreateBody =
|
|
128
189
|
RouteRequestBody<'/acs/credentials/create'>
|
|
129
190
|
|
|
@@ -149,3 +210,10 @@ export type AcsCredentialsListParams = RouteRequestBody<'/acs/credentials/list'>
|
|
|
149
210
|
export type AcsCredentialsListResponse = SetNonNullable<
|
|
150
211
|
Required<RouteResponse<'/acs/credentials/list'>>
|
|
151
212
|
>
|
|
213
|
+
|
|
214
|
+
export type AcsCredentialsUnassignBody =
|
|
215
|
+
RouteRequestBody<'/acs/credentials/unassign'>
|
|
216
|
+
|
|
217
|
+
export type AcsCredentialsUnassignResponse = SetNonNullable<
|
|
218
|
+
Required<RouteResponse<'/acs/credentials/unassign'>>
|
|
219
|
+
>
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -82,6 +86,40 @@ export class SeamHttpAcsSystems {
|
|
|
82
86
|
return SeamHttpAcsSystems.fromClientSessionToken(token, options)
|
|
83
87
|
}
|
|
84
88
|
|
|
89
|
+
static fromConsoleSessionToken(
|
|
90
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
91
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
92
|
+
options: Omit<
|
|
93
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
94
|
+
'consoleSessionToken' | 'workspaceId'
|
|
95
|
+
> = {},
|
|
96
|
+
): SeamHttpAcsSystems {
|
|
97
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
98
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
99
|
+
throw new SeamHttpInvalidOptionsError(
|
|
100
|
+
'Missing consoleSessionToken or workspaceId',
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
return new SeamHttpAcsSystems(constructorOptions)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static fromPersonalAccessToken(
|
|
107
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
108
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
109
|
+
options: Omit<
|
|
110
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
111
|
+
'personalAccessToken' | 'workspaceId'
|
|
112
|
+
> = {},
|
|
113
|
+
): SeamHttpAcsSystems {
|
|
114
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
115
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
116
|
+
throw new SeamHttpInvalidOptionsError(
|
|
117
|
+
'Missing personalAccessToken or workspaceId',
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return new SeamHttpAcsSystems(constructorOptions)
|
|
121
|
+
}
|
|
122
|
+
|
|
85
123
|
async get(
|
|
86
124
|
body?: AcsSystemsGetParams,
|
|
87
125
|
): Promise<AcsSystemsGetResponse['acs_system']> {
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -82,6 +86,40 @@ export class SeamHttpAcsUsers {
|
|
|
82
86
|
return SeamHttpAcsUsers.fromClientSessionToken(token, options)
|
|
83
87
|
}
|
|
84
88
|
|
|
89
|
+
static fromConsoleSessionToken(
|
|
90
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
91
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
92
|
+
options: Omit<
|
|
93
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
94
|
+
'consoleSessionToken' | 'workspaceId'
|
|
95
|
+
> = {},
|
|
96
|
+
): SeamHttpAcsUsers {
|
|
97
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
98
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
99
|
+
throw new SeamHttpInvalidOptionsError(
|
|
100
|
+
'Missing consoleSessionToken or workspaceId',
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
return new SeamHttpAcsUsers(constructorOptions)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static fromPersonalAccessToken(
|
|
107
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
108
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
109
|
+
options: Omit<
|
|
110
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
111
|
+
'personalAccessToken' | 'workspaceId'
|
|
112
|
+
> = {},
|
|
113
|
+
): SeamHttpAcsUsers {
|
|
114
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
115
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
116
|
+
throw new SeamHttpInvalidOptionsError(
|
|
117
|
+
'Missing personalAccessToken or workspaceId',
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return new SeamHttpAcsUsers(constructorOptions)
|
|
121
|
+
}
|
|
122
|
+
|
|
85
123
|
async addToAccessGroup(body?: AcsUsersAddToAccessGroupBody): Promise<void> {
|
|
86
124
|
await this.client.request<AcsUsersAddToAccessGroupResponse>({
|
|
87
125
|
url: '/acs/users/add_to_access_group',
|
|
@@ -9,12 +9,16 @@ import {
|
|
|
9
9
|
isSeamHttpOptionsWithApiKey,
|
|
10
10
|
isSeamHttpOptionsWithClient,
|
|
11
11
|
isSeamHttpOptionsWithClientSessionToken,
|
|
12
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
13
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
12
14
|
type SeamHttpFromPublishableKeyOptions,
|
|
13
15
|
SeamHttpInvalidOptionsError,
|
|
14
16
|
type SeamHttpOptions,
|
|
15
17
|
type SeamHttpOptionsWithApiKey,
|
|
16
18
|
type SeamHttpOptionsWithClient,
|
|
17
19
|
type SeamHttpOptionsWithClientSessionToken,
|
|
20
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
21
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
18
22
|
} from 'lib/seam/connect/options.js'
|
|
19
23
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
20
24
|
|
|
@@ -83,6 +87,40 @@ export class SeamHttpAcs {
|
|
|
83
87
|
return SeamHttpAcs.fromClientSessionToken(token, options)
|
|
84
88
|
}
|
|
85
89
|
|
|
90
|
+
static fromConsoleSessionToken(
|
|
91
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
92
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
93
|
+
options: Omit<
|
|
94
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
95
|
+
'consoleSessionToken' | 'workspaceId'
|
|
96
|
+
> = {},
|
|
97
|
+
): SeamHttpAcs {
|
|
98
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
99
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
100
|
+
throw new SeamHttpInvalidOptionsError(
|
|
101
|
+
'Missing consoleSessionToken or workspaceId',
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
return new SeamHttpAcs(constructorOptions)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static fromPersonalAccessToken(
|
|
108
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
109
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
110
|
+
options: Omit<
|
|
111
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
112
|
+
'personalAccessToken' | 'workspaceId'
|
|
113
|
+
> = {},
|
|
114
|
+
): SeamHttpAcs {
|
|
115
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
116
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
117
|
+
throw new SeamHttpInvalidOptionsError(
|
|
118
|
+
'Missing personalAccessToken or workspaceId',
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
return new SeamHttpAcs(constructorOptions)
|
|
122
|
+
}
|
|
123
|
+
|
|
86
124
|
get accessGroups(): SeamHttpAcsAccessGroups {
|
|
87
125
|
return SeamHttpAcsAccessGroups.fromClient(this.client)
|
|
88
126
|
}
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -82,6 +86,40 @@ export class SeamHttpActionAttempts {
|
|
|
82
86
|
return SeamHttpActionAttempts.fromClientSessionToken(token, options)
|
|
83
87
|
}
|
|
84
88
|
|
|
89
|
+
static fromConsoleSessionToken(
|
|
90
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
91
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
92
|
+
options: Omit<
|
|
93
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
94
|
+
'consoleSessionToken' | 'workspaceId'
|
|
95
|
+
> = {},
|
|
96
|
+
): SeamHttpActionAttempts {
|
|
97
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
98
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
99
|
+
throw new SeamHttpInvalidOptionsError(
|
|
100
|
+
'Missing consoleSessionToken or workspaceId',
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
return new SeamHttpActionAttempts(constructorOptions)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static fromPersonalAccessToken(
|
|
107
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
108
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
109
|
+
options: Omit<
|
|
110
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
111
|
+
'personalAccessToken' | 'workspaceId'
|
|
112
|
+
> = {},
|
|
113
|
+
): SeamHttpActionAttempts {
|
|
114
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
115
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
116
|
+
throw new SeamHttpInvalidOptionsError(
|
|
117
|
+
'Missing personalAccessToken or workspaceId',
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return new SeamHttpActionAttempts(constructorOptions)
|
|
121
|
+
}
|
|
122
|
+
|
|
85
123
|
async get(
|
|
86
124
|
body?: ActionAttemptsGetParams,
|
|
87
125
|
): Promise<ActionAttemptsGetResponse['action_attempt']> {
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -80,6 +84,40 @@ export class SeamHttpClientSessions {
|
|
|
80
84
|
return SeamHttpClientSessions.fromClientSessionToken(token, options)
|
|
81
85
|
}
|
|
82
86
|
|
|
87
|
+
static fromConsoleSessionToken(
|
|
88
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
89
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
90
|
+
options: Omit<
|
|
91
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
92
|
+
'consoleSessionToken' | 'workspaceId'
|
|
93
|
+
> = {},
|
|
94
|
+
): SeamHttpClientSessions {
|
|
95
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
96
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
97
|
+
throw new SeamHttpInvalidOptionsError(
|
|
98
|
+
'Missing consoleSessionToken or workspaceId',
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
return new SeamHttpClientSessions(constructorOptions)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
static fromPersonalAccessToken(
|
|
105
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
106
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
107
|
+
options: Omit<
|
|
108
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
109
|
+
'personalAccessToken' | 'workspaceId'
|
|
110
|
+
> = {},
|
|
111
|
+
): SeamHttpClientSessions {
|
|
112
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
113
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
114
|
+
throw new SeamHttpInvalidOptionsError(
|
|
115
|
+
'Missing personalAccessToken or workspaceId',
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
return new SeamHttpClientSessions(constructorOptions)
|
|
119
|
+
}
|
|
120
|
+
|
|
83
121
|
async create(
|
|
84
122
|
body?: ClientSessionsCreateBody,
|
|
85
123
|
): Promise<ClientSessionsCreateResponse['client_session']> {
|
|
@@ -144,6 +182,14 @@ export class SeamHttpClientSessions {
|
|
|
144
182
|
})
|
|
145
183
|
return data.client_sessions
|
|
146
184
|
}
|
|
185
|
+
|
|
186
|
+
async revoke(body?: ClientSessionsRevokeBody): Promise<void> {
|
|
187
|
+
await this.client.request<ClientSessionsRevokeResponse>({
|
|
188
|
+
url: '/client_sessions/revoke',
|
|
189
|
+
method: 'post',
|
|
190
|
+
data: body,
|
|
191
|
+
})
|
|
192
|
+
}
|
|
147
193
|
}
|
|
148
194
|
|
|
149
195
|
export type ClientSessionsCreateBody =
|
|
@@ -185,3 +231,10 @@ export type ClientSessionsListParams = RouteRequestBody<'/client_sessions/list'>
|
|
|
185
231
|
export type ClientSessionsListResponse = SetNonNullable<
|
|
186
232
|
Required<RouteResponse<'/client_sessions/list'>>
|
|
187
233
|
>
|
|
234
|
+
|
|
235
|
+
export type ClientSessionsRevokeBody =
|
|
236
|
+
RouteRequestBody<'/client_sessions/revoke'>
|
|
237
|
+
|
|
238
|
+
export type ClientSessionsRevokeResponse = SetNonNullable<
|
|
239
|
+
Required<RouteResponse<'/client_sessions/revoke'>>
|
|
240
|
+
>
|
|
@@ -16,12 +16,16 @@ import {
|
|
|
16
16
|
isSeamHttpOptionsWithApiKey,
|
|
17
17
|
isSeamHttpOptionsWithClient,
|
|
18
18
|
isSeamHttpOptionsWithClientSessionToken,
|
|
19
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
20
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
19
21
|
type SeamHttpFromPublishableKeyOptions,
|
|
20
22
|
SeamHttpInvalidOptionsError,
|
|
21
23
|
type SeamHttpOptions,
|
|
22
24
|
type SeamHttpOptionsWithApiKey,
|
|
23
25
|
type SeamHttpOptionsWithClient,
|
|
24
26
|
type SeamHttpOptionsWithClientSessionToken,
|
|
27
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
28
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
25
29
|
} from 'lib/seam/connect/options.js'
|
|
26
30
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
27
31
|
|
|
@@ -86,6 +90,40 @@ export class SeamHttpConnectWebviews {
|
|
|
86
90
|
return SeamHttpConnectWebviews.fromClientSessionToken(token, options)
|
|
87
91
|
}
|
|
88
92
|
|
|
93
|
+
static fromConsoleSessionToken(
|
|
94
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
95
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
96
|
+
options: Omit<
|
|
97
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
98
|
+
'consoleSessionToken' | 'workspaceId'
|
|
99
|
+
> = {},
|
|
100
|
+
): SeamHttpConnectWebviews {
|
|
101
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
102
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
103
|
+
throw new SeamHttpInvalidOptionsError(
|
|
104
|
+
'Missing consoleSessionToken or workspaceId',
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
return new SeamHttpConnectWebviews(constructorOptions)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static fromPersonalAccessToken(
|
|
111
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
112
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
113
|
+
options: Omit<
|
|
114
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
115
|
+
'personalAccessToken' | 'workspaceId'
|
|
116
|
+
> = {},
|
|
117
|
+
): SeamHttpConnectWebviews {
|
|
118
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
119
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
120
|
+
throw new SeamHttpInvalidOptionsError(
|
|
121
|
+
'Missing personalAccessToken or workspaceId',
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
return new SeamHttpConnectWebviews(constructorOptions)
|
|
125
|
+
}
|
|
126
|
+
|
|
89
127
|
async create(
|
|
90
128
|
body?: ConnectWebviewsCreateBody,
|
|
91
129
|
): Promise<ConnectWebviewsCreateResponse['connect_webview']> {
|
|
@@ -16,12 +16,16 @@ import {
|
|
|
16
16
|
isSeamHttpOptionsWithApiKey,
|
|
17
17
|
isSeamHttpOptionsWithClient,
|
|
18
18
|
isSeamHttpOptionsWithClientSessionToken,
|
|
19
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
20
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
19
21
|
type SeamHttpFromPublishableKeyOptions,
|
|
20
22
|
SeamHttpInvalidOptionsError,
|
|
21
23
|
type SeamHttpOptions,
|
|
22
24
|
type SeamHttpOptionsWithApiKey,
|
|
23
25
|
type SeamHttpOptionsWithClient,
|
|
24
26
|
type SeamHttpOptionsWithClientSessionToken,
|
|
27
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
28
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
25
29
|
} from 'lib/seam/connect/options.js'
|
|
26
30
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
27
31
|
|
|
@@ -86,6 +90,40 @@ export class SeamHttpConnectedAccounts {
|
|
|
86
90
|
return SeamHttpConnectedAccounts.fromClientSessionToken(token, options)
|
|
87
91
|
}
|
|
88
92
|
|
|
93
|
+
static fromConsoleSessionToken(
|
|
94
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
95
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
96
|
+
options: Omit<
|
|
97
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
98
|
+
'consoleSessionToken' | 'workspaceId'
|
|
99
|
+
> = {},
|
|
100
|
+
): SeamHttpConnectedAccounts {
|
|
101
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
102
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
103
|
+
throw new SeamHttpInvalidOptionsError(
|
|
104
|
+
'Missing consoleSessionToken or workspaceId',
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
return new SeamHttpConnectedAccounts(constructorOptions)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static fromPersonalAccessToken(
|
|
111
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
112
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
113
|
+
options: Omit<
|
|
114
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
115
|
+
'personalAccessToken' | 'workspaceId'
|
|
116
|
+
> = {},
|
|
117
|
+
): SeamHttpConnectedAccounts {
|
|
118
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
119
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
120
|
+
throw new SeamHttpInvalidOptionsError(
|
|
121
|
+
'Missing personalAccessToken or workspaceId',
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
return new SeamHttpConnectedAccounts(constructorOptions)
|
|
125
|
+
}
|
|
126
|
+
|
|
89
127
|
async delete(body?: ConnectedAccountsDeleteBody): Promise<void> {
|
|
90
128
|
await this.client.request<ConnectedAccountsDeleteResponse>({
|
|
91
129
|
url: '/connected_accounts/delete',
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -82,6 +86,40 @@ export class SeamHttpDevicesUnmanaged {
|
|
|
82
86
|
return SeamHttpDevicesUnmanaged.fromClientSessionToken(token, options)
|
|
83
87
|
}
|
|
84
88
|
|
|
89
|
+
static fromConsoleSessionToken(
|
|
90
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
91
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
92
|
+
options: Omit<
|
|
93
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
94
|
+
'consoleSessionToken' | 'workspaceId'
|
|
95
|
+
> = {},
|
|
96
|
+
): SeamHttpDevicesUnmanaged {
|
|
97
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
98
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
99
|
+
throw new SeamHttpInvalidOptionsError(
|
|
100
|
+
'Missing consoleSessionToken or workspaceId',
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
return new SeamHttpDevicesUnmanaged(constructorOptions)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static fromPersonalAccessToken(
|
|
107
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
108
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
109
|
+
options: Omit<
|
|
110
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
111
|
+
'personalAccessToken' | 'workspaceId'
|
|
112
|
+
> = {},
|
|
113
|
+
): SeamHttpDevicesUnmanaged {
|
|
114
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
115
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
116
|
+
throw new SeamHttpInvalidOptionsError(
|
|
117
|
+
'Missing personalAccessToken or workspaceId',
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return new SeamHttpDevicesUnmanaged(constructorOptions)
|
|
121
|
+
}
|
|
122
|
+
|
|
85
123
|
async get(
|
|
86
124
|
body?: DevicesUnmanagedGetParams,
|
|
87
125
|
): Promise<DevicesUnmanagedGetResponse['device']> {
|
|
@@ -12,12 +12,16 @@ import {
|
|
|
12
12
|
isSeamHttpOptionsWithApiKey,
|
|
13
13
|
isSeamHttpOptionsWithClient,
|
|
14
14
|
isSeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
15
17
|
type SeamHttpFromPublishableKeyOptions,
|
|
16
18
|
SeamHttpInvalidOptionsError,
|
|
17
19
|
type SeamHttpOptions,
|
|
18
20
|
type SeamHttpOptionsWithApiKey,
|
|
19
21
|
type SeamHttpOptionsWithClient,
|
|
20
22
|
type SeamHttpOptionsWithClientSessionToken,
|
|
23
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
24
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
21
25
|
} from 'lib/seam/connect/options.js'
|
|
22
26
|
import { parseOptions } from 'lib/seam/connect/parse-options.js'
|
|
23
27
|
|
|
@@ -83,6 +87,40 @@ export class SeamHttpDevices {
|
|
|
83
87
|
return SeamHttpDevices.fromClientSessionToken(token, options)
|
|
84
88
|
}
|
|
85
89
|
|
|
90
|
+
static fromConsoleSessionToken(
|
|
91
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
92
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
93
|
+
options: Omit<
|
|
94
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
95
|
+
'consoleSessionToken' | 'workspaceId'
|
|
96
|
+
> = {},
|
|
97
|
+
): SeamHttpDevices {
|
|
98
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
99
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
100
|
+
throw new SeamHttpInvalidOptionsError(
|
|
101
|
+
'Missing consoleSessionToken or workspaceId',
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
return new SeamHttpDevices(constructorOptions)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static fromPersonalAccessToken(
|
|
108
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
109
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
110
|
+
options: Omit<
|
|
111
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
112
|
+
'personalAccessToken' | 'workspaceId'
|
|
113
|
+
> = {},
|
|
114
|
+
): SeamHttpDevices {
|
|
115
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
116
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
117
|
+
throw new SeamHttpInvalidOptionsError(
|
|
118
|
+
'Missing personalAccessToken or workspaceId',
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
return new SeamHttpDevices(constructorOptions)
|
|
122
|
+
}
|
|
123
|
+
|
|
86
124
|
get unmanaged(): SeamHttpDevicesUnmanaged {
|
|
87
125
|
return SeamHttpDevicesUnmanaged.fromClient(this.client)
|
|
88
126
|
}
|