@seamapi/http 0.8.1 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/connect.cjs +314 -141
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +89 -75
- package/lib/seam/connect/client.d.ts +0 -1
- package/lib/seam/connect/client.js +0 -2
- package/lib/seam/connect/client.js.map +1 -1
- package/lib/seam/connect/options.d.ts +7 -3
- package/lib/seam/connect/options.js +2 -1
- package/lib/seam/connect/options.js.map +1 -1
- package/lib/seam/connect/parse-options.d.ts +9 -3
- package/lib/seam/connect/parse-options.js +25 -2
- package/lib/seam/connect/parse-options.js.map +1 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +2 -1
- package/lib/seam/connect/routes/access-codes-unmanaged.js +7 -3
- package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/access-codes.d.ts +2 -1
- package/lib/seam/connect/routes/access-codes.js +8 -4
- package/lib/seam/connect/routes/access-codes.js.map +1 -1
- package/lib/seam/connect/routes/acs-access-groups.d.ts +2 -1
- package/lib/seam/connect/routes/acs-access-groups.js +7 -3
- package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
- package/lib/seam/connect/routes/acs-credentials.d.ts +2 -1
- package/lib/seam/connect/routes/acs-credentials.js +7 -3
- package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
- package/lib/seam/connect/routes/acs-systems.d.ts +2 -1
- package/lib/seam/connect/routes/acs-systems.js +7 -3
- package/lib/seam/connect/routes/acs-systems.js.map +1 -1
- package/lib/seam/connect/routes/acs-users.d.ts +2 -1
- package/lib/seam/connect/routes/acs-users.js +7 -3
- package/lib/seam/connect/routes/acs-users.js.map +1 -1
- package/lib/seam/connect/routes/acs.d.ts +2 -1
- package/lib/seam/connect/routes/acs.js +11 -7
- package/lib/seam/connect/routes/acs.js.map +1 -1
- package/lib/seam/connect/routes/action-attempts.d.ts +4 -8
- package/lib/seam/connect/routes/action-attempts.js +15 -7
- package/lib/seam/connect/routes/action-attempts.js.map +1 -1
- package/lib/seam/connect/routes/client-sessions.d.ts +2 -1
- package/lib/seam/connect/routes/client-sessions.js +7 -3
- package/lib/seam/connect/routes/client-sessions.js.map +1 -1
- package/lib/seam/connect/routes/connect-webviews.d.ts +2 -1
- package/lib/seam/connect/routes/connect-webviews.js +7 -3
- package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
- package/lib/seam/connect/routes/connected-accounts.d.ts +2 -1
- package/lib/seam/connect/routes/connected-accounts.js +7 -3
- package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
- package/lib/seam/connect/routes/devices-unmanaged.d.ts +2 -1
- package/lib/seam/connect/routes/devices-unmanaged.js +7 -3
- package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
- package/lib/seam/connect/routes/devices.d.ts +2 -1
- package/lib/seam/connect/routes/devices.js +8 -4
- package/lib/seam/connect/routes/devices.js.map +1 -1
- package/lib/seam/connect/routes/events.d.ts +2 -1
- package/lib/seam/connect/routes/events.js +7 -3
- package/lib/seam/connect/routes/events.js.map +1 -1
- package/lib/seam/connect/routes/locks.d.ts +6 -14
- package/lib/seam/connect/routes/locks.js +22 -10
- package/lib/seam/connect/routes/locks.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +2 -1
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +7 -3
- package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
- package/lib/seam/connect/routes/noise-sensors.d.ts +2 -1
- package/lib/seam/connect/routes/noise-sensors.js +8 -4
- package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +2 -1
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +7 -3
- package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -1
- package/lib/seam/connect/routes/thermostats.d.ts +2 -1
- package/lib/seam/connect/routes/thermostats.js +8 -4
- package/lib/seam/connect/routes/thermostats.js.map +1 -1
- package/lib/seam/connect/routes/user-identities.d.ts +2 -1
- package/lib/seam/connect/routes/user-identities.js +7 -3
- package/lib/seam/connect/routes/user-identities.js.map +1 -1
- package/lib/seam/connect/routes/webhooks.d.ts +2 -1
- package/lib/seam/connect/routes/webhooks.js +7 -3
- package/lib/seam/connect/routes/webhooks.js.map +1 -1
- package/lib/seam/connect/routes/workspaces.d.ts +2 -1
- package/lib/seam/connect/routes/workspaces.js +7 -3
- package/lib/seam/connect/routes/workspaces.js.map +1 -1
- package/lib/seam/connect/seam-http-multi-workspace.d.ts +2 -1
- package/lib/seam/connect/seam-http-multi-workspace.js +5 -4
- package/lib/seam/connect/seam-http-multi-workspace.js.map +1 -1
- package/lib/seam/connect/seam-http.d.ts +2 -1
- package/lib/seam/connect/seam-http.js +21 -17
- 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 +3 -3
- package/src/lib/seam/connect/client.ts +0 -3
- package/src/lib/seam/connect/options.ts +11 -4
- package/src/lib/seam/connect/parse-options.ts +43 -4
- package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +14 -3
- package/src/lib/seam/connect/routes/access-codes.ts +15 -4
- package/src/lib/seam/connect/routes/acs-access-groups.ts +14 -3
- package/src/lib/seam/connect/routes/acs-credentials.ts +14 -3
- package/src/lib/seam/connect/routes/acs-systems.ts +14 -3
- package/src/lib/seam/connect/routes/acs-users.ts +14 -3
- package/src/lib/seam/connect/routes/acs.ts +18 -7
- package/src/lib/seam/connect/routes/action-attempts.ts +26 -16
- package/src/lib/seam/connect/routes/client-sessions.ts +14 -3
- package/src/lib/seam/connect/routes/connect-webviews.ts +14 -3
- package/src/lib/seam/connect/routes/connected-accounts.ts +14 -3
- package/src/lib/seam/connect/routes/devices-unmanaged.ts +14 -3
- package/src/lib/seam/connect/routes/devices.ts +15 -4
- package/src/lib/seam/connect/routes/events.ts +14 -3
- package/src/lib/seam/connect/routes/locks.ts +38 -26
- package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +14 -3
- package/src/lib/seam/connect/routes/noise-sensors.ts +18 -4
- package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +14 -3
- package/src/lib/seam/connect/routes/thermostats.ts +18 -4
- package/src/lib/seam/connect/routes/user-identities.ts +14 -3
- package/src/lib/seam/connect/routes/webhooks.ts +14 -3
- package/src/lib/seam/connect/routes/workspaces.ts +14 -3
- package/src/lib/seam/connect/seam-http-multi-workspace.ts +7 -4
- package/src/lib/seam/connect/seam-http.ts +25 -17
- package/src/lib/version.ts +1 -1
|
@@ -14,8 +14,9 @@ import {
|
|
|
14
14
|
type SeamHttpOptionsWithClientSessionToken,
|
|
15
15
|
type SeamHttpOptionsWithConsoleSessionToken,
|
|
16
16
|
type SeamHttpOptionsWithPersonalAccessToken,
|
|
17
|
+
type SeamHttpRequestOptions,
|
|
17
18
|
} from './options.js'
|
|
18
|
-
import { parseOptions } from './parse-options.js'
|
|
19
|
+
import { limitToSeamHttpRequestOptions, parseOptions } from './parse-options.js'
|
|
19
20
|
import {
|
|
20
21
|
SeamHttpAccessCodes,
|
|
21
22
|
SeamHttpAcs,
|
|
@@ -35,10 +36,12 @@ import {
|
|
|
35
36
|
|
|
36
37
|
export class SeamHttp {
|
|
37
38
|
client: Client
|
|
39
|
+
readonly defaults: Required<SeamHttpRequestOptions>
|
|
38
40
|
|
|
39
41
|
constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
|
|
40
|
-
const
|
|
41
|
-
this.client = createClient(
|
|
42
|
+
const options = parseOptions(apiKeyOrOptions)
|
|
43
|
+
this.client = 'client' in options ? options.client : createClient(options)
|
|
44
|
+
this.defaults = limitToSeamHttpRequestOptions(options)
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
static fromClient(
|
|
@@ -84,6 +87,11 @@ export class SeamHttp {
|
|
|
84
87
|
): Promise<SeamHttp> {
|
|
85
88
|
warnOnInsecureuserIdentifierKey(userIdentifierKey)
|
|
86
89
|
const clientOptions = parseOptions({ ...options, publishableKey })
|
|
90
|
+
if (isSeamHttpOptionsWithClient(clientOptions)) {
|
|
91
|
+
throw new SeamHttpInvalidOptionsError(
|
|
92
|
+
'The client option cannot be used with SeamHttp.fromPublishableKey',
|
|
93
|
+
)
|
|
94
|
+
}
|
|
87
95
|
const client = createClient(clientOptions)
|
|
88
96
|
const clientSessions = SeamHttpClientSessions.fromClient(client)
|
|
89
97
|
const { token } = await clientSessions.getOrCreate({
|
|
@@ -127,58 +135,58 @@ export class SeamHttp {
|
|
|
127
135
|
}
|
|
128
136
|
|
|
129
137
|
get accessCodes(): SeamHttpAccessCodes {
|
|
130
|
-
return SeamHttpAccessCodes.fromClient(this.client)
|
|
138
|
+
return SeamHttpAccessCodes.fromClient(this.client, this.defaults)
|
|
131
139
|
}
|
|
132
140
|
|
|
133
141
|
get acs(): SeamHttpAcs {
|
|
134
|
-
return SeamHttpAcs.fromClient(this.client)
|
|
142
|
+
return SeamHttpAcs.fromClient(this.client, this.defaults)
|
|
135
143
|
}
|
|
136
144
|
|
|
137
145
|
get actionAttempts(): SeamHttpActionAttempts {
|
|
138
|
-
return SeamHttpActionAttempts.fromClient(this.client)
|
|
146
|
+
return SeamHttpActionAttempts.fromClient(this.client, this.defaults)
|
|
139
147
|
}
|
|
140
148
|
|
|
141
149
|
get clientSessions(): SeamHttpClientSessions {
|
|
142
|
-
return SeamHttpClientSessions.fromClient(this.client)
|
|
150
|
+
return SeamHttpClientSessions.fromClient(this.client, this.defaults)
|
|
143
151
|
}
|
|
144
152
|
|
|
145
153
|
get connectedAccounts(): SeamHttpConnectedAccounts {
|
|
146
|
-
return SeamHttpConnectedAccounts.fromClient(this.client)
|
|
154
|
+
return SeamHttpConnectedAccounts.fromClient(this.client, this.defaults)
|
|
147
155
|
}
|
|
148
156
|
|
|
149
157
|
get connectWebviews(): SeamHttpConnectWebviews {
|
|
150
|
-
return SeamHttpConnectWebviews.fromClient(this.client)
|
|
158
|
+
return SeamHttpConnectWebviews.fromClient(this.client, this.defaults)
|
|
151
159
|
}
|
|
152
160
|
|
|
153
161
|
get devices(): SeamHttpDevices {
|
|
154
|
-
return SeamHttpDevices.fromClient(this.client)
|
|
162
|
+
return SeamHttpDevices.fromClient(this.client, this.defaults)
|
|
155
163
|
}
|
|
156
164
|
|
|
157
165
|
get events(): SeamHttpEvents {
|
|
158
|
-
return SeamHttpEvents.fromClient(this.client)
|
|
166
|
+
return SeamHttpEvents.fromClient(this.client, this.defaults)
|
|
159
167
|
}
|
|
160
168
|
|
|
161
169
|
get locks(): SeamHttpLocks {
|
|
162
|
-
return SeamHttpLocks.fromClient(this.client)
|
|
170
|
+
return SeamHttpLocks.fromClient(this.client, this.defaults)
|
|
163
171
|
}
|
|
164
172
|
|
|
165
173
|
get noiseSensors(): SeamHttpNoiseSensors {
|
|
166
|
-
return SeamHttpNoiseSensors.fromClient(this.client)
|
|
174
|
+
return SeamHttpNoiseSensors.fromClient(this.client, this.defaults)
|
|
167
175
|
}
|
|
168
176
|
|
|
169
177
|
get thermostats(): SeamHttpThermostats {
|
|
170
|
-
return SeamHttpThermostats.fromClient(this.client)
|
|
178
|
+
return SeamHttpThermostats.fromClient(this.client, this.defaults)
|
|
171
179
|
}
|
|
172
180
|
|
|
173
181
|
get userIdentities(): SeamHttpUserIdentities {
|
|
174
|
-
return SeamHttpUserIdentities.fromClient(this.client)
|
|
182
|
+
return SeamHttpUserIdentities.fromClient(this.client, this.defaults)
|
|
175
183
|
}
|
|
176
184
|
|
|
177
185
|
get webhooks(): SeamHttpWebhooks {
|
|
178
|
-
return SeamHttpWebhooks.fromClient(this.client)
|
|
186
|
+
return SeamHttpWebhooks.fromClient(this.client, this.defaults)
|
|
179
187
|
}
|
|
180
188
|
|
|
181
189
|
get workspaces(): SeamHttpWorkspaces {
|
|
182
|
-
return SeamHttpWorkspaces.fromClient(this.client)
|
|
190
|
+
return SeamHttpWorkspaces.fromClient(this.client, this.defaults)
|
|
183
191
|
}
|
|
184
192
|
}
|
package/src/lib/version.ts
CHANGED