@seamapi/http 2.14.0 → 2.16.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/lib/routes/access-codes/access-codes.js +3 -2
- package/lib/routes/access-codes/access-codes.js.map +1 -1
- package/lib/routes/access-codes/unmanaged/unmanaged.js +1 -0
- package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/access-grants/access-grants.js +5 -4
- package/lib/routes/access-grants/access-grants.js.map +1 -1
- package/lib/routes/access-grants/unmanaged/unmanaged.js +1 -0
- package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/access-methods/access-methods.js +3 -2
- package/lib/routes/access-methods/access-methods.js.map +1 -1
- package/lib/routes/acs/credentials/credentials.js +1 -0
- package/lib/routes/acs/credentials/credentials.js.map +1 -1
- package/lib/routes/acs/encoders/encoders.js +3 -2
- package/lib/routes/acs/encoders/encoders.js.map +1 -1
- package/lib/routes/acs/entrances/entrances.js +5 -4
- package/lib/routes/acs/entrances/entrances.js.map +1 -1
- package/lib/routes/acs/users/users.js +1 -0
- package/lib/routes/acs/users/users.js.map +1 -1
- package/lib/routes/action-attempts/action-attempts.js +3 -2
- package/lib/routes/action-attempts/action-attempts.js.map +1 -1
- package/lib/routes/connect-webviews/connect-webviews.js +3 -2
- package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
- package/lib/routes/connected-accounts/connected-accounts.js +3 -2
- package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
- package/lib/routes/customers/customers.js +2 -2
- package/lib/routes/customers/customers.js.map +1 -1
- package/lib/routes/devices/devices.js +3 -2
- package/lib/routes/devices/devices.js.map +1 -1
- package/lib/routes/devices/unmanaged/unmanaged.js +3 -2
- package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/events/events.js +2 -2
- package/lib/routes/events/events.js.map +1 -1
- package/lib/routes/locks/locks.js +2 -2
- package/lib/routes/locks/locks.js.map +1 -1
- package/lib/routes/noise-sensors/noise-sensors.js +2 -2
- package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
- package/lib/routes/spaces/spaces.js +7 -6
- package/lib/routes/spaces/spaces.js.map +1 -1
- package/lib/routes/thermostats/thermostats.js +2 -2
- package/lib/routes/thermostats/thermostats.js.map +1 -1
- package/lib/routes/user-identities/unmanaged/unmanaged.js +1 -0
- package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
- package/lib/routes/user-identities/user-identities.js +3 -2
- package/lib/routes/user-identities/user-identities.js.map +1 -1
- package/lib/seam-http-request.d.ts +2 -0
- package/lib/seam-http-request.js +6 -1
- package/lib/seam-http-request.js.map +1 -1
- package/lib/seam-paginator.js +1 -1
- package/lib/seam-paginator.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/routes/access-codes/access-codes.ts +3 -2
- package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +1 -0
- package/src/lib/routes/access-grants/access-grants.ts +5 -4
- package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +1 -0
- package/src/lib/routes/access-methods/access-methods.ts +3 -2
- package/src/lib/routes/acs/credentials/credentials.ts +1 -0
- package/src/lib/routes/acs/encoders/encoders.ts +3 -2
- package/src/lib/routes/acs/entrances/entrances.ts +5 -4
- package/src/lib/routes/acs/users/users.ts +1 -0
- package/src/lib/routes/action-attempts/action-attempts.ts +3 -2
- package/src/lib/routes/connect-webviews/connect-webviews.ts +3 -2
- package/src/lib/routes/connected-accounts/connected-accounts.ts +3 -2
- package/src/lib/routes/customers/customers.ts +2 -2
- package/src/lib/routes/devices/devices.ts +3 -2
- package/src/lib/routes/devices/unmanaged/unmanaged.ts +3 -2
- package/src/lib/routes/events/events.ts +2 -2
- package/src/lib/routes/locks/locks.ts +2 -2
- package/src/lib/routes/noise-sensors/noise-sensors.ts +2 -2
- package/src/lib/routes/spaces/spaces.ts +7 -6
- package/src/lib/routes/thermostats/thermostats.ts +2 -2
- package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +1 -0
- package/src/lib/routes/user-identities/user-identities.ts +3 -2
- package/src/lib/seam-http-request.ts +8 -1
- package/src/lib/seam-paginator.ts +1 -1
- package/src/lib/version.ts +1 -1
|
@@ -217,12 +217,13 @@ export class SeamHttpAcsEncoders {
|
|
|
217
217
|
): AcsEncodersListRequest {
|
|
218
218
|
return new SeamHttpRequest(this, {
|
|
219
219
|
pathname: '/acs/encoders/list',
|
|
220
|
-
method: '
|
|
221
|
-
|
|
220
|
+
method: 'GET',
|
|
221
|
+
params: parameters,
|
|
222
222
|
parameters,
|
|
223
223
|
hasRequiredParameters: false,
|
|
224
224
|
requiredParameterNames: [],
|
|
225
225
|
responseKey: 'acs_encoders',
|
|
226
|
+
hasPagination: true,
|
|
226
227
|
options,
|
|
227
228
|
})
|
|
228
229
|
}
|
|
@@ -208,12 +208,13 @@ export class SeamHttpAcsEntrances {
|
|
|
208
208
|
): AcsEntrancesListRequest {
|
|
209
209
|
return new SeamHttpRequest(this, {
|
|
210
210
|
pathname: '/acs/entrances/list',
|
|
211
|
-
method: '
|
|
212
|
-
|
|
211
|
+
method: 'GET',
|
|
212
|
+
params: parameters,
|
|
213
213
|
parameters,
|
|
214
214
|
hasRequiredParameters: false,
|
|
215
215
|
requiredParameterNames: [],
|
|
216
216
|
responseKey: 'acs_entrances',
|
|
217
|
+
hasPagination: true,
|
|
217
218
|
options,
|
|
218
219
|
})
|
|
219
220
|
}
|
|
@@ -227,8 +228,8 @@ export class SeamHttpAcsEntrances {
|
|
|
227
228
|
): AcsEntrancesListCredentialsWithAccessRequest {
|
|
228
229
|
return new SeamHttpRequest(this, {
|
|
229
230
|
pathname: '/acs/entrances/list_credentials_with_access',
|
|
230
|
-
method: '
|
|
231
|
-
|
|
231
|
+
method: 'GET',
|
|
232
|
+
params: parameters,
|
|
232
233
|
parameters,
|
|
233
234
|
hasRequiredParameters: true,
|
|
234
235
|
requiredParameterNames: ['acs_entrance_id'],
|
|
@@ -190,12 +190,13 @@ export class SeamHttpActionAttempts {
|
|
|
190
190
|
): ActionAttemptsListRequest {
|
|
191
191
|
return new SeamHttpRequest(this, {
|
|
192
192
|
pathname: '/action_attempts/list',
|
|
193
|
-
method: '
|
|
194
|
-
|
|
193
|
+
method: 'GET',
|
|
194
|
+
params: parameters,
|
|
195
195
|
parameters,
|
|
196
196
|
hasRequiredParameters: false,
|
|
197
197
|
requiredParameterNames: [],
|
|
198
198
|
responseKey: 'action_attempts',
|
|
199
|
+
hasPagination: true,
|
|
199
200
|
options,
|
|
200
201
|
})
|
|
201
202
|
}
|
|
@@ -234,12 +234,13 @@ export class SeamHttpConnectWebviews {
|
|
|
234
234
|
): ConnectWebviewsListRequest {
|
|
235
235
|
return new SeamHttpRequest(this, {
|
|
236
236
|
pathname: '/connect_webviews/list',
|
|
237
|
-
method: '
|
|
238
|
-
|
|
237
|
+
method: 'GET',
|
|
238
|
+
params: parameters,
|
|
239
239
|
parameters,
|
|
240
240
|
hasRequiredParameters: false,
|
|
241
241
|
requiredParameterNames: [],
|
|
242
242
|
responseKey: 'connect_webviews',
|
|
243
|
+
hasPagination: true,
|
|
243
244
|
options,
|
|
244
245
|
})
|
|
245
246
|
}
|
|
@@ -219,12 +219,13 @@ export class SeamHttpConnectedAccounts {
|
|
|
219
219
|
): ConnectedAccountsListRequest {
|
|
220
220
|
return new SeamHttpRequest(this, {
|
|
221
221
|
pathname: '/connected_accounts/list',
|
|
222
|
-
method: '
|
|
223
|
-
|
|
222
|
+
method: 'GET',
|
|
223
|
+
params: parameters,
|
|
224
224
|
parameters,
|
|
225
225
|
hasRequiredParameters: false,
|
|
226
226
|
requiredParameterNames: [],
|
|
227
227
|
responseKey: 'connected_accounts',
|
|
228
|
+
hasPagination: true,
|
|
228
229
|
options,
|
|
229
230
|
})
|
|
230
231
|
}
|
|
@@ -187,8 +187,8 @@ export class SeamHttpCustomers {
|
|
|
187
187
|
): CustomersDeleteDataRequest {
|
|
188
188
|
return new SeamHttpRequest(this, {
|
|
189
189
|
pathname: '/customers/delete_data',
|
|
190
|
-
method: '
|
|
191
|
-
|
|
190
|
+
method: 'DELETE',
|
|
191
|
+
params: parameters,
|
|
192
192
|
parameters,
|
|
193
193
|
hasRequiredParameters: false,
|
|
194
194
|
requiredParameterNames: [],
|
|
@@ -201,12 +201,13 @@ export class SeamHttpDevices {
|
|
|
201
201
|
): DevicesListRequest {
|
|
202
202
|
return new SeamHttpRequest(this, {
|
|
203
203
|
pathname: '/devices/list',
|
|
204
|
-
method: '
|
|
205
|
-
|
|
204
|
+
method: 'GET',
|
|
205
|
+
params: parameters,
|
|
206
206
|
parameters,
|
|
207
207
|
hasRequiredParameters: false,
|
|
208
208
|
requiredParameterNames: [],
|
|
209
209
|
responseKey: 'devices',
|
|
210
|
+
hasPagination: true,
|
|
210
211
|
options,
|
|
211
212
|
})
|
|
212
213
|
}
|
|
@@ -193,12 +193,13 @@ export class SeamHttpDevicesUnmanaged {
|
|
|
193
193
|
): DevicesUnmanagedListRequest {
|
|
194
194
|
return new SeamHttpRequest(this, {
|
|
195
195
|
pathname: '/devices/unmanaged/list',
|
|
196
|
-
method: '
|
|
197
|
-
|
|
196
|
+
method: 'GET',
|
|
197
|
+
params: parameters,
|
|
198
198
|
parameters,
|
|
199
199
|
hasRequiredParameters: false,
|
|
200
200
|
requiredParameterNames: [],
|
|
201
201
|
responseKey: 'devices',
|
|
202
|
+
hasPagination: true,
|
|
202
203
|
options,
|
|
203
204
|
})
|
|
204
205
|
}
|
|
@@ -187,8 +187,8 @@ export class SeamHttpEvents {
|
|
|
187
187
|
): EventsListRequest {
|
|
188
188
|
return new SeamHttpRequest(this, {
|
|
189
189
|
pathname: '/events/list',
|
|
190
|
-
method: '
|
|
191
|
-
|
|
190
|
+
method: 'GET',
|
|
191
|
+
params: parameters,
|
|
192
192
|
parameters,
|
|
193
193
|
hasRequiredParameters: true,
|
|
194
194
|
requiredParameterNames: [],
|
|
@@ -219,8 +219,8 @@ export class SeamHttpLocks {
|
|
|
219
219
|
): LocksListRequest {
|
|
220
220
|
return new SeamHttpRequest(this, {
|
|
221
221
|
pathname: '/locks/list',
|
|
222
|
-
method: '
|
|
223
|
-
|
|
222
|
+
method: 'GET',
|
|
223
|
+
params: parameters,
|
|
224
224
|
parameters,
|
|
225
225
|
hasRequiredParameters: false,
|
|
226
226
|
requiredParameterNames: [],
|
|
@@ -181,8 +181,8 @@ export class SeamHttpNoiseSensors {
|
|
|
181
181
|
): NoiseSensorsListRequest {
|
|
182
182
|
return new SeamHttpRequest(this, {
|
|
183
183
|
pathname: '/noise_sensors/list',
|
|
184
|
-
method: '
|
|
185
|
-
|
|
184
|
+
method: 'GET',
|
|
185
|
+
params: parameters,
|
|
186
186
|
parameters,
|
|
187
187
|
hasRequiredParameters: false,
|
|
188
188
|
requiredParameterNames: [],
|
|
@@ -283,8 +283,8 @@ export class SeamHttpSpaces {
|
|
|
283
283
|
): SpacesGetRelatedRequest {
|
|
284
284
|
return new SeamHttpRequest(this, {
|
|
285
285
|
pathname: '/spaces/get_related',
|
|
286
|
-
method: '
|
|
287
|
-
|
|
286
|
+
method: 'GET',
|
|
287
|
+
params: parameters,
|
|
288
288
|
parameters,
|
|
289
289
|
hasRequiredParameters: true,
|
|
290
290
|
requiredParameterNames: [],
|
|
@@ -308,6 +308,7 @@ export class SeamHttpSpaces {
|
|
|
308
308
|
hasRequiredParameters: false,
|
|
309
309
|
requiredParameterNames: [],
|
|
310
310
|
responseKey: 'spaces',
|
|
311
|
+
hasPagination: true,
|
|
311
312
|
options,
|
|
312
313
|
})
|
|
313
314
|
}
|
|
@@ -321,8 +322,8 @@ export class SeamHttpSpaces {
|
|
|
321
322
|
): SpacesRemoveAcsEntrancesRequest {
|
|
322
323
|
return new SeamHttpRequest(this, {
|
|
323
324
|
pathname: '/spaces/remove_acs_entrances',
|
|
324
|
-
method: '
|
|
325
|
-
|
|
325
|
+
method: 'DELETE',
|
|
326
|
+
params: parameters,
|
|
326
327
|
parameters,
|
|
327
328
|
hasRequiredParameters: true,
|
|
328
329
|
requiredParameterNames: ['acs_entrance_ids', 'space_id'],
|
|
@@ -359,8 +360,8 @@ export class SeamHttpSpaces {
|
|
|
359
360
|
): SpacesRemoveDevicesRequest {
|
|
360
361
|
return new SeamHttpRequest(this, {
|
|
361
362
|
pathname: '/spaces/remove_devices',
|
|
362
|
-
method: '
|
|
363
|
-
|
|
363
|
+
method: 'DELETE',
|
|
364
|
+
params: parameters,
|
|
364
365
|
parameters,
|
|
365
366
|
hasRequiredParameters: true,
|
|
366
367
|
requiredParameterNames: ['device_ids', 'space_id'],
|
|
@@ -318,8 +318,8 @@ export class SeamHttpThermostats {
|
|
|
318
318
|
): ThermostatsListRequest {
|
|
319
319
|
return new SeamHttpRequest(this, {
|
|
320
320
|
pathname: '/thermostats/list',
|
|
321
|
-
method: '
|
|
322
|
-
|
|
321
|
+
method: 'GET',
|
|
322
|
+
params: parameters,
|
|
323
323
|
parameters,
|
|
324
324
|
hasRequiredParameters: false,
|
|
325
325
|
requiredParameterNames: [],
|
|
@@ -300,12 +300,13 @@ export class SeamHttpUserIdentities {
|
|
|
300
300
|
): UserIdentitiesListRequest {
|
|
301
301
|
return new SeamHttpRequest(this, {
|
|
302
302
|
pathname: '/user_identities/list',
|
|
303
|
-
method: '
|
|
304
|
-
|
|
303
|
+
method: 'GET',
|
|
304
|
+
params: parameters,
|
|
305
305
|
parameters,
|
|
306
306
|
hasRequiredParameters: false,
|
|
307
307
|
requiredParameterNames: [],
|
|
308
308
|
responseKey: 'user_identities',
|
|
309
|
+
hasPagination: true,
|
|
309
310
|
options,
|
|
310
311
|
})
|
|
311
312
|
}
|
|
@@ -21,6 +21,7 @@ interface SeamHttpRequestConfig<TResponseKey> {
|
|
|
21
21
|
readonly body?: unknown
|
|
22
22
|
readonly params?: undefined | Record<string, unknown>
|
|
23
23
|
readonly responseKey: TResponseKey
|
|
24
|
+
readonly hasPagination?: boolean
|
|
24
25
|
readonly options?: Pick<SeamHttpRequestOptions, 'waitForActionAttempt'>
|
|
25
26
|
readonly actionAttempts?: ActionAttemptsClient
|
|
26
27
|
readonly parameters?: unknown
|
|
@@ -51,6 +52,10 @@ export class SeamHttpRequest<
|
|
|
51
52
|
return this.#config.responseKey
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
public get hasPagination(): boolean {
|
|
56
|
+
return this.#config.hasPagination ?? false
|
|
57
|
+
}
|
|
58
|
+
|
|
54
59
|
public get url(): URL {
|
|
55
60
|
const { client } = this.#parent
|
|
56
61
|
|
|
@@ -194,7 +199,9 @@ const getUrlPrefix = (input: string): string => {
|
|
|
194
199
|
}
|
|
195
200
|
if (globalThis.location != null) {
|
|
196
201
|
const pathname = input.startsWith('/') ? input : `/${input}`
|
|
197
|
-
return new URL(`${globalThis.location.origin}${pathname}`)
|
|
202
|
+
return new URL(`${globalThis.location.origin}${pathname}`)
|
|
203
|
+
.toString()
|
|
204
|
+
.replace(/\/$/, '')
|
|
198
205
|
}
|
|
199
206
|
throw new Error(
|
|
200
207
|
`Cannot resolve origin from ${input} in a non-browser environment`,
|
|
@@ -28,7 +28,7 @@ export class SeamPaginator<
|
|
|
28
28
|
parent: SeamPaginatorParent,
|
|
29
29
|
request: SeamHttpRequest<TResponse, TResponseKey>,
|
|
30
30
|
) {
|
|
31
|
-
if (request.
|
|
31
|
+
if (!request.hasPagination) {
|
|
32
32
|
throw new Error(
|
|
33
33
|
`The ${request.pathname} endpoint does not support pagination`,
|
|
34
34
|
)
|
package/src/lib/version.ts
CHANGED