@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
|
@@ -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 SeamHttpWorkspaces {
|
|
|
86
90
|
return SeamHttpWorkspaces.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
|
+
): SeamHttpWorkspaces {
|
|
101
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
102
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
103
|
+
throw new SeamHttpInvalidOptionsError(
|
|
104
|
+
'Missing consoleSessionToken or workspaceId',
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
return new SeamHttpWorkspaces(constructorOptions)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static fromPersonalAccessToken(
|
|
111
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
112
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
113
|
+
options: Omit<
|
|
114
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
115
|
+
'personalAccessToken' | 'workspaceId'
|
|
116
|
+
> = {},
|
|
117
|
+
): SeamHttpWorkspaces {
|
|
118
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
119
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
120
|
+
throw new SeamHttpInvalidOptionsError(
|
|
121
|
+
'Missing personalAccessToken or workspaceId',
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
return new SeamHttpWorkspaces(constructorOptions)
|
|
125
|
+
}
|
|
126
|
+
|
|
89
127
|
async get(
|
|
90
128
|
params?: WorkspacesGetParams,
|
|
91
129
|
): Promise<WorkspacesGetResponse['workspace']> {
|
|
@@ -4,12 +4,16 @@ import {
|
|
|
4
4
|
isSeamHttpOptionsWithApiKey,
|
|
5
5
|
isSeamHttpOptionsWithClient,
|
|
6
6
|
isSeamHttpOptionsWithClientSessionToken,
|
|
7
|
+
isSeamHttpOptionsWithConsoleSessionToken,
|
|
8
|
+
isSeamHttpOptionsWithPersonalAccessToken,
|
|
7
9
|
type SeamHttpFromPublishableKeyOptions,
|
|
8
10
|
SeamHttpInvalidOptionsError,
|
|
9
11
|
type SeamHttpOptions,
|
|
10
12
|
type SeamHttpOptionsWithApiKey,
|
|
11
13
|
type SeamHttpOptionsWithClient,
|
|
12
14
|
type SeamHttpOptionsWithClientSessionToken,
|
|
15
|
+
type SeamHttpOptionsWithConsoleSessionToken,
|
|
16
|
+
type SeamHttpOptionsWithPersonalAccessToken,
|
|
13
17
|
} from './options.js'
|
|
14
18
|
import { parseOptions } from './parse-options.js'
|
|
15
19
|
import {
|
|
@@ -24,6 +28,7 @@ import {
|
|
|
24
28
|
SeamHttpLocks,
|
|
25
29
|
SeamHttpNoiseSensors,
|
|
26
30
|
SeamHttpThermostats,
|
|
31
|
+
SeamHttpUserIdentities,
|
|
27
32
|
SeamHttpWebhooks,
|
|
28
33
|
SeamHttpWorkspaces,
|
|
29
34
|
} from './routes/index.js'
|
|
@@ -87,6 +92,40 @@ export class SeamHttp {
|
|
|
87
92
|
return SeamHttp.fromClientSessionToken(token, options)
|
|
88
93
|
}
|
|
89
94
|
|
|
95
|
+
static fromConsoleSessionToken(
|
|
96
|
+
consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
|
|
97
|
+
workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
|
|
98
|
+
options: Omit<
|
|
99
|
+
SeamHttpOptionsWithConsoleSessionToken,
|
|
100
|
+
'consoleSessionToken' | 'workspaceId'
|
|
101
|
+
> = {},
|
|
102
|
+
): SeamHttp {
|
|
103
|
+
const constructorOptions = { ...options, consoleSessionToken, workspaceId }
|
|
104
|
+
if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
|
|
105
|
+
throw new SeamHttpInvalidOptionsError(
|
|
106
|
+
'Missing consoleSessionToken or workspaceId',
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
return new SeamHttp(constructorOptions)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static fromPersonalAccessToken(
|
|
113
|
+
personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
|
|
114
|
+
workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
|
|
115
|
+
options: Omit<
|
|
116
|
+
SeamHttpOptionsWithPersonalAccessToken,
|
|
117
|
+
'personalAccessToken' | 'workspaceId'
|
|
118
|
+
> = {},
|
|
119
|
+
): SeamHttp {
|
|
120
|
+
const constructorOptions = { ...options, personalAccessToken, workspaceId }
|
|
121
|
+
if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
|
|
122
|
+
throw new SeamHttpInvalidOptionsError(
|
|
123
|
+
'Missing personalAccessToken or workspaceId',
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
return new SeamHttp(constructorOptions)
|
|
127
|
+
}
|
|
128
|
+
|
|
90
129
|
get accessCodes(): SeamHttpAccessCodes {
|
|
91
130
|
return SeamHttpAccessCodes.fromClient(this.client)
|
|
92
131
|
}
|
|
@@ -131,6 +170,10 @@ export class SeamHttp {
|
|
|
131
170
|
return SeamHttpThermostats.fromClient(this.client)
|
|
132
171
|
}
|
|
133
172
|
|
|
173
|
+
get userIdentities(): SeamHttpUserIdentities {
|
|
174
|
+
return SeamHttpUserIdentities.fromClient(this.client)
|
|
175
|
+
}
|
|
176
|
+
|
|
134
177
|
get webhooks(): SeamHttpWebhooks {
|
|
135
178
|
return SeamHttpWebhooks.fromClient(this.client)
|
|
136
179
|
}
|
package/src/lib/version.ts
CHANGED