@appwrite.io/console 16.1.0 → 18.0.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 +3 -3
- package/dist/cjs/sdk.js +1808 -412
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/esm/sdk.js +1805 -413
- package/dist/esm/sdk.js.map +1 -1
- package/dist/iife/sdk.js +4339 -944
- package/package.json +5 -2
- package/types/client.d.ts +24 -11
- package/types/enums/billing-plan-group.d.ts +2 -1
- package/types/enums/build-runtime.d.ts +3 -0
- package/types/enums/cache-database.d.ts +1 -2
- package/types/enums/conversation-type.d.ts +9 -0
- package/types/enums/framework.d.ts +1 -0
- package/types/enums/id-token-provider.d.ts +4 -0
- package/types/enums/o-auth-2-auth-0-prompt.d.ts +5 -0
- package/types/enums/o-auth-2-discord-prompt.d.ts +4 -0
- package/types/enums/o-auth-2-github-prompt.d.ts +3 -0
- package/types/enums/o-auth-2-kakao-prompt.d.ts +6 -0
- package/types/enums/o-auth-2-microsoft-prompt.d.ts +6 -0
- package/types/enums/o-auth-2-okta-prompt.d.ts +5 -0
- package/types/enums/o-auth-2-salesforce-prompt.d.ts +4 -0
- package/types/enums/o-auth-2-zoho-prompt.d.ts +3 -0
- package/types/enums/organization-key-scopes.d.ts +2 -4
- package/types/enums/project-email-template-id.d.ts +3 -1
- package/types/enums/project-key-scopes.d.ts +1 -0
- package/types/enums/project-o-auth-2-auth-0-prompt.d.ts +5 -0
- package/types/enums/project-o-auth-2-discord-prompt.d.ts +4 -0
- package/types/enums/project-o-auth-2-git-hub-prompt.d.ts +3 -0
- package/types/enums/project-o-auth-2-kakao-prompt.d.ts +6 -0
- package/types/enums/project-o-auth-2-microsoft-prompt.d.ts +6 -0
- package/types/enums/project-o-auth-2-okta-prompt.d.ts +5 -0
- package/types/enums/project-o-auth-2-salesforce-prompt.d.ts +4 -0
- package/types/enums/project-o-auth-2-zoho-prompt.d.ts +3 -0
- package/types/enums/project-policy-id.d.ts +1 -0
- package/types/enums/query-suggestion-resource.d.ts +1 -3
- package/types/enums/runtime.d.ts +3 -0
- package/types/index.d.ts +23 -2
- package/types/models.d.ts +271 -562
- package/types/services/account.d.ts +167 -24
- package/types/services/console.d.ts +2 -2
- package/types/services/databases.d.ts +4 -4
- package/types/services/growth.d.ts +100 -0
- package/types/services/manager.d.ts +39 -14
- package/types/services/messaging.d.ts +94 -8
- package/types/services/organization.d.ts +165 -0
- package/types/services/organizations.d.ts +0 -19
- package/types/services/project.d.ts +93 -50
- package/types/services/projects.d.ts +0 -94
- package/types/services/push.d.ts +153 -0
- package/types/services/storage.d.ts +4 -4
- package/types/services/tables-db.d.ts +37 -37
- package/types/services/teams.d.ts +0 -25
- package/types/services/users.d.ts +4 -29
- package/types/topic.d.ts +34 -0
- package/types/enums/project-usage-range.d.ts +0 -4
package/dist/cjs/sdk.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var JSONbigModule = require('json-bigint');
|
|
4
|
+
var buffer = require('buffer');
|
|
5
|
+
var mqtt = require('mqtt');
|
|
4
6
|
|
|
5
7
|
/******************************************************************************
|
|
6
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -644,6 +646,8 @@ class Client {
|
|
|
644
646
|
this.config = {
|
|
645
647
|
endpoint: 'https://cloud.appwrite.io/v1',
|
|
646
648
|
endpointRealtime: '',
|
|
649
|
+
endpointPush: '',
|
|
650
|
+
pushClientId: '',
|
|
647
651
|
project: '',
|
|
648
652
|
key: '',
|
|
649
653
|
organization: '',
|
|
@@ -653,7 +657,6 @@ class Client {
|
|
|
653
657
|
mode: '',
|
|
654
658
|
cookie: '',
|
|
655
659
|
session: '',
|
|
656
|
-
devkey: '',
|
|
657
660
|
impersonateuserid: '',
|
|
658
661
|
impersonateuseremail: '',
|
|
659
662
|
impersonateuserphone: '',
|
|
@@ -668,8 +671,8 @@ class Client {
|
|
|
668
671
|
'x-sdk-name': 'Console',
|
|
669
672
|
'x-sdk-platform': 'console',
|
|
670
673
|
'x-sdk-language': 'web',
|
|
671
|
-
'x-sdk-version': '
|
|
672
|
-
'X-Appwrite-Response-Format': '2.
|
|
674
|
+
'x-sdk-version': '18.0.0',
|
|
675
|
+
'X-Appwrite-Response-Format': '2.3.0',
|
|
673
676
|
};
|
|
674
677
|
this.realtime = {
|
|
675
678
|
socket: undefined,
|
|
@@ -910,6 +913,44 @@ class Client {
|
|
|
910
913
|
this.config.endpointRealtime = endpointRealtime;
|
|
911
914
|
return this;
|
|
912
915
|
}
|
|
916
|
+
/**
|
|
917
|
+
* Set Push Endpoint
|
|
918
|
+
*
|
|
919
|
+
* The MQTT-over-WebSocket URL the AppwritePush service connects to.
|
|
920
|
+
*
|
|
921
|
+
* @param {string} endpointPush
|
|
922
|
+
*
|
|
923
|
+
* @returns {this}
|
|
924
|
+
*/
|
|
925
|
+
setPushEndpoint(endpointPush) {
|
|
926
|
+
if (!endpointPush || typeof endpointPush !== 'string') {
|
|
927
|
+
throw new AppwriteException('Endpoint must be a valid string');
|
|
928
|
+
}
|
|
929
|
+
if (!endpointPush.startsWith('ws://') &&
|
|
930
|
+
!endpointPush.startsWith('wss://')) {
|
|
931
|
+
throw new AppwriteException('Invalid push endpoint URL: ' + endpointPush);
|
|
932
|
+
}
|
|
933
|
+
this.config.endpointPush = endpointPush;
|
|
934
|
+
return this;
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Set Push Client Id
|
|
938
|
+
*
|
|
939
|
+
* A stable client id for the AppwritePush service. The broker keys its
|
|
940
|
+
* offline-replay cursor on this id, so pass a stable value to resume replay across
|
|
941
|
+
* reloads/restarts. Defaults to a per-connection id when unset.
|
|
942
|
+
*
|
|
943
|
+
* @param {string} pushClientId
|
|
944
|
+
*
|
|
945
|
+
* @returns {this}
|
|
946
|
+
*/
|
|
947
|
+
setPushClientId(pushClientId) {
|
|
948
|
+
if (!pushClientId || typeof pushClientId !== 'string') {
|
|
949
|
+
throw new AppwriteException('Client id must be a valid string');
|
|
950
|
+
}
|
|
951
|
+
this.config.pushClientId = pushClientId;
|
|
952
|
+
return this;
|
|
953
|
+
}
|
|
913
954
|
/**
|
|
914
955
|
* Set self-signed
|
|
915
956
|
*
|
|
@@ -1081,20 +1122,6 @@ class Client {
|
|
|
1081
1122
|
this.config.session = value;
|
|
1082
1123
|
return this;
|
|
1083
1124
|
}
|
|
1084
|
-
/**
|
|
1085
|
-
* Set DevKey
|
|
1086
|
-
*
|
|
1087
|
-
* Your secret dev API key
|
|
1088
|
-
*
|
|
1089
|
-
* @param value string
|
|
1090
|
-
*
|
|
1091
|
-
* @return {this}
|
|
1092
|
-
*/
|
|
1093
|
-
setDevKey(value) {
|
|
1094
|
-
this.headers['X-Appwrite-Dev-Key'] = value;
|
|
1095
|
-
this.config.devkey = value;
|
|
1096
|
-
return this;
|
|
1097
|
-
}
|
|
1098
1125
|
/**
|
|
1099
1126
|
* Set ImpersonateUserId
|
|
1100
1127
|
*
|
|
@@ -1254,10 +1281,8 @@ class Client {
|
|
|
1254
1281
|
const options = {
|
|
1255
1282
|
method,
|
|
1256
1283
|
headers,
|
|
1284
|
+
credentials: this.config.credentials,
|
|
1257
1285
|
};
|
|
1258
|
-
if (headers['X-Appwrite-Dev-Key'] === undefined) {
|
|
1259
|
-
options.credentials = this.config.credentials;
|
|
1260
|
-
}
|
|
1261
1286
|
if (method === 'GET') {
|
|
1262
1287
|
for (const [key, value] of Object.entries(Client.flatten(params))) {
|
|
1263
1288
|
url.searchParams.append(key, value);
|
|
@@ -1296,7 +1321,7 @@ class Client {
|
|
|
1296
1321
|
var _a;
|
|
1297
1322
|
const [fileParam, file] = (_a = Object.entries(originalPayload).find(([_, value]) => value instanceof File)) !== null && _a !== void 0 ? _a : [];
|
|
1298
1323
|
if (!file || !fileParam) {
|
|
1299
|
-
|
|
1324
|
+
return yield this.call(method, url, headers, originalPayload);
|
|
1300
1325
|
}
|
|
1301
1326
|
if (file.size <= Client.CHUNK_SIZE) {
|
|
1302
1327
|
return yield this.call(method, url, headers, originalPayload);
|
|
@@ -2324,37 +2349,6 @@ class Account {
|
|
|
2324
2349
|
};
|
|
2325
2350
|
return this.client.call('delete', uri, apiHeaders, payload);
|
|
2326
2351
|
}
|
|
2327
|
-
listLogs(paramsOrFirst, ...rest) {
|
|
2328
|
-
let params;
|
|
2329
|
-
if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
|
|
2330
|
-
(paramsOrFirst &&
|
|
2331
|
-
typeof paramsOrFirst === 'object' &&
|
|
2332
|
-
!Array.isArray(paramsOrFirst))) {
|
|
2333
|
-
params = (paramsOrFirst || {});
|
|
2334
|
-
}
|
|
2335
|
-
else {
|
|
2336
|
-
params = {
|
|
2337
|
-
queries: paramsOrFirst,
|
|
2338
|
-
total: rest[0],
|
|
2339
|
-
};
|
|
2340
|
-
}
|
|
2341
|
-
const queries = params.queries;
|
|
2342
|
-
const total = params.total;
|
|
2343
|
-
const apiPath = '/account/logs';
|
|
2344
|
-
const payload = {};
|
|
2345
|
-
if (typeof queries !== 'undefined') {
|
|
2346
|
-
payload['queries'] = queries;
|
|
2347
|
-
}
|
|
2348
|
-
if (typeof total !== 'undefined') {
|
|
2349
|
-
payload['total'] = total;
|
|
2350
|
-
}
|
|
2351
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
2352
|
-
const apiHeaders = {
|
|
2353
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
2354
|
-
accept: 'application/json',
|
|
2355
|
-
};
|
|
2356
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
2357
|
-
}
|
|
2358
2352
|
updateMFA(paramsOrFirst) {
|
|
2359
2353
|
let params;
|
|
2360
2354
|
if (paramsOrFirst &&
|
|
@@ -3274,6 +3268,85 @@ class Account {
|
|
|
3274
3268
|
};
|
|
3275
3269
|
return this.client.call('put', uri, apiHeaders, payload);
|
|
3276
3270
|
}
|
|
3271
|
+
createRecoveryOTP(paramsOrFirst, ...rest) {
|
|
3272
|
+
let params;
|
|
3273
|
+
if (paramsOrFirst &&
|
|
3274
|
+
typeof paramsOrFirst === 'object' &&
|
|
3275
|
+
!Array.isArray(paramsOrFirst)) {
|
|
3276
|
+
params = (paramsOrFirst || {});
|
|
3277
|
+
}
|
|
3278
|
+
else {
|
|
3279
|
+
params = {
|
|
3280
|
+
email: paramsOrFirst,
|
|
3281
|
+
phrase: rest[0],
|
|
3282
|
+
};
|
|
3283
|
+
}
|
|
3284
|
+
const email = params.email;
|
|
3285
|
+
const phrase = params.phrase;
|
|
3286
|
+
if (typeof email === 'undefined') {
|
|
3287
|
+
throw new AppwriteException('Missing required parameter: "email"');
|
|
3288
|
+
}
|
|
3289
|
+
const apiPath = '/account/recovery/otp';
|
|
3290
|
+
const payload = {};
|
|
3291
|
+
if (typeof email !== 'undefined') {
|
|
3292
|
+
payload['email'] = email;
|
|
3293
|
+
}
|
|
3294
|
+
if (typeof phrase !== 'undefined') {
|
|
3295
|
+
payload['phrase'] = phrase;
|
|
3296
|
+
}
|
|
3297
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
3298
|
+
const apiHeaders = {
|
|
3299
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
3300
|
+
'content-type': 'application/json',
|
|
3301
|
+
accept: 'application/json',
|
|
3302
|
+
};
|
|
3303
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
3304
|
+
}
|
|
3305
|
+
updateRecoveryOTP(paramsOrFirst, ...rest) {
|
|
3306
|
+
let params;
|
|
3307
|
+
if (paramsOrFirst &&
|
|
3308
|
+
typeof paramsOrFirst === 'object' &&
|
|
3309
|
+
!Array.isArray(paramsOrFirst)) {
|
|
3310
|
+
params = (paramsOrFirst || {});
|
|
3311
|
+
}
|
|
3312
|
+
else {
|
|
3313
|
+
params = {
|
|
3314
|
+
userId: paramsOrFirst,
|
|
3315
|
+
secret: rest[0],
|
|
3316
|
+
password: rest[1],
|
|
3317
|
+
};
|
|
3318
|
+
}
|
|
3319
|
+
const userId = params.userId;
|
|
3320
|
+
const secret = params.secret;
|
|
3321
|
+
const password = params.password;
|
|
3322
|
+
if (typeof userId === 'undefined') {
|
|
3323
|
+
throw new AppwriteException('Missing required parameter: "userId"');
|
|
3324
|
+
}
|
|
3325
|
+
if (typeof secret === 'undefined') {
|
|
3326
|
+
throw new AppwriteException('Missing required parameter: "secret"');
|
|
3327
|
+
}
|
|
3328
|
+
if (typeof password === 'undefined') {
|
|
3329
|
+
throw new AppwriteException('Missing required parameter: "password"');
|
|
3330
|
+
}
|
|
3331
|
+
const apiPath = '/account/recovery/otp';
|
|
3332
|
+
const payload = {};
|
|
3333
|
+
if (typeof userId !== 'undefined') {
|
|
3334
|
+
payload['userId'] = userId;
|
|
3335
|
+
}
|
|
3336
|
+
if (typeof secret !== 'undefined') {
|
|
3337
|
+
payload['secret'] = secret;
|
|
3338
|
+
}
|
|
3339
|
+
if (typeof password !== 'undefined') {
|
|
3340
|
+
payload['password'] = password;
|
|
3341
|
+
}
|
|
3342
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
3343
|
+
const apiHeaders = {
|
|
3344
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
3345
|
+
'content-type': 'application/json',
|
|
3346
|
+
accept: 'application/json',
|
|
3347
|
+
};
|
|
3348
|
+
return this.client.call('put', uri, apiHeaders, payload);
|
|
3349
|
+
}
|
|
3277
3350
|
/**
|
|
3278
3351
|
* Get the list of active sessions across different devices for the currently logged in user.
|
|
3279
3352
|
*
|
|
@@ -3361,6 +3434,69 @@ class Account {
|
|
|
3361
3434
|
};
|
|
3362
3435
|
return this.client.call('post', uri, apiHeaders, payload);
|
|
3363
3436
|
}
|
|
3437
|
+
createIdTokenSession(paramsOrFirst, ...rest) {
|
|
3438
|
+
let params;
|
|
3439
|
+
if (paramsOrFirst &&
|
|
3440
|
+
typeof paramsOrFirst === 'object' &&
|
|
3441
|
+
!Array.isArray(paramsOrFirst) &&
|
|
3442
|
+
('provider' in paramsOrFirst ||
|
|
3443
|
+
'idToken' in paramsOrFirst ||
|
|
3444
|
+
'nonce' in paramsOrFirst ||
|
|
3445
|
+
'accessToken' in paramsOrFirst ||
|
|
3446
|
+
'accessTokenExpiry' in paramsOrFirst ||
|
|
3447
|
+
'name' in paramsOrFirst)) {
|
|
3448
|
+
params = (paramsOrFirst || {});
|
|
3449
|
+
}
|
|
3450
|
+
else {
|
|
3451
|
+
params = {
|
|
3452
|
+
provider: paramsOrFirst,
|
|
3453
|
+
idToken: rest[0],
|
|
3454
|
+
nonce: rest[1],
|
|
3455
|
+
accessToken: rest[2],
|
|
3456
|
+
accessTokenExpiry: rest[3],
|
|
3457
|
+
name: rest[4],
|
|
3458
|
+
};
|
|
3459
|
+
}
|
|
3460
|
+
const provider = params.provider;
|
|
3461
|
+
const idToken = params.idToken;
|
|
3462
|
+
const nonce = params.nonce;
|
|
3463
|
+
const accessToken = params.accessToken;
|
|
3464
|
+
const accessTokenExpiry = params.accessTokenExpiry;
|
|
3465
|
+
const name = params.name;
|
|
3466
|
+
if (typeof provider === 'undefined') {
|
|
3467
|
+
throw new AppwriteException('Missing required parameter: "provider"');
|
|
3468
|
+
}
|
|
3469
|
+
if (typeof idToken === 'undefined') {
|
|
3470
|
+
throw new AppwriteException('Missing required parameter: "idToken"');
|
|
3471
|
+
}
|
|
3472
|
+
const apiPath = '/account/sessions/id-token';
|
|
3473
|
+
const payload = {};
|
|
3474
|
+
if (typeof provider !== 'undefined') {
|
|
3475
|
+
payload['provider'] = provider;
|
|
3476
|
+
}
|
|
3477
|
+
if (typeof idToken !== 'undefined') {
|
|
3478
|
+
payload['idToken'] = idToken;
|
|
3479
|
+
}
|
|
3480
|
+
if (typeof nonce !== 'undefined') {
|
|
3481
|
+
payload['nonce'] = nonce;
|
|
3482
|
+
}
|
|
3483
|
+
if (typeof accessToken !== 'undefined') {
|
|
3484
|
+
payload['accessToken'] = accessToken;
|
|
3485
|
+
}
|
|
3486
|
+
if (typeof accessTokenExpiry !== 'undefined') {
|
|
3487
|
+
payload['accessTokenExpiry'] = accessTokenExpiry;
|
|
3488
|
+
}
|
|
3489
|
+
if (typeof name !== 'undefined') {
|
|
3490
|
+
payload['name'] = name;
|
|
3491
|
+
}
|
|
3492
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
3493
|
+
const apiHeaders = {
|
|
3494
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
3495
|
+
'content-type': 'application/json',
|
|
3496
|
+
accept: 'application/json',
|
|
3497
|
+
};
|
|
3498
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
3499
|
+
}
|
|
3364
3500
|
updateMagicURLSession(paramsOrFirst, ...rest) {
|
|
3365
3501
|
let params;
|
|
3366
3502
|
if (paramsOrFirst &&
|
|
@@ -4026,6 +4162,70 @@ class Account {
|
|
|
4026
4162
|
};
|
|
4027
4163
|
return this.client.call('put', uri, apiHeaders, payload);
|
|
4028
4164
|
}
|
|
4165
|
+
createEmailVerificationOTP(paramsOrFirst) {
|
|
4166
|
+
let params;
|
|
4167
|
+
if (typeof paramsOrFirst === 'undefined' ||
|
|
4168
|
+
(paramsOrFirst &&
|
|
4169
|
+
typeof paramsOrFirst === 'object' &&
|
|
4170
|
+
!Array.isArray(paramsOrFirst))) {
|
|
4171
|
+
params = (paramsOrFirst || {});
|
|
4172
|
+
}
|
|
4173
|
+
else {
|
|
4174
|
+
params = {
|
|
4175
|
+
phrase: paramsOrFirst,
|
|
4176
|
+
};
|
|
4177
|
+
}
|
|
4178
|
+
const phrase = params.phrase;
|
|
4179
|
+
const apiPath = '/account/verifications/email/otp';
|
|
4180
|
+
const payload = {};
|
|
4181
|
+
if (typeof phrase !== 'undefined') {
|
|
4182
|
+
payload['phrase'] = phrase;
|
|
4183
|
+
}
|
|
4184
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
4185
|
+
const apiHeaders = {
|
|
4186
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
4187
|
+
'content-type': 'application/json',
|
|
4188
|
+
accept: 'application/json',
|
|
4189
|
+
};
|
|
4190
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
4191
|
+
}
|
|
4192
|
+
updateEmailVerificationOTP(paramsOrFirst, ...rest) {
|
|
4193
|
+
let params;
|
|
4194
|
+
if (paramsOrFirst &&
|
|
4195
|
+
typeof paramsOrFirst === 'object' &&
|
|
4196
|
+
!Array.isArray(paramsOrFirst)) {
|
|
4197
|
+
params = (paramsOrFirst || {});
|
|
4198
|
+
}
|
|
4199
|
+
else {
|
|
4200
|
+
params = {
|
|
4201
|
+
userId: paramsOrFirst,
|
|
4202
|
+
secret: rest[0],
|
|
4203
|
+
};
|
|
4204
|
+
}
|
|
4205
|
+
const userId = params.userId;
|
|
4206
|
+
const secret = params.secret;
|
|
4207
|
+
if (typeof userId === 'undefined') {
|
|
4208
|
+
throw new AppwriteException('Missing required parameter: "userId"');
|
|
4209
|
+
}
|
|
4210
|
+
if (typeof secret === 'undefined') {
|
|
4211
|
+
throw new AppwriteException('Missing required parameter: "secret"');
|
|
4212
|
+
}
|
|
4213
|
+
const apiPath = '/account/verifications/email/otp';
|
|
4214
|
+
const payload = {};
|
|
4215
|
+
if (typeof userId !== 'undefined') {
|
|
4216
|
+
payload['userId'] = userId;
|
|
4217
|
+
}
|
|
4218
|
+
if (typeof secret !== 'undefined') {
|
|
4219
|
+
payload['secret'] = secret;
|
|
4220
|
+
}
|
|
4221
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
4222
|
+
const apiHeaders = {
|
|
4223
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
4224
|
+
'content-type': 'application/json',
|
|
4225
|
+
accept: 'application/json',
|
|
4226
|
+
};
|
|
4227
|
+
return this.client.call('put', uri, apiHeaders, payload);
|
|
4228
|
+
}
|
|
4029
4229
|
/**
|
|
4030
4230
|
* Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https://appwrite.io/docs/references/cloud/client-web/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.
|
|
4031
4231
|
*
|
|
@@ -15660,6 +15860,171 @@ class Graphql {
|
|
|
15660
15860
|
}
|
|
15661
15861
|
}
|
|
15662
15862
|
|
|
15863
|
+
class Growth {
|
|
15864
|
+
constructor(client) {
|
|
15865
|
+
this.client = client;
|
|
15866
|
+
}
|
|
15867
|
+
createConversation(paramsOrFirst, ...rest) {
|
|
15868
|
+
let params;
|
|
15869
|
+
let onProgress;
|
|
15870
|
+
if (paramsOrFirst &&
|
|
15871
|
+
typeof paramsOrFirst === 'object' &&
|
|
15872
|
+
!Array.isArray(paramsOrFirst) &&
|
|
15873
|
+
('type' in paramsOrFirst ||
|
|
15874
|
+
'email' in paramsOrFirst ||
|
|
15875
|
+
'name' in paramsOrFirst ||
|
|
15876
|
+
'subject' in paramsOrFirst ||
|
|
15877
|
+
'message' in paramsOrFirst ||
|
|
15878
|
+
'organizationId' in paramsOrFirst ||
|
|
15879
|
+
'projectId' in paramsOrFirst ||
|
|
15880
|
+
'attributes' in paramsOrFirst ||
|
|
15881
|
+
'attachment' in paramsOrFirst ||
|
|
15882
|
+
'onProgress' in paramsOrFirst)) {
|
|
15883
|
+
params = (paramsOrFirst || {});
|
|
15884
|
+
onProgress = paramsOrFirst === null || paramsOrFirst === void 0 ? void 0 : paramsOrFirst.onProgress;
|
|
15885
|
+
}
|
|
15886
|
+
else {
|
|
15887
|
+
params = {
|
|
15888
|
+
type: paramsOrFirst,
|
|
15889
|
+
email: rest[0],
|
|
15890
|
+
name: rest[1],
|
|
15891
|
+
subject: rest[2],
|
|
15892
|
+
message: rest[3],
|
|
15893
|
+
organizationId: rest[4],
|
|
15894
|
+
projectId: rest[5],
|
|
15895
|
+
attributes: rest[6],
|
|
15896
|
+
attachment: rest[7],
|
|
15897
|
+
};
|
|
15898
|
+
onProgress = rest[8];
|
|
15899
|
+
}
|
|
15900
|
+
const type = params.type;
|
|
15901
|
+
const email = params.email;
|
|
15902
|
+
const name = params.name;
|
|
15903
|
+
const subject = params.subject;
|
|
15904
|
+
const message = params.message;
|
|
15905
|
+
const organizationId = params.organizationId;
|
|
15906
|
+
const projectId = params.projectId;
|
|
15907
|
+
const attributes = params.attributes;
|
|
15908
|
+
const attachment = params.attachment;
|
|
15909
|
+
if (typeof type === 'undefined') {
|
|
15910
|
+
throw new AppwriteException('Missing required parameter: "type"');
|
|
15911
|
+
}
|
|
15912
|
+
const apiPath = '/growth/conversations';
|
|
15913
|
+
const payload = {};
|
|
15914
|
+
if (typeof type !== 'undefined') {
|
|
15915
|
+
payload['type'] = type;
|
|
15916
|
+
}
|
|
15917
|
+
if (typeof email !== 'undefined') {
|
|
15918
|
+
payload['email'] = email;
|
|
15919
|
+
}
|
|
15920
|
+
if (typeof name !== 'undefined') {
|
|
15921
|
+
payload['name'] = name;
|
|
15922
|
+
}
|
|
15923
|
+
if (typeof subject !== 'undefined') {
|
|
15924
|
+
payload['subject'] = subject;
|
|
15925
|
+
}
|
|
15926
|
+
if (typeof message !== 'undefined') {
|
|
15927
|
+
payload['message'] = message;
|
|
15928
|
+
}
|
|
15929
|
+
if (typeof organizationId !== 'undefined') {
|
|
15930
|
+
payload['organizationId'] = organizationId;
|
|
15931
|
+
}
|
|
15932
|
+
if (typeof projectId !== 'undefined') {
|
|
15933
|
+
payload['projectId'] = projectId;
|
|
15934
|
+
}
|
|
15935
|
+
if (typeof attributes !== 'undefined') {
|
|
15936
|
+
payload['attributes'] = attributes;
|
|
15937
|
+
}
|
|
15938
|
+
if (typeof attachment !== 'undefined') {
|
|
15939
|
+
payload['attachment'] = attachment;
|
|
15940
|
+
}
|
|
15941
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
15942
|
+
const apiHeaders = {
|
|
15943
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
15944
|
+
'content-type': 'multipart/form-data',
|
|
15945
|
+
accept: 'application/json',
|
|
15946
|
+
};
|
|
15947
|
+
return this.client.chunkedUpload('post', uri, apiHeaders, payload, onProgress);
|
|
15948
|
+
}
|
|
15949
|
+
createInstallation(paramsOrFirst, ...rest) {
|
|
15950
|
+
let params;
|
|
15951
|
+
if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
|
|
15952
|
+
(paramsOrFirst &&
|
|
15953
|
+
typeof paramsOrFirst === 'object' &&
|
|
15954
|
+
!Array.isArray(paramsOrFirst))) {
|
|
15955
|
+
params = (paramsOrFirst || {});
|
|
15956
|
+
}
|
|
15957
|
+
else {
|
|
15958
|
+
params = {
|
|
15959
|
+
email: paramsOrFirst,
|
|
15960
|
+
name: rest[0],
|
|
15961
|
+
version: rest[1],
|
|
15962
|
+
domain: rest[2],
|
|
15963
|
+
database: rest[3],
|
|
15964
|
+
hostIp: rest[4],
|
|
15965
|
+
userAgent: rest[5],
|
|
15966
|
+
os: rest[6],
|
|
15967
|
+
arch: rest[7],
|
|
15968
|
+
cpus: rest[8],
|
|
15969
|
+
ram: rest[9],
|
|
15970
|
+
};
|
|
15971
|
+
}
|
|
15972
|
+
const email = params.email;
|
|
15973
|
+
const name = params.name;
|
|
15974
|
+
const version = params.version;
|
|
15975
|
+
const domain = params.domain;
|
|
15976
|
+
const database = params.database;
|
|
15977
|
+
const hostIp = params.hostIp;
|
|
15978
|
+
const userAgent = params.userAgent;
|
|
15979
|
+
const os = params.os;
|
|
15980
|
+
const arch = params.arch;
|
|
15981
|
+
const cpus = params.cpus;
|
|
15982
|
+
const ram = params.ram;
|
|
15983
|
+
const apiPath = '/growth/installations';
|
|
15984
|
+
const payload = {};
|
|
15985
|
+
if (typeof email !== 'undefined') {
|
|
15986
|
+
payload['email'] = email;
|
|
15987
|
+
}
|
|
15988
|
+
if (typeof name !== 'undefined') {
|
|
15989
|
+
payload['name'] = name;
|
|
15990
|
+
}
|
|
15991
|
+
if (typeof version !== 'undefined') {
|
|
15992
|
+
payload['version'] = version;
|
|
15993
|
+
}
|
|
15994
|
+
if (typeof domain !== 'undefined') {
|
|
15995
|
+
payload['domain'] = domain;
|
|
15996
|
+
}
|
|
15997
|
+
if (typeof database !== 'undefined') {
|
|
15998
|
+
payload['database'] = database;
|
|
15999
|
+
}
|
|
16000
|
+
if (typeof hostIp !== 'undefined') {
|
|
16001
|
+
payload['hostIp'] = hostIp;
|
|
16002
|
+
}
|
|
16003
|
+
if (typeof userAgent !== 'undefined') {
|
|
16004
|
+
payload['userAgent'] = userAgent;
|
|
16005
|
+
}
|
|
16006
|
+
if (typeof os !== 'undefined') {
|
|
16007
|
+
payload['os'] = os;
|
|
16008
|
+
}
|
|
16009
|
+
if (typeof arch !== 'undefined') {
|
|
16010
|
+
payload['arch'] = arch;
|
|
16011
|
+
}
|
|
16012
|
+
if (typeof cpus !== 'undefined') {
|
|
16013
|
+
payload['cpus'] = cpus;
|
|
16014
|
+
}
|
|
16015
|
+
if (typeof ram !== 'undefined') {
|
|
16016
|
+
payload['ram'] = ram;
|
|
16017
|
+
}
|
|
16018
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
16019
|
+
const apiHeaders = {
|
|
16020
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
16021
|
+
'content-type': 'application/json',
|
|
16022
|
+
accept: 'application/json',
|
|
16023
|
+
};
|
|
16024
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
16025
|
+
}
|
|
16026
|
+
}
|
|
16027
|
+
|
|
15663
16028
|
class Locale {
|
|
15664
16029
|
constructor(client) {
|
|
15665
16030
|
this.client = client;
|
|
@@ -15984,6 +16349,47 @@ class Manager {
|
|
|
15984
16349
|
};
|
|
15985
16350
|
return this.client.call('delete', uri, apiHeaders, payload);
|
|
15986
16351
|
}
|
|
16352
|
+
updateOrganizationStatus(paramsOrFirst, ...rest) {
|
|
16353
|
+
let params;
|
|
16354
|
+
if (paramsOrFirst &&
|
|
16355
|
+
typeof paramsOrFirst === 'object' &&
|
|
16356
|
+
!Array.isArray(paramsOrFirst)) {
|
|
16357
|
+
params = (paramsOrFirst || {});
|
|
16358
|
+
}
|
|
16359
|
+
else {
|
|
16360
|
+
params = {
|
|
16361
|
+
teamId: paramsOrFirst,
|
|
16362
|
+
status: rest[0],
|
|
16363
|
+
reason: rest[1],
|
|
16364
|
+
};
|
|
16365
|
+
}
|
|
16366
|
+
const teamId = params.teamId;
|
|
16367
|
+
const status = params.status;
|
|
16368
|
+
const reason = params.reason;
|
|
16369
|
+
if (typeof teamId === 'undefined') {
|
|
16370
|
+
throw new AppwriteException('Missing required parameter: "teamId"');
|
|
16371
|
+
}
|
|
16372
|
+
if (typeof status === 'undefined') {
|
|
16373
|
+
throw new AppwriteException('Missing required parameter: "status"');
|
|
16374
|
+
}
|
|
16375
|
+
const apiPath = '/manager/organizations/status';
|
|
16376
|
+
const payload = {};
|
|
16377
|
+
if (typeof teamId !== 'undefined') {
|
|
16378
|
+
payload['teamId'] = teamId;
|
|
16379
|
+
}
|
|
16380
|
+
if (typeof status !== 'undefined') {
|
|
16381
|
+
payload['status'] = status;
|
|
16382
|
+
}
|
|
16383
|
+
if (typeof reason !== 'undefined') {
|
|
16384
|
+
payload['reason'] = reason;
|
|
16385
|
+
}
|
|
16386
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
16387
|
+
const apiHeaders = {
|
|
16388
|
+
'content-type': 'application/json',
|
|
16389
|
+
accept: 'application/json',
|
|
16390
|
+
};
|
|
16391
|
+
return this.client.call('patch', uri, apiHeaders, payload);
|
|
16392
|
+
}
|
|
15987
16393
|
updateUserStatus(paramsOrFirst, ...rest) {
|
|
15988
16394
|
let params;
|
|
15989
16395
|
if (paramsOrFirst &&
|
|
@@ -16087,9 +16493,11 @@ class Messaging {
|
|
|
16087
16493
|
cc: rest[5],
|
|
16088
16494
|
bcc: rest[6],
|
|
16089
16495
|
attachments: rest[7],
|
|
16090
|
-
|
|
16091
|
-
|
|
16092
|
-
|
|
16496
|
+
replyToEmail: rest[8],
|
|
16497
|
+
replyToName: rest[9],
|
|
16498
|
+
draft: rest[10],
|
|
16499
|
+
html: rest[11],
|
|
16500
|
+
scheduledAt: rest[12],
|
|
16093
16501
|
};
|
|
16094
16502
|
}
|
|
16095
16503
|
const messageId = params.messageId;
|
|
@@ -16101,6 +16509,8 @@ class Messaging {
|
|
|
16101
16509
|
const cc = params.cc;
|
|
16102
16510
|
const bcc = params.bcc;
|
|
16103
16511
|
const attachments = params.attachments;
|
|
16512
|
+
const replyToEmail = params.replyToEmail;
|
|
16513
|
+
const replyToName = params.replyToName;
|
|
16104
16514
|
const draft = params.draft;
|
|
16105
16515
|
const html = params.html;
|
|
16106
16516
|
const scheduledAt = params.scheduledAt;
|
|
@@ -16142,6 +16552,12 @@ class Messaging {
|
|
|
16142
16552
|
if (typeof attachments !== 'undefined') {
|
|
16143
16553
|
payload['attachments'] = attachments;
|
|
16144
16554
|
}
|
|
16555
|
+
if (typeof replyToEmail !== 'undefined') {
|
|
16556
|
+
payload['replyToEmail'] = replyToEmail;
|
|
16557
|
+
}
|
|
16558
|
+
if (typeof replyToName !== 'undefined') {
|
|
16559
|
+
payload['replyToName'] = replyToName;
|
|
16560
|
+
}
|
|
16145
16561
|
if (typeof draft !== 'undefined') {
|
|
16146
16562
|
payload['draft'] = draft;
|
|
16147
16563
|
}
|
|
@@ -16178,8 +16594,10 @@ class Messaging {
|
|
|
16178
16594
|
html: rest[6],
|
|
16179
16595
|
cc: rest[7],
|
|
16180
16596
|
bcc: rest[8],
|
|
16181
|
-
|
|
16182
|
-
|
|
16597
|
+
replyToEmail: rest[9],
|
|
16598
|
+
replyToName: rest[10],
|
|
16599
|
+
scheduledAt: rest[11],
|
|
16600
|
+
attachments: rest[12],
|
|
16183
16601
|
};
|
|
16184
16602
|
}
|
|
16185
16603
|
const messageId = params.messageId;
|
|
@@ -16192,6 +16610,8 @@ class Messaging {
|
|
|
16192
16610
|
const html = params.html;
|
|
16193
16611
|
const cc = params.cc;
|
|
16194
16612
|
const bcc = params.bcc;
|
|
16613
|
+
const replyToEmail = params.replyToEmail;
|
|
16614
|
+
const replyToName = params.replyToName;
|
|
16195
16615
|
const scheduledAt = params.scheduledAt;
|
|
16196
16616
|
const attachments = params.attachments;
|
|
16197
16617
|
if (typeof messageId === 'undefined' || messageId === '') {
|
|
@@ -16226,6 +16646,12 @@ class Messaging {
|
|
|
16226
16646
|
if (typeof bcc !== 'undefined') {
|
|
16227
16647
|
payload['bcc'] = bcc;
|
|
16228
16648
|
}
|
|
16649
|
+
if (typeof replyToEmail !== 'undefined') {
|
|
16650
|
+
payload['replyToEmail'] = replyToEmail;
|
|
16651
|
+
}
|
|
16652
|
+
if (typeof replyToName !== 'undefined') {
|
|
16653
|
+
payload['replyToName'] = replyToName;
|
|
16654
|
+
}
|
|
16229
16655
|
if (typeof scheduledAt !== 'undefined') {
|
|
16230
16656
|
payload['scheduledAt'] = scheduledAt;
|
|
16231
16657
|
}
|
|
@@ -17089,6 +17515,104 @@ class Messaging {
|
|
|
17089
17515
|
};
|
|
17090
17516
|
return this.client.call('patch', uri, apiHeaders, payload);
|
|
17091
17517
|
}
|
|
17518
|
+
createAppwriteProvider(paramsOrFirst, ...rest) {
|
|
17519
|
+
let params;
|
|
17520
|
+
if (paramsOrFirst &&
|
|
17521
|
+
typeof paramsOrFirst === 'object' &&
|
|
17522
|
+
!Array.isArray(paramsOrFirst)) {
|
|
17523
|
+
params = (paramsOrFirst || {});
|
|
17524
|
+
}
|
|
17525
|
+
else {
|
|
17526
|
+
params = {
|
|
17527
|
+
providerId: paramsOrFirst,
|
|
17528
|
+
name: rest[0],
|
|
17529
|
+
enabled: rest[1],
|
|
17530
|
+
qos: rest[2],
|
|
17531
|
+
expiry: rest[3],
|
|
17532
|
+
};
|
|
17533
|
+
}
|
|
17534
|
+
const providerId = params.providerId;
|
|
17535
|
+
const name = params.name;
|
|
17536
|
+
const enabled = params.enabled;
|
|
17537
|
+
const qos = params.qos;
|
|
17538
|
+
const expiry = params.expiry;
|
|
17539
|
+
if (typeof providerId === 'undefined') {
|
|
17540
|
+
throw new AppwriteException('Missing required parameter: "providerId"');
|
|
17541
|
+
}
|
|
17542
|
+
if (typeof name === 'undefined') {
|
|
17543
|
+
throw new AppwriteException('Missing required parameter: "name"');
|
|
17544
|
+
}
|
|
17545
|
+
const apiPath = '/messaging/providers/appwrite';
|
|
17546
|
+
const payload = {};
|
|
17547
|
+
if (typeof providerId !== 'undefined') {
|
|
17548
|
+
payload['providerId'] = providerId;
|
|
17549
|
+
}
|
|
17550
|
+
if (typeof name !== 'undefined') {
|
|
17551
|
+
payload['name'] = name;
|
|
17552
|
+
}
|
|
17553
|
+
if (typeof enabled !== 'undefined') {
|
|
17554
|
+
payload['enabled'] = enabled;
|
|
17555
|
+
}
|
|
17556
|
+
if (typeof qos !== 'undefined') {
|
|
17557
|
+
payload['qos'] = qos;
|
|
17558
|
+
}
|
|
17559
|
+
if (typeof expiry !== 'undefined') {
|
|
17560
|
+
payload['expiry'] = expiry;
|
|
17561
|
+
}
|
|
17562
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
17563
|
+
const apiHeaders = {
|
|
17564
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
17565
|
+
'content-type': 'application/json',
|
|
17566
|
+
accept: 'application/json',
|
|
17567
|
+
};
|
|
17568
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
17569
|
+
}
|
|
17570
|
+
updateAppwriteProvider(paramsOrFirst, ...rest) {
|
|
17571
|
+
let params;
|
|
17572
|
+
if (paramsOrFirst &&
|
|
17573
|
+
typeof paramsOrFirst === 'object' &&
|
|
17574
|
+
!Array.isArray(paramsOrFirst)) {
|
|
17575
|
+
params = (paramsOrFirst || {});
|
|
17576
|
+
}
|
|
17577
|
+
else {
|
|
17578
|
+
params = {
|
|
17579
|
+
providerId: paramsOrFirst,
|
|
17580
|
+
name: rest[0],
|
|
17581
|
+
enabled: rest[1],
|
|
17582
|
+
qos: rest[2],
|
|
17583
|
+
expiry: rest[3],
|
|
17584
|
+
};
|
|
17585
|
+
}
|
|
17586
|
+
const providerId = params.providerId;
|
|
17587
|
+
const name = params.name;
|
|
17588
|
+
const enabled = params.enabled;
|
|
17589
|
+
const qos = params.qos;
|
|
17590
|
+
const expiry = params.expiry;
|
|
17591
|
+
if (typeof providerId === 'undefined' || providerId === '') {
|
|
17592
|
+
throw new AppwriteException('Missing required parameter: "providerId"');
|
|
17593
|
+
}
|
|
17594
|
+
const apiPath = '/messaging/providers/appwrite/{providerId}'.replace('{providerId}', encodeURIComponent(String(providerId)));
|
|
17595
|
+
const payload = {};
|
|
17596
|
+
if (typeof name !== 'undefined') {
|
|
17597
|
+
payload['name'] = name;
|
|
17598
|
+
}
|
|
17599
|
+
if (typeof enabled !== 'undefined') {
|
|
17600
|
+
payload['enabled'] = enabled;
|
|
17601
|
+
}
|
|
17602
|
+
if (typeof qos !== 'undefined') {
|
|
17603
|
+
payload['qos'] = qos;
|
|
17604
|
+
}
|
|
17605
|
+
if (typeof expiry !== 'undefined') {
|
|
17606
|
+
payload['expiry'] = expiry;
|
|
17607
|
+
}
|
|
17608
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
17609
|
+
const apiHeaders = {
|
|
17610
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
17611
|
+
'content-type': 'application/json',
|
|
17612
|
+
accept: 'application/json',
|
|
17613
|
+
};
|
|
17614
|
+
return this.client.call('patch', uri, apiHeaders, payload);
|
|
17615
|
+
}
|
|
17092
17616
|
createFcmProvider(paramsOrFirst, ...rest) {
|
|
17093
17617
|
let params;
|
|
17094
17618
|
if (paramsOrFirst &&
|
|
@@ -18838,11 +19362,15 @@ class Messaging {
|
|
|
18838
19362
|
topicId: paramsOrFirst,
|
|
18839
19363
|
name: rest[0],
|
|
18840
19364
|
subscribe: rest[1],
|
|
19365
|
+
qos: rest[2],
|
|
19366
|
+
expiry: rest[3],
|
|
18841
19367
|
};
|
|
18842
19368
|
}
|
|
18843
19369
|
const topicId = params.topicId;
|
|
18844
19370
|
const name = params.name;
|
|
18845
19371
|
const subscribe = params.subscribe;
|
|
19372
|
+
const qos = params.qos;
|
|
19373
|
+
const expiry = params.expiry;
|
|
18846
19374
|
if (typeof topicId === 'undefined') {
|
|
18847
19375
|
throw new AppwriteException('Missing required parameter: "topicId"');
|
|
18848
19376
|
}
|
|
@@ -18860,6 +19388,12 @@ class Messaging {
|
|
|
18860
19388
|
if (typeof subscribe !== 'undefined') {
|
|
18861
19389
|
payload['subscribe'] = subscribe;
|
|
18862
19390
|
}
|
|
19391
|
+
if (typeof qos !== 'undefined') {
|
|
19392
|
+
payload['qos'] = qos;
|
|
19393
|
+
}
|
|
19394
|
+
if (typeof expiry !== 'undefined') {
|
|
19395
|
+
payload['expiry'] = expiry;
|
|
19396
|
+
}
|
|
18863
19397
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
18864
19398
|
const apiHeaders = {
|
|
18865
19399
|
'X-Appwrite-Project': this.client.config.project,
|
|
@@ -18905,11 +19439,15 @@ class Messaging {
|
|
|
18905
19439
|
topicId: paramsOrFirst,
|
|
18906
19440
|
name: rest[0],
|
|
18907
19441
|
subscribe: rest[1],
|
|
19442
|
+
qos: rest[2],
|
|
19443
|
+
expiry: rest[3],
|
|
18908
19444
|
};
|
|
18909
19445
|
}
|
|
18910
19446
|
const topicId = params.topicId;
|
|
18911
19447
|
const name = params.name;
|
|
18912
19448
|
const subscribe = params.subscribe;
|
|
19449
|
+
const qos = params.qos;
|
|
19450
|
+
const expiry = params.expiry;
|
|
18913
19451
|
if (typeof topicId === 'undefined' || topicId === '') {
|
|
18914
19452
|
throw new AppwriteException('Missing required parameter: "topicId"');
|
|
18915
19453
|
}
|
|
@@ -18921,6 +19459,12 @@ class Messaging {
|
|
|
18921
19459
|
if (typeof subscribe !== 'undefined') {
|
|
18922
19460
|
payload['subscribe'] = subscribe;
|
|
18923
19461
|
}
|
|
19462
|
+
if (typeof qos !== 'undefined') {
|
|
19463
|
+
payload['qos'] = qos;
|
|
19464
|
+
}
|
|
19465
|
+
if (typeof expiry !== 'undefined') {
|
|
19466
|
+
payload['expiry'] = expiry;
|
|
19467
|
+
}
|
|
18924
19468
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
18925
19469
|
const apiHeaders = {
|
|
18926
19470
|
'X-Appwrite-Project': this.client.config.project,
|
|
@@ -24176,6 +24720,257 @@ class Organization {
|
|
|
24176
24720
|
};
|
|
24177
24721
|
return this.client.call('delete', uri, apiHeaders, payload);
|
|
24178
24722
|
}
|
|
24723
|
+
listProjectKeys(paramsOrFirst, ...rest) {
|
|
24724
|
+
let params;
|
|
24725
|
+
if (paramsOrFirst &&
|
|
24726
|
+
typeof paramsOrFirst === 'object' &&
|
|
24727
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24728
|
+
params = (paramsOrFirst || {});
|
|
24729
|
+
}
|
|
24730
|
+
else {
|
|
24731
|
+
params = {
|
|
24732
|
+
projectId: paramsOrFirst,
|
|
24733
|
+
queries: rest[0],
|
|
24734
|
+
total: rest[1],
|
|
24735
|
+
};
|
|
24736
|
+
}
|
|
24737
|
+
const projectId = params.projectId;
|
|
24738
|
+
const queries = params.queries;
|
|
24739
|
+
const total = params.total;
|
|
24740
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24741
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24742
|
+
}
|
|
24743
|
+
const apiPath = '/organization/projects/{projectId}/keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
|
|
24744
|
+
const payload = {};
|
|
24745
|
+
if (typeof queries !== 'undefined') {
|
|
24746
|
+
payload['queries'] = queries;
|
|
24747
|
+
}
|
|
24748
|
+
if (typeof total !== 'undefined') {
|
|
24749
|
+
payload['total'] = total;
|
|
24750
|
+
}
|
|
24751
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24752
|
+
const apiHeaders = {
|
|
24753
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24754
|
+
accept: 'application/json',
|
|
24755
|
+
};
|
|
24756
|
+
return this.client.call('get', uri, apiHeaders, payload);
|
|
24757
|
+
}
|
|
24758
|
+
createProjectKey(paramsOrFirst, ...rest) {
|
|
24759
|
+
let params;
|
|
24760
|
+
if (paramsOrFirst &&
|
|
24761
|
+
typeof paramsOrFirst === 'object' &&
|
|
24762
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24763
|
+
params = (paramsOrFirst || {});
|
|
24764
|
+
}
|
|
24765
|
+
else {
|
|
24766
|
+
params = {
|
|
24767
|
+
projectId: paramsOrFirst,
|
|
24768
|
+
keyId: rest[0],
|
|
24769
|
+
name: rest[1],
|
|
24770
|
+
scopes: rest[2],
|
|
24771
|
+
expire: rest[3],
|
|
24772
|
+
};
|
|
24773
|
+
}
|
|
24774
|
+
const projectId = params.projectId;
|
|
24775
|
+
const keyId = params.keyId;
|
|
24776
|
+
const name = params.name;
|
|
24777
|
+
const scopes = params.scopes;
|
|
24778
|
+
const expire = params.expire;
|
|
24779
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24780
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24781
|
+
}
|
|
24782
|
+
if (typeof keyId === 'undefined') {
|
|
24783
|
+
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
24784
|
+
}
|
|
24785
|
+
if (typeof name === 'undefined') {
|
|
24786
|
+
throw new AppwriteException('Missing required parameter: "name"');
|
|
24787
|
+
}
|
|
24788
|
+
if (typeof scopes === 'undefined') {
|
|
24789
|
+
throw new AppwriteException('Missing required parameter: "scopes"');
|
|
24790
|
+
}
|
|
24791
|
+
const apiPath = '/organization/projects/{projectId}/keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
|
|
24792
|
+
const payload = {};
|
|
24793
|
+
if (typeof keyId !== 'undefined') {
|
|
24794
|
+
payload['keyId'] = keyId;
|
|
24795
|
+
}
|
|
24796
|
+
if (typeof name !== 'undefined') {
|
|
24797
|
+
payload['name'] = name;
|
|
24798
|
+
}
|
|
24799
|
+
if (typeof scopes !== 'undefined') {
|
|
24800
|
+
payload['scopes'] = scopes;
|
|
24801
|
+
}
|
|
24802
|
+
if (typeof expire !== 'undefined') {
|
|
24803
|
+
payload['expire'] = expire;
|
|
24804
|
+
}
|
|
24805
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24806
|
+
const apiHeaders = {
|
|
24807
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24808
|
+
'content-type': 'application/json',
|
|
24809
|
+
accept: 'application/json',
|
|
24810
|
+
};
|
|
24811
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
24812
|
+
}
|
|
24813
|
+
createEphemeralProjectKey(paramsOrFirst, ...rest) {
|
|
24814
|
+
let params;
|
|
24815
|
+
if (paramsOrFirst &&
|
|
24816
|
+
typeof paramsOrFirst === 'object' &&
|
|
24817
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24818
|
+
params = (paramsOrFirst || {});
|
|
24819
|
+
}
|
|
24820
|
+
else {
|
|
24821
|
+
params = {
|
|
24822
|
+
projectId: paramsOrFirst,
|
|
24823
|
+
scopes: rest[0],
|
|
24824
|
+
duration: rest[1],
|
|
24825
|
+
};
|
|
24826
|
+
}
|
|
24827
|
+
const projectId = params.projectId;
|
|
24828
|
+
const scopes = params.scopes;
|
|
24829
|
+
const duration = params.duration;
|
|
24830
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24831
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24832
|
+
}
|
|
24833
|
+
if (typeof scopes === 'undefined') {
|
|
24834
|
+
throw new AppwriteException('Missing required parameter: "scopes"');
|
|
24835
|
+
}
|
|
24836
|
+
if (typeof duration === 'undefined') {
|
|
24837
|
+
throw new AppwriteException('Missing required parameter: "duration"');
|
|
24838
|
+
}
|
|
24839
|
+
const apiPath = '/organization/projects/{projectId}/keys/ephemeral'.replace('{projectId}', encodeURIComponent(String(projectId)));
|
|
24840
|
+
const payload = {};
|
|
24841
|
+
if (typeof scopes !== 'undefined') {
|
|
24842
|
+
payload['scopes'] = scopes;
|
|
24843
|
+
}
|
|
24844
|
+
if (typeof duration !== 'undefined') {
|
|
24845
|
+
payload['duration'] = duration;
|
|
24846
|
+
}
|
|
24847
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24848
|
+
const apiHeaders = {
|
|
24849
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24850
|
+
'content-type': 'application/json',
|
|
24851
|
+
accept: 'application/json',
|
|
24852
|
+
};
|
|
24853
|
+
return this.client.call('post', uri, apiHeaders, payload);
|
|
24854
|
+
}
|
|
24855
|
+
getProjectKey(paramsOrFirst, ...rest) {
|
|
24856
|
+
let params;
|
|
24857
|
+
if (paramsOrFirst &&
|
|
24858
|
+
typeof paramsOrFirst === 'object' &&
|
|
24859
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24860
|
+
params = (paramsOrFirst || {});
|
|
24861
|
+
}
|
|
24862
|
+
else {
|
|
24863
|
+
params = {
|
|
24864
|
+
projectId: paramsOrFirst,
|
|
24865
|
+
keyId: rest[0],
|
|
24866
|
+
};
|
|
24867
|
+
}
|
|
24868
|
+
const projectId = params.projectId;
|
|
24869
|
+
const keyId = params.keyId;
|
|
24870
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24871
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24872
|
+
}
|
|
24873
|
+
if (typeof keyId === 'undefined' || keyId === '') {
|
|
24874
|
+
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
24875
|
+
}
|
|
24876
|
+
const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
|
|
24877
|
+
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
24878
|
+
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
24879
|
+
const payload = {};
|
|
24880
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24881
|
+
const apiHeaders = {
|
|
24882
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24883
|
+
accept: 'application/json',
|
|
24884
|
+
};
|
|
24885
|
+
return this.client.call('get', uri, apiHeaders, payload);
|
|
24886
|
+
}
|
|
24887
|
+
updateProjectKey(paramsOrFirst, ...rest) {
|
|
24888
|
+
let params;
|
|
24889
|
+
if (paramsOrFirst &&
|
|
24890
|
+
typeof paramsOrFirst === 'object' &&
|
|
24891
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24892
|
+
params = (paramsOrFirst || {});
|
|
24893
|
+
}
|
|
24894
|
+
else {
|
|
24895
|
+
params = {
|
|
24896
|
+
projectId: paramsOrFirst,
|
|
24897
|
+
keyId: rest[0],
|
|
24898
|
+
name: rest[1],
|
|
24899
|
+
scopes: rest[2],
|
|
24900
|
+
expire: rest[3],
|
|
24901
|
+
};
|
|
24902
|
+
}
|
|
24903
|
+
const projectId = params.projectId;
|
|
24904
|
+
const keyId = params.keyId;
|
|
24905
|
+
const name = params.name;
|
|
24906
|
+
const scopes = params.scopes;
|
|
24907
|
+
const expire = params.expire;
|
|
24908
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24909
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24910
|
+
}
|
|
24911
|
+
if (typeof keyId === 'undefined' || keyId === '') {
|
|
24912
|
+
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
24913
|
+
}
|
|
24914
|
+
if (typeof name === 'undefined') {
|
|
24915
|
+
throw new AppwriteException('Missing required parameter: "name"');
|
|
24916
|
+
}
|
|
24917
|
+
if (typeof scopes === 'undefined') {
|
|
24918
|
+
throw new AppwriteException('Missing required parameter: "scopes"');
|
|
24919
|
+
}
|
|
24920
|
+
const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
|
|
24921
|
+
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
24922
|
+
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
24923
|
+
const payload = {};
|
|
24924
|
+
if (typeof name !== 'undefined') {
|
|
24925
|
+
payload['name'] = name;
|
|
24926
|
+
}
|
|
24927
|
+
if (typeof scopes !== 'undefined') {
|
|
24928
|
+
payload['scopes'] = scopes;
|
|
24929
|
+
}
|
|
24930
|
+
if (typeof expire !== 'undefined') {
|
|
24931
|
+
payload['expire'] = expire;
|
|
24932
|
+
}
|
|
24933
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24934
|
+
const apiHeaders = {
|
|
24935
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24936
|
+
'content-type': 'application/json',
|
|
24937
|
+
accept: 'application/json',
|
|
24938
|
+
};
|
|
24939
|
+
return this.client.call('put', uri, apiHeaders, payload);
|
|
24940
|
+
}
|
|
24941
|
+
deleteProjectKey(paramsOrFirst, ...rest) {
|
|
24942
|
+
let params;
|
|
24943
|
+
if (paramsOrFirst &&
|
|
24944
|
+
typeof paramsOrFirst === 'object' &&
|
|
24945
|
+
!Array.isArray(paramsOrFirst)) {
|
|
24946
|
+
params = (paramsOrFirst || {});
|
|
24947
|
+
}
|
|
24948
|
+
else {
|
|
24949
|
+
params = {
|
|
24950
|
+
projectId: paramsOrFirst,
|
|
24951
|
+
keyId: rest[0],
|
|
24952
|
+
};
|
|
24953
|
+
}
|
|
24954
|
+
const projectId = params.projectId;
|
|
24955
|
+
const keyId = params.keyId;
|
|
24956
|
+
if (typeof projectId === 'undefined' || projectId === '') {
|
|
24957
|
+
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
24958
|
+
}
|
|
24959
|
+
if (typeof keyId === 'undefined' || keyId === '') {
|
|
24960
|
+
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
24961
|
+
}
|
|
24962
|
+
const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
|
|
24963
|
+
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
24964
|
+
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
24965
|
+
const payload = {};
|
|
24966
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
24967
|
+
const apiHeaders = {
|
|
24968
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
24969
|
+
'content-type': 'application/json',
|
|
24970
|
+
accept: 'application/json',
|
|
24971
|
+
};
|
|
24972
|
+
return this.client.call('delete', uri, apiHeaders, payload);
|
|
24973
|
+
}
|
|
24179
24974
|
}
|
|
24180
24975
|
|
|
24181
24976
|
class Organizations {
|
|
@@ -25505,32 +26300,6 @@ class Organizations {
|
|
|
25505
26300
|
};
|
|
25506
26301
|
return this.client.call('patch', uri, apiHeaders, payload);
|
|
25507
26302
|
}
|
|
25508
|
-
cancelDowngrade(paramsOrFirst) {
|
|
25509
|
-
let params;
|
|
25510
|
-
if (paramsOrFirst &&
|
|
25511
|
-
typeof paramsOrFirst === 'object' &&
|
|
25512
|
-
!Array.isArray(paramsOrFirst)) {
|
|
25513
|
-
params = (paramsOrFirst || {});
|
|
25514
|
-
}
|
|
25515
|
-
else {
|
|
25516
|
-
params = {
|
|
25517
|
-
organizationId: paramsOrFirst,
|
|
25518
|
-
};
|
|
25519
|
-
}
|
|
25520
|
-
const organizationId = params.organizationId;
|
|
25521
|
-
if (typeof organizationId === 'undefined' || organizationId === '') {
|
|
25522
|
-
throw new AppwriteException('Missing required parameter: "organizationId"');
|
|
25523
|
-
}
|
|
25524
|
-
const apiPath = '/organizations/{organizationId}/plan/cancel'.replace('{organizationId}', encodeURIComponent(String(organizationId)));
|
|
25525
|
-
const payload = {};
|
|
25526
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
25527
|
-
const apiHeaders = {
|
|
25528
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
25529
|
-
'content-type': 'application/json',
|
|
25530
|
-
accept: 'application/json',
|
|
25531
|
-
};
|
|
25532
|
-
return this.client.call('patch', uri, apiHeaders, payload);
|
|
25533
|
-
}
|
|
25534
26303
|
createPlanEstimation(paramsOrFirst, ...rest) {
|
|
25535
26304
|
let params;
|
|
25536
26305
|
if (paramsOrFirst &&
|
|
@@ -28084,14 +28853,18 @@ class Project {
|
|
|
28084
28853
|
keyId: rest[0],
|
|
28085
28854
|
teamId: rest[1],
|
|
28086
28855
|
p8File: rest[2],
|
|
28087
|
-
|
|
28856
|
+
nativeClientIds: rest[3],
|
|
28857
|
+
enabled: rest[4],
|
|
28858
|
+
nativeEnabled: rest[5],
|
|
28088
28859
|
};
|
|
28089
28860
|
}
|
|
28090
28861
|
const serviceId = params.serviceId;
|
|
28091
28862
|
const keyId = params.keyId;
|
|
28092
28863
|
const teamId = params.teamId;
|
|
28093
28864
|
const p8File = params.p8File;
|
|
28865
|
+
const nativeClientIds = params.nativeClientIds;
|
|
28094
28866
|
const enabled = params.enabled;
|
|
28867
|
+
const nativeEnabled = params.nativeEnabled;
|
|
28095
28868
|
const apiPath = '/project/oauth2/apple';
|
|
28096
28869
|
const payload = {};
|
|
28097
28870
|
if (typeof serviceId !== 'undefined') {
|
|
@@ -28106,9 +28879,15 @@ class Project {
|
|
|
28106
28879
|
if (typeof p8File !== 'undefined') {
|
|
28107
28880
|
payload['p8File'] = p8File;
|
|
28108
28881
|
}
|
|
28882
|
+
if (typeof nativeClientIds !== 'undefined') {
|
|
28883
|
+
payload['nativeClientIds'] = nativeClientIds;
|
|
28884
|
+
}
|
|
28109
28885
|
if (typeof enabled !== 'undefined') {
|
|
28110
28886
|
payload['enabled'] = enabled;
|
|
28111
28887
|
}
|
|
28888
|
+
if (typeof nativeEnabled !== 'undefined') {
|
|
28889
|
+
payload['nativeEnabled'] = nativeEnabled;
|
|
28890
|
+
}
|
|
28112
28891
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
28113
28892
|
const apiHeaders = {
|
|
28114
28893
|
'X-Appwrite-Project': this.client.config.project,
|
|
@@ -28167,12 +28946,14 @@ class Project {
|
|
|
28167
28946
|
clientId: paramsOrFirst,
|
|
28168
28947
|
clientSecret: rest[0],
|
|
28169
28948
|
endpoint: rest[1],
|
|
28170
|
-
|
|
28949
|
+
prompt: rest[2],
|
|
28950
|
+
enabled: rest[3],
|
|
28171
28951
|
};
|
|
28172
28952
|
}
|
|
28173
28953
|
const clientId = params.clientId;
|
|
28174
28954
|
const clientSecret = params.clientSecret;
|
|
28175
28955
|
const endpoint = params.endpoint;
|
|
28956
|
+
const prompt = params.prompt;
|
|
28176
28957
|
const enabled = params.enabled;
|
|
28177
28958
|
const apiPath = '/project/oauth2/auth0';
|
|
28178
28959
|
const payload = {};
|
|
@@ -28185,6 +28966,9 @@ class Project {
|
|
|
28185
28966
|
if (typeof endpoint !== 'undefined') {
|
|
28186
28967
|
payload['endpoint'] = endpoint;
|
|
28187
28968
|
}
|
|
28969
|
+
if (typeof prompt !== 'undefined') {
|
|
28970
|
+
payload['prompt'] = prompt;
|
|
28971
|
+
}
|
|
28188
28972
|
if (typeof enabled !== 'undefined') {
|
|
28189
28973
|
payload['enabled'] = enabled;
|
|
28190
28974
|
}
|
|
@@ -28472,11 +29256,13 @@ class Project {
|
|
|
28472
29256
|
params = {
|
|
28473
29257
|
clientId: paramsOrFirst,
|
|
28474
29258
|
clientSecret: rest[0],
|
|
28475
|
-
|
|
29259
|
+
prompt: rest[1],
|
|
29260
|
+
enabled: rest[2],
|
|
28476
29261
|
};
|
|
28477
29262
|
}
|
|
28478
29263
|
const clientId = params.clientId;
|
|
28479
29264
|
const clientSecret = params.clientSecret;
|
|
29265
|
+
const prompt = params.prompt;
|
|
28480
29266
|
const enabled = params.enabled;
|
|
28481
29267
|
const apiPath = '/project/oauth2/discord';
|
|
28482
29268
|
const payload = {};
|
|
@@ -28486,6 +29272,9 @@ class Project {
|
|
|
28486
29272
|
if (typeof clientSecret !== 'undefined') {
|
|
28487
29273
|
payload['clientSecret'] = clientSecret;
|
|
28488
29274
|
}
|
|
29275
|
+
if (typeof prompt !== 'undefined') {
|
|
29276
|
+
payload['prompt'] = prompt;
|
|
29277
|
+
}
|
|
28489
29278
|
if (typeof enabled !== 'undefined') {
|
|
28490
29279
|
payload['enabled'] = enabled;
|
|
28491
29280
|
}
|
|
@@ -28736,11 +29525,13 @@ class Project {
|
|
|
28736
29525
|
params = {
|
|
28737
29526
|
clientId: paramsOrFirst,
|
|
28738
29527
|
clientSecret: rest[0],
|
|
28739
|
-
|
|
29528
|
+
prompt: rest[1],
|
|
29529
|
+
enabled: rest[2],
|
|
28740
29530
|
};
|
|
28741
29531
|
}
|
|
28742
29532
|
const clientId = params.clientId;
|
|
28743
29533
|
const clientSecret = params.clientSecret;
|
|
29534
|
+
const prompt = params.prompt;
|
|
28744
29535
|
const enabled = params.enabled;
|
|
28745
29536
|
const apiPath = '/project/oauth2/github';
|
|
28746
29537
|
const payload = {};
|
|
@@ -28750,6 +29541,9 @@ class Project {
|
|
|
28750
29541
|
if (typeof clientSecret !== 'undefined') {
|
|
28751
29542
|
payload['clientSecret'] = clientSecret;
|
|
28752
29543
|
}
|
|
29544
|
+
if (typeof prompt !== 'undefined') {
|
|
29545
|
+
payload['prompt'] = prompt;
|
|
29546
|
+
}
|
|
28753
29547
|
if (typeof enabled !== 'undefined') {
|
|
28754
29548
|
payload['enabled'] = enabled;
|
|
28755
29549
|
}
|
|
@@ -28816,13 +29610,17 @@ class Project {
|
|
|
28816
29610
|
clientId: paramsOrFirst,
|
|
28817
29611
|
clientSecret: rest[0],
|
|
28818
29612
|
prompt: rest[1],
|
|
28819
|
-
|
|
29613
|
+
nativeClientIds: rest[2],
|
|
29614
|
+
enabled: rest[3],
|
|
29615
|
+
nativeEnabled: rest[4],
|
|
28820
29616
|
};
|
|
28821
29617
|
}
|
|
28822
29618
|
const clientId = params.clientId;
|
|
28823
29619
|
const clientSecret = params.clientSecret;
|
|
28824
29620
|
const prompt = params.prompt;
|
|
29621
|
+
const nativeClientIds = params.nativeClientIds;
|
|
28825
29622
|
const enabled = params.enabled;
|
|
29623
|
+
const nativeEnabled = params.nativeEnabled;
|
|
28826
29624
|
const apiPath = '/project/oauth2/google';
|
|
28827
29625
|
const payload = {};
|
|
28828
29626
|
if (typeof clientId !== 'undefined') {
|
|
@@ -28834,9 +29632,15 @@ class Project {
|
|
|
28834
29632
|
if (typeof prompt !== 'undefined') {
|
|
28835
29633
|
payload['prompt'] = prompt;
|
|
28836
29634
|
}
|
|
29635
|
+
if (typeof nativeClientIds !== 'undefined') {
|
|
29636
|
+
payload['nativeClientIds'] = nativeClientIds;
|
|
29637
|
+
}
|
|
28837
29638
|
if (typeof enabled !== 'undefined') {
|
|
28838
29639
|
payload['enabled'] = enabled;
|
|
28839
29640
|
}
|
|
29641
|
+
if (typeof nativeEnabled !== 'undefined') {
|
|
29642
|
+
payload['nativeEnabled'] = nativeEnabled;
|
|
29643
|
+
}
|
|
28840
29644
|
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
28841
29645
|
const apiHeaders = {
|
|
28842
29646
|
'X-Appwrite-Project': this.client.config.project,
|
|
@@ -28894,11 +29698,13 @@ class Project {
|
|
|
28894
29698
|
params = {
|
|
28895
29699
|
clientId: paramsOrFirst,
|
|
28896
29700
|
clientSecret: rest[0],
|
|
28897
|
-
|
|
29701
|
+
prompt: rest[1],
|
|
29702
|
+
enabled: rest[2],
|
|
28898
29703
|
};
|
|
28899
29704
|
}
|
|
28900
29705
|
const clientId = params.clientId;
|
|
28901
29706
|
const clientSecret = params.clientSecret;
|
|
29707
|
+
const prompt = params.prompt;
|
|
28902
29708
|
const enabled = params.enabled;
|
|
28903
29709
|
const apiPath = '/project/oauth2/kakao';
|
|
28904
29710
|
const payload = {};
|
|
@@ -28908,6 +29714,9 @@ class Project {
|
|
|
28908
29714
|
if (typeof clientSecret !== 'undefined') {
|
|
28909
29715
|
payload['clientSecret'] = clientSecret;
|
|
28910
29716
|
}
|
|
29717
|
+
if (typeof prompt !== 'undefined') {
|
|
29718
|
+
payload['prompt'] = prompt;
|
|
29719
|
+
}
|
|
28911
29720
|
if (typeof enabled !== 'undefined') {
|
|
28912
29721
|
payload['enabled'] = enabled;
|
|
28913
29722
|
}
|
|
@@ -29053,12 +29862,14 @@ class Project {
|
|
|
29053
29862
|
applicationId: paramsOrFirst,
|
|
29054
29863
|
applicationSecret: rest[0],
|
|
29055
29864
|
tenant: rest[1],
|
|
29056
|
-
|
|
29865
|
+
prompt: rest[2],
|
|
29866
|
+
enabled: rest[3],
|
|
29057
29867
|
};
|
|
29058
29868
|
}
|
|
29059
29869
|
const applicationId = params.applicationId;
|
|
29060
29870
|
const applicationSecret = params.applicationSecret;
|
|
29061
29871
|
const tenant = params.tenant;
|
|
29872
|
+
const prompt = params.prompt;
|
|
29062
29873
|
const enabled = params.enabled;
|
|
29063
29874
|
const apiPath = '/project/oauth2/microsoft';
|
|
29064
29875
|
const payload = {};
|
|
@@ -29071,6 +29882,9 @@ class Project {
|
|
|
29071
29882
|
if (typeof tenant !== 'undefined') {
|
|
29072
29883
|
payload['tenant'] = tenant;
|
|
29073
29884
|
}
|
|
29885
|
+
if (typeof prompt !== 'undefined') {
|
|
29886
|
+
payload['prompt'] = prompt;
|
|
29887
|
+
}
|
|
29074
29888
|
if (typeof enabled !== 'undefined') {
|
|
29075
29889
|
payload['enabled'] = enabled;
|
|
29076
29890
|
}
|
|
@@ -29200,13 +30014,15 @@ class Project {
|
|
|
29200
30014
|
clientSecret: rest[0],
|
|
29201
30015
|
domain: rest[1],
|
|
29202
30016
|
authorizationServerId: rest[2],
|
|
29203
|
-
|
|
30017
|
+
prompt: rest[3],
|
|
30018
|
+
enabled: rest[4],
|
|
29204
30019
|
};
|
|
29205
30020
|
}
|
|
29206
30021
|
const clientId = params.clientId;
|
|
29207
30022
|
const clientSecret = params.clientSecret;
|
|
29208
30023
|
const domain = params.domain;
|
|
29209
30024
|
const authorizationServerId = params.authorizationServerId;
|
|
30025
|
+
const prompt = params.prompt;
|
|
29210
30026
|
const enabled = params.enabled;
|
|
29211
30027
|
const apiPath = '/project/oauth2/okta';
|
|
29212
30028
|
const payload = {};
|
|
@@ -29222,6 +30038,9 @@ class Project {
|
|
|
29222
30038
|
if (typeof authorizationServerId !== 'undefined') {
|
|
29223
30039
|
payload['authorizationServerId'] = authorizationServerId;
|
|
29224
30040
|
}
|
|
30041
|
+
if (typeof prompt !== 'undefined') {
|
|
30042
|
+
payload['prompt'] = prompt;
|
|
30043
|
+
}
|
|
29225
30044
|
if (typeof enabled !== 'undefined') {
|
|
29226
30045
|
payload['enabled'] = enabled;
|
|
29227
30046
|
}
|
|
@@ -29393,11 +30212,13 @@ class Project {
|
|
|
29393
30212
|
params = {
|
|
29394
30213
|
customerKey: paramsOrFirst,
|
|
29395
30214
|
customerSecret: rest[0],
|
|
29396
|
-
|
|
30215
|
+
prompt: rest[1],
|
|
30216
|
+
enabled: rest[2],
|
|
29397
30217
|
};
|
|
29398
30218
|
}
|
|
29399
30219
|
const customerKey = params.customerKey;
|
|
29400
30220
|
const customerSecret = params.customerSecret;
|
|
30221
|
+
const prompt = params.prompt;
|
|
29401
30222
|
const enabled = params.enabled;
|
|
29402
30223
|
const apiPath = '/project/oauth2/salesforce';
|
|
29403
30224
|
const payload = {};
|
|
@@ -29407,6 +30228,9 @@ class Project {
|
|
|
29407
30228
|
if (typeof customerSecret !== 'undefined') {
|
|
29408
30229
|
payload['customerSecret'] = customerSecret;
|
|
29409
30230
|
}
|
|
30231
|
+
if (typeof prompt !== 'undefined') {
|
|
30232
|
+
payload['prompt'] = prompt;
|
|
30233
|
+
}
|
|
29410
30234
|
if (typeof enabled !== 'undefined') {
|
|
29411
30235
|
payload['enabled'] = enabled;
|
|
29412
30236
|
}
|
|
@@ -29837,11 +30661,13 @@ class Project {
|
|
|
29837
30661
|
params = {
|
|
29838
30662
|
clientId: paramsOrFirst,
|
|
29839
30663
|
clientSecret: rest[0],
|
|
29840
|
-
|
|
30664
|
+
prompt: rest[1],
|
|
30665
|
+
enabled: rest[2],
|
|
29841
30666
|
};
|
|
29842
30667
|
}
|
|
29843
30668
|
const clientId = params.clientId;
|
|
29844
30669
|
const clientSecret = params.clientSecret;
|
|
30670
|
+
const prompt = params.prompt;
|
|
29845
30671
|
const enabled = params.enabled;
|
|
29846
30672
|
const apiPath = '/project/oauth2/zoho';
|
|
29847
30673
|
const payload = {};
|
|
@@ -29851,6 +30677,9 @@ class Project {
|
|
|
29851
30677
|
if (typeof clientSecret !== 'undefined') {
|
|
29852
30678
|
payload['clientSecret'] = clientSecret;
|
|
29853
30679
|
}
|
|
30680
|
+
if (typeof prompt !== 'undefined') {
|
|
30681
|
+
payload['prompt'] = prompt;
|
|
30682
|
+
}
|
|
29854
30683
|
if (typeof enabled !== 'undefined') {
|
|
29855
30684
|
payload['enabled'] = enabled;
|
|
29856
30685
|
}
|
|
@@ -30770,6 +31599,43 @@ class Project {
|
|
|
30770
31599
|
};
|
|
30771
31600
|
return this.client.call('patch', uri, apiHeaders, payload);
|
|
30772
31601
|
}
|
|
31602
|
+
updatePasswordPwnedPolicy(paramsOrFirst, ...rest) {
|
|
31603
|
+
let params;
|
|
31604
|
+
if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
|
|
31605
|
+
(paramsOrFirst &&
|
|
31606
|
+
typeof paramsOrFirst === 'object' &&
|
|
31607
|
+
!Array.isArray(paramsOrFirst))) {
|
|
31608
|
+
params = (paramsOrFirst || {});
|
|
31609
|
+
}
|
|
31610
|
+
else {
|
|
31611
|
+
params = {
|
|
31612
|
+
enabled: paramsOrFirst,
|
|
31613
|
+
sessions: rest[0],
|
|
31614
|
+
users: rest[1],
|
|
31615
|
+
};
|
|
31616
|
+
}
|
|
31617
|
+
const enabled = params.enabled;
|
|
31618
|
+
const sessions = params.sessions;
|
|
31619
|
+
const users = params.users;
|
|
31620
|
+
const apiPath = '/project/policies/password-pwned';
|
|
31621
|
+
const payload = {};
|
|
31622
|
+
if (typeof enabled !== 'undefined') {
|
|
31623
|
+
payload['enabled'] = enabled;
|
|
31624
|
+
}
|
|
31625
|
+
if (typeof sessions !== 'undefined') {
|
|
31626
|
+
payload['sessions'] = sessions;
|
|
31627
|
+
}
|
|
31628
|
+
if (typeof users !== 'undefined') {
|
|
31629
|
+
payload['users'] = users;
|
|
31630
|
+
}
|
|
31631
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31632
|
+
const apiHeaders = {
|
|
31633
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
31634
|
+
'content-type': 'application/json',
|
|
31635
|
+
accept: 'application/json',
|
|
31636
|
+
};
|
|
31637
|
+
return this.client.call('patch', uri, apiHeaders, payload);
|
|
31638
|
+
}
|
|
30773
31639
|
updatePasswordStrengthPolicy(paramsOrFirst, ...rest) {
|
|
30774
31640
|
let params;
|
|
30775
31641
|
if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
|
|
@@ -31293,47 +32159,6 @@ class Project {
|
|
|
31293
32159
|
};
|
|
31294
32160
|
return this.client.call('get', uri, apiHeaders, payload);
|
|
31295
32161
|
}
|
|
31296
|
-
getUsage(paramsOrFirst, ...rest) {
|
|
31297
|
-
let params;
|
|
31298
|
-
if (paramsOrFirst &&
|
|
31299
|
-
typeof paramsOrFirst === 'object' &&
|
|
31300
|
-
!Array.isArray(paramsOrFirst)) {
|
|
31301
|
-
params = (paramsOrFirst || {});
|
|
31302
|
-
}
|
|
31303
|
-
else {
|
|
31304
|
-
params = {
|
|
31305
|
-
startDate: paramsOrFirst,
|
|
31306
|
-
endDate: rest[0],
|
|
31307
|
-
period: rest[1],
|
|
31308
|
-
};
|
|
31309
|
-
}
|
|
31310
|
-
const startDate = params.startDate;
|
|
31311
|
-
const endDate = params.endDate;
|
|
31312
|
-
const period = params.period;
|
|
31313
|
-
if (typeof startDate === 'undefined') {
|
|
31314
|
-
throw new AppwriteException('Missing required parameter: "startDate"');
|
|
31315
|
-
}
|
|
31316
|
-
if (typeof endDate === 'undefined') {
|
|
31317
|
-
throw new AppwriteException('Missing required parameter: "endDate"');
|
|
31318
|
-
}
|
|
31319
|
-
const apiPath = '/project/usage';
|
|
31320
|
-
const payload = {};
|
|
31321
|
-
if (typeof startDate !== 'undefined') {
|
|
31322
|
-
payload['startDate'] = startDate;
|
|
31323
|
-
}
|
|
31324
|
-
if (typeof endDate !== 'undefined') {
|
|
31325
|
-
payload['endDate'] = endDate;
|
|
31326
|
-
}
|
|
31327
|
-
if (typeof period !== 'undefined') {
|
|
31328
|
-
payload['period'] = period;
|
|
31329
|
-
}
|
|
31330
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31331
|
-
const apiHeaders = {
|
|
31332
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
31333
|
-
accept: 'application/json',
|
|
31334
|
-
};
|
|
31335
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
31336
|
-
}
|
|
31337
32162
|
listVariables(paramsOrFirst, ...rest) {
|
|
31338
32163
|
let params;
|
|
31339
32164
|
if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
|
|
@@ -31720,150 +32545,6 @@ class Projects {
|
|
|
31720
32545
|
};
|
|
31721
32546
|
return this.client.call('patch', uri, apiHeaders, payload);
|
|
31722
32547
|
}
|
|
31723
|
-
listDevKeys(paramsOrFirst, ...rest) {
|
|
31724
|
-
let params;
|
|
31725
|
-
if (paramsOrFirst &&
|
|
31726
|
-
typeof paramsOrFirst === 'object' &&
|
|
31727
|
-
!Array.isArray(paramsOrFirst)) {
|
|
31728
|
-
params = (paramsOrFirst || {});
|
|
31729
|
-
}
|
|
31730
|
-
else {
|
|
31731
|
-
params = {
|
|
31732
|
-
projectId: paramsOrFirst,
|
|
31733
|
-
queries: rest[0],
|
|
31734
|
-
};
|
|
31735
|
-
}
|
|
31736
|
-
const projectId = params.projectId;
|
|
31737
|
-
const queries = params.queries;
|
|
31738
|
-
if (typeof projectId === 'undefined' || projectId === '') {
|
|
31739
|
-
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
31740
|
-
}
|
|
31741
|
-
const apiPath = '/projects/{projectId}/dev-keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
|
|
31742
|
-
const payload = {};
|
|
31743
|
-
if (typeof queries !== 'undefined') {
|
|
31744
|
-
payload['queries'] = queries;
|
|
31745
|
-
}
|
|
31746
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31747
|
-
const apiHeaders = {
|
|
31748
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
31749
|
-
accept: 'application/json',
|
|
31750
|
-
};
|
|
31751
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
31752
|
-
}
|
|
31753
|
-
getDevKey(paramsOrFirst, ...rest) {
|
|
31754
|
-
let params;
|
|
31755
|
-
if (paramsOrFirst &&
|
|
31756
|
-
typeof paramsOrFirst === 'object' &&
|
|
31757
|
-
!Array.isArray(paramsOrFirst)) {
|
|
31758
|
-
params = (paramsOrFirst || {});
|
|
31759
|
-
}
|
|
31760
|
-
else {
|
|
31761
|
-
params = {
|
|
31762
|
-
projectId: paramsOrFirst,
|
|
31763
|
-
keyId: rest[0],
|
|
31764
|
-
};
|
|
31765
|
-
}
|
|
31766
|
-
const projectId = params.projectId;
|
|
31767
|
-
const keyId = params.keyId;
|
|
31768
|
-
if (typeof projectId === 'undefined' || projectId === '') {
|
|
31769
|
-
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
31770
|
-
}
|
|
31771
|
-
if (typeof keyId === 'undefined' || keyId === '') {
|
|
31772
|
-
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
31773
|
-
}
|
|
31774
|
-
const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
|
|
31775
|
-
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
31776
|
-
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
31777
|
-
const payload = {};
|
|
31778
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31779
|
-
const apiHeaders = {
|
|
31780
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
31781
|
-
accept: 'application/json',
|
|
31782
|
-
};
|
|
31783
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
31784
|
-
}
|
|
31785
|
-
updateDevKey(paramsOrFirst, ...rest) {
|
|
31786
|
-
let params;
|
|
31787
|
-
if (paramsOrFirst &&
|
|
31788
|
-
typeof paramsOrFirst === 'object' &&
|
|
31789
|
-
!Array.isArray(paramsOrFirst)) {
|
|
31790
|
-
params = (paramsOrFirst || {});
|
|
31791
|
-
}
|
|
31792
|
-
else {
|
|
31793
|
-
params = {
|
|
31794
|
-
projectId: paramsOrFirst,
|
|
31795
|
-
keyId: rest[0],
|
|
31796
|
-
name: rest[1],
|
|
31797
|
-
expire: rest[2],
|
|
31798
|
-
};
|
|
31799
|
-
}
|
|
31800
|
-
const projectId = params.projectId;
|
|
31801
|
-
const keyId = params.keyId;
|
|
31802
|
-
const name = params.name;
|
|
31803
|
-
const expire = params.expire;
|
|
31804
|
-
if (typeof projectId === 'undefined' || projectId === '') {
|
|
31805
|
-
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
31806
|
-
}
|
|
31807
|
-
if (typeof keyId === 'undefined' || keyId === '') {
|
|
31808
|
-
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
31809
|
-
}
|
|
31810
|
-
if (typeof name === 'undefined') {
|
|
31811
|
-
throw new AppwriteException('Missing required parameter: "name"');
|
|
31812
|
-
}
|
|
31813
|
-
if (typeof expire === 'undefined') {
|
|
31814
|
-
throw new AppwriteException('Missing required parameter: "expire"');
|
|
31815
|
-
}
|
|
31816
|
-
const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
|
|
31817
|
-
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
31818
|
-
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
31819
|
-
const payload = {};
|
|
31820
|
-
if (typeof name !== 'undefined') {
|
|
31821
|
-
payload['name'] = name;
|
|
31822
|
-
}
|
|
31823
|
-
if (typeof expire !== 'undefined') {
|
|
31824
|
-
payload['expire'] = expire;
|
|
31825
|
-
}
|
|
31826
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31827
|
-
const apiHeaders = {
|
|
31828
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
31829
|
-
'content-type': 'application/json',
|
|
31830
|
-
accept: 'application/json',
|
|
31831
|
-
};
|
|
31832
|
-
return this.client.call('put', uri, apiHeaders, payload);
|
|
31833
|
-
}
|
|
31834
|
-
deleteDevKey(paramsOrFirst, ...rest) {
|
|
31835
|
-
let params;
|
|
31836
|
-
if (paramsOrFirst &&
|
|
31837
|
-
typeof paramsOrFirst === 'object' &&
|
|
31838
|
-
!Array.isArray(paramsOrFirst)) {
|
|
31839
|
-
params = (paramsOrFirst || {});
|
|
31840
|
-
}
|
|
31841
|
-
else {
|
|
31842
|
-
params = {
|
|
31843
|
-
projectId: paramsOrFirst,
|
|
31844
|
-
keyId: rest[0],
|
|
31845
|
-
};
|
|
31846
|
-
}
|
|
31847
|
-
const projectId = params.projectId;
|
|
31848
|
-
const keyId = params.keyId;
|
|
31849
|
-
if (typeof projectId === 'undefined' || projectId === '') {
|
|
31850
|
-
throw new AppwriteException('Missing required parameter: "projectId"');
|
|
31851
|
-
}
|
|
31852
|
-
if (typeof keyId === 'undefined' || keyId === '') {
|
|
31853
|
-
throw new AppwriteException('Missing required parameter: "keyId"');
|
|
31854
|
-
}
|
|
31855
|
-
const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
|
|
31856
|
-
.replace('{projectId}', encodeURIComponent(String(projectId)))
|
|
31857
|
-
.replace('{keyId}', encodeURIComponent(String(keyId)));
|
|
31858
|
-
const payload = {};
|
|
31859
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
31860
|
-
const apiHeaders = {
|
|
31861
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
31862
|
-
'content-type': 'application/json',
|
|
31863
|
-
accept: 'application/json',
|
|
31864
|
-
};
|
|
31865
|
-
return this.client.call('delete', uri, apiHeaders, payload);
|
|
31866
|
-
}
|
|
31867
32548
|
listSchedules(paramsOrFirst, ...rest) {
|
|
31868
32549
|
let params;
|
|
31869
32550
|
if (paramsOrFirst &&
|
|
@@ -37086,6 +37767,55 @@ class TablesDB {
|
|
|
37086
37767
|
};
|
|
37087
37768
|
return this.client.call('post', uri, apiHeaders, payload);
|
|
37088
37769
|
}
|
|
37770
|
+
updateRelationshipColumn(paramsOrFirst, ...rest) {
|
|
37771
|
+
let params;
|
|
37772
|
+
if (paramsOrFirst &&
|
|
37773
|
+
typeof paramsOrFirst === 'object' &&
|
|
37774
|
+
!Array.isArray(paramsOrFirst)) {
|
|
37775
|
+
params = (paramsOrFirst || {});
|
|
37776
|
+
}
|
|
37777
|
+
else {
|
|
37778
|
+
params = {
|
|
37779
|
+
databaseId: paramsOrFirst,
|
|
37780
|
+
tableId: rest[0],
|
|
37781
|
+
key: rest[1],
|
|
37782
|
+
onDelete: rest[2],
|
|
37783
|
+
newKey: rest[3],
|
|
37784
|
+
};
|
|
37785
|
+
}
|
|
37786
|
+
const databaseId = params.databaseId;
|
|
37787
|
+
const tableId = params.tableId;
|
|
37788
|
+
const key = params.key;
|
|
37789
|
+
const onDelete = params.onDelete;
|
|
37790
|
+
const newKey = params.newKey;
|
|
37791
|
+
if (typeof databaseId === 'undefined' || databaseId === '') {
|
|
37792
|
+
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
37793
|
+
}
|
|
37794
|
+
if (typeof tableId === 'undefined' || tableId === '') {
|
|
37795
|
+
throw new AppwriteException('Missing required parameter: "tableId"');
|
|
37796
|
+
}
|
|
37797
|
+
if (typeof key === 'undefined' || key === '') {
|
|
37798
|
+
throw new AppwriteException('Missing required parameter: "key"');
|
|
37799
|
+
}
|
|
37800
|
+
const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/relationship/{key}'
|
|
37801
|
+
.replace('{databaseId}', encodeURIComponent(String(databaseId)))
|
|
37802
|
+
.replace('{tableId}', encodeURIComponent(String(tableId)))
|
|
37803
|
+
.replace('{key}', encodeURIComponent(String(key)));
|
|
37804
|
+
const payload = {};
|
|
37805
|
+
if (typeof onDelete !== 'undefined') {
|
|
37806
|
+
payload['onDelete'] = onDelete;
|
|
37807
|
+
}
|
|
37808
|
+
if (typeof newKey !== 'undefined') {
|
|
37809
|
+
payload['newKey'] = newKey;
|
|
37810
|
+
}
|
|
37811
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
37812
|
+
const apiHeaders = {
|
|
37813
|
+
'X-Appwrite-Project': this.client.config.project,
|
|
37814
|
+
'content-type': 'application/json',
|
|
37815
|
+
accept: 'application/json',
|
|
37816
|
+
};
|
|
37817
|
+
return this.client.call('patch', uri, apiHeaders, payload);
|
|
37818
|
+
}
|
|
37089
37819
|
createStringColumn(paramsOrFirst, ...rest) {
|
|
37090
37820
|
let params;
|
|
37091
37821
|
if (paramsOrFirst &&
|
|
@@ -37680,55 +38410,6 @@ class TablesDB {
|
|
|
37680
38410
|
};
|
|
37681
38411
|
return this.client.call('delete', uri, apiHeaders, payload);
|
|
37682
38412
|
}
|
|
37683
|
-
updateRelationshipColumn(paramsOrFirst, ...rest) {
|
|
37684
|
-
let params;
|
|
37685
|
-
if (paramsOrFirst &&
|
|
37686
|
-
typeof paramsOrFirst === 'object' &&
|
|
37687
|
-
!Array.isArray(paramsOrFirst)) {
|
|
37688
|
-
params = (paramsOrFirst || {});
|
|
37689
|
-
}
|
|
37690
|
-
else {
|
|
37691
|
-
params = {
|
|
37692
|
-
databaseId: paramsOrFirst,
|
|
37693
|
-
tableId: rest[0],
|
|
37694
|
-
key: rest[1],
|
|
37695
|
-
onDelete: rest[2],
|
|
37696
|
-
newKey: rest[3],
|
|
37697
|
-
};
|
|
37698
|
-
}
|
|
37699
|
-
const databaseId = params.databaseId;
|
|
37700
|
-
const tableId = params.tableId;
|
|
37701
|
-
const key = params.key;
|
|
37702
|
-
const onDelete = params.onDelete;
|
|
37703
|
-
const newKey = params.newKey;
|
|
37704
|
-
if (typeof databaseId === 'undefined' || databaseId === '') {
|
|
37705
|
-
throw new AppwriteException('Missing required parameter: "databaseId"');
|
|
37706
|
-
}
|
|
37707
|
-
if (typeof tableId === 'undefined' || tableId === '') {
|
|
37708
|
-
throw new AppwriteException('Missing required parameter: "tableId"');
|
|
37709
|
-
}
|
|
37710
|
-
if (typeof key === 'undefined' || key === '') {
|
|
37711
|
-
throw new AppwriteException('Missing required parameter: "key"');
|
|
37712
|
-
}
|
|
37713
|
-
const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/{key}/relationship'
|
|
37714
|
-
.replace('{databaseId}', encodeURIComponent(String(databaseId)))
|
|
37715
|
-
.replace('{tableId}', encodeURIComponent(String(tableId)))
|
|
37716
|
-
.replace('{key}', encodeURIComponent(String(key)));
|
|
37717
|
-
const payload = {};
|
|
37718
|
-
if (typeof onDelete !== 'undefined') {
|
|
37719
|
-
payload['onDelete'] = onDelete;
|
|
37720
|
-
}
|
|
37721
|
-
if (typeof newKey !== 'undefined') {
|
|
37722
|
-
payload['newKey'] = newKey;
|
|
37723
|
-
}
|
|
37724
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
37725
|
-
const apiHeaders = {
|
|
37726
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
37727
|
-
'content-type': 'application/json',
|
|
37728
|
-
accept: 'application/json',
|
|
37729
|
-
};
|
|
37730
|
-
return this.client.call('patch', uri, apiHeaders, payload);
|
|
37731
|
-
}
|
|
37732
38413
|
listIndexes(paramsOrFirst, ...rest) {
|
|
37733
38414
|
let params;
|
|
37734
38415
|
if (paramsOrFirst &&
|
|
@@ -38875,41 +39556,6 @@ class Teams {
|
|
|
38875
39556
|
};
|
|
38876
39557
|
return this.client.call('delete', uri, apiHeaders, payload);
|
|
38877
39558
|
}
|
|
38878
|
-
listLogs(paramsOrFirst, ...rest) {
|
|
38879
|
-
let params;
|
|
38880
|
-
if (paramsOrFirst &&
|
|
38881
|
-
typeof paramsOrFirst === 'object' &&
|
|
38882
|
-
!Array.isArray(paramsOrFirst)) {
|
|
38883
|
-
params = (paramsOrFirst || {});
|
|
38884
|
-
}
|
|
38885
|
-
else {
|
|
38886
|
-
params = {
|
|
38887
|
-
teamId: paramsOrFirst,
|
|
38888
|
-
queries: rest[0],
|
|
38889
|
-
total: rest[1],
|
|
38890
|
-
};
|
|
38891
|
-
}
|
|
38892
|
-
const teamId = params.teamId;
|
|
38893
|
-
const queries = params.queries;
|
|
38894
|
-
const total = params.total;
|
|
38895
|
-
if (typeof teamId === 'undefined' || teamId === '') {
|
|
38896
|
-
throw new AppwriteException('Missing required parameter: "teamId"');
|
|
38897
|
-
}
|
|
38898
|
-
const apiPath = '/teams/{teamId}/logs'.replace('{teamId}', encodeURIComponent(String(teamId)));
|
|
38899
|
-
const payload = {};
|
|
38900
|
-
if (typeof queries !== 'undefined') {
|
|
38901
|
-
payload['queries'] = queries;
|
|
38902
|
-
}
|
|
38903
|
-
if (typeof total !== 'undefined') {
|
|
38904
|
-
payload['total'] = total;
|
|
38905
|
-
}
|
|
38906
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
38907
|
-
const apiHeaders = {
|
|
38908
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
38909
|
-
accept: 'application/json',
|
|
38910
|
-
};
|
|
38911
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
38912
|
-
}
|
|
38913
39559
|
listMemberships(paramsOrFirst, ...rest) {
|
|
38914
39560
|
let params;
|
|
38915
39561
|
if (paramsOrFirst &&
|
|
@@ -40357,41 +41003,6 @@ class Users {
|
|
|
40357
41003
|
};
|
|
40358
41004
|
return this.client.call('put', uri, apiHeaders, payload);
|
|
40359
41005
|
}
|
|
40360
|
-
listLogs(paramsOrFirst, ...rest) {
|
|
40361
|
-
let params;
|
|
40362
|
-
if (paramsOrFirst &&
|
|
40363
|
-
typeof paramsOrFirst === 'object' &&
|
|
40364
|
-
!Array.isArray(paramsOrFirst)) {
|
|
40365
|
-
params = (paramsOrFirst || {});
|
|
40366
|
-
}
|
|
40367
|
-
else {
|
|
40368
|
-
params = {
|
|
40369
|
-
userId: paramsOrFirst,
|
|
40370
|
-
queries: rest[0],
|
|
40371
|
-
total: rest[1],
|
|
40372
|
-
};
|
|
40373
|
-
}
|
|
40374
|
-
const userId = params.userId;
|
|
40375
|
-
const queries = params.queries;
|
|
40376
|
-
const total = params.total;
|
|
40377
|
-
if (typeof userId === 'undefined' || userId === '') {
|
|
40378
|
-
throw new AppwriteException('Missing required parameter: "userId"');
|
|
40379
|
-
}
|
|
40380
|
-
const apiPath = '/users/{userId}/logs'.replace('{userId}', encodeURIComponent(String(userId)));
|
|
40381
|
-
const payload = {};
|
|
40382
|
-
if (typeof queries !== 'undefined') {
|
|
40383
|
-
payload['queries'] = queries;
|
|
40384
|
-
}
|
|
40385
|
-
if (typeof total !== 'undefined') {
|
|
40386
|
-
payload['total'] = total;
|
|
40387
|
-
}
|
|
40388
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
|
40389
|
-
const apiHeaders = {
|
|
40390
|
-
'X-Appwrite-Project': this.client.config.project,
|
|
40391
|
-
accept: 'application/json',
|
|
40392
|
-
};
|
|
40393
|
-
return this.client.call('get', uri, apiHeaders, payload);
|
|
40394
|
-
}
|
|
40395
41006
|
listMemberships(paramsOrFirst, ...rest) {
|
|
40396
41007
|
let params;
|
|
40397
41008
|
if (paramsOrFirst &&
|
|
@@ -45039,6 +45650,571 @@ class Realtime {
|
|
|
45039
45650
|
}
|
|
45040
45651
|
}
|
|
45041
45652
|
|
|
45653
|
+
// Fixed connection tuning — not exposed as options.
|
|
45654
|
+
const KEEP_ALIVE_SECONDS = 60;
|
|
45655
|
+
const RECONNECT_PERIOD_MS = 2000;
|
|
45656
|
+
/**
|
|
45657
|
+
* Appwrite native push service — the Realtime analog over an MQTT broker, without
|
|
45658
|
+
* FCM or APNS. In the browser the transport is MQTT 5 over WebSocket: while the page is
|
|
45659
|
+
* open the connection stays up and each message is handed to your callback, and a
|
|
45660
|
+
* subscription may also opt into a browser notification per message.
|
|
45661
|
+
*
|
|
45662
|
+
* The connection has no tunables — it always keeps its session (clean start off) so the
|
|
45663
|
+
* broker can redeliver missed messages, and reliability is chosen per subscription via
|
|
45664
|
+
* `retry`. `subscribe` opens the connection lazily and returns a
|
|
45665
|
+
* {@link PushSubscription} handle (unlike Realtime's bare unsubscribe callable — Push
|
|
45666
|
+
* carries per-subscription state). The credential is read off the client — set a JWT or
|
|
45667
|
+
* session on it (`Client.setJWT` / `Client.setSession`), the same way every other service
|
|
45668
|
+
* reads auth.
|
|
45669
|
+
*
|
|
45670
|
+
* const client = new Client().setEndpoint(...).setProject(...).setJWT(jwt);
|
|
45671
|
+
* const push = new Push(client);
|
|
45672
|
+
* const sub = await push.subscribe('user/123/#', (m) =>
|
|
45673
|
+
* console.log(m.topic, m.data),
|
|
45674
|
+
* );
|
|
45675
|
+
* // sub.update({ background: true }); sub.unsubscribe();
|
|
45676
|
+
*/
|
|
45677
|
+
class Push extends Service {
|
|
45678
|
+
constructor(client) {
|
|
45679
|
+
super(client);
|
|
45680
|
+
this.mqtt = null;
|
|
45681
|
+
this.connecting = null;
|
|
45682
|
+
/** Set once the first CONNACK lands, so 'connect' events after are reconnects. */
|
|
45683
|
+
this.everConnected = false;
|
|
45684
|
+
/** Errors already handed to onError, so one failure is reported once. */
|
|
45685
|
+
this.reported = new WeakSet();
|
|
45686
|
+
/** mqtt.js connect errors mapped to the error handed out for them (see connectError). */
|
|
45687
|
+
this.connectErrors = new WeakMap();
|
|
45688
|
+
/** True while the first connect is in flight: its errors go to the waiting caller. */
|
|
45689
|
+
this.opening = false;
|
|
45690
|
+
// Local id -> subscription state. The id is never sent to the broker; it only lets
|
|
45691
|
+
// the same topic carry more than one callback (each with its own options).
|
|
45692
|
+
/**
|
|
45693
|
+
* The client id when the credential names no user (and none was set): random, but kept for
|
|
45694
|
+
* this instance so reconnects resume the same broker session.
|
|
45695
|
+
*/
|
|
45696
|
+
this.fallbackClientId = randomId();
|
|
45697
|
+
this.subscriptions = new Map();
|
|
45698
|
+
}
|
|
45699
|
+
// The broker subscription for a filter uses the highest QoS any local subscription on
|
|
45700
|
+
// it wants, so a QoS-0 subscription never downgrades a QoS-1 one sharing the filter.
|
|
45701
|
+
effectiveQos(filter) {
|
|
45702
|
+
for (const sub of this.subscriptions.values()) {
|
|
45703
|
+
if (sub.topic === filter && sub.qos === 1) {
|
|
45704
|
+
return 1;
|
|
45705
|
+
}
|
|
45706
|
+
}
|
|
45707
|
+
return 0;
|
|
45708
|
+
}
|
|
45709
|
+
/** Register a callback invoked when the connection opens (CONNACK success). */
|
|
45710
|
+
onOpen(callback) {
|
|
45711
|
+
this.onOpenCb = callback;
|
|
45712
|
+
return this;
|
|
45713
|
+
}
|
|
45714
|
+
/** Register a callback invoked when the connection closes. */
|
|
45715
|
+
onClose(callback) {
|
|
45716
|
+
this.onCloseCb = callback;
|
|
45717
|
+
return this;
|
|
45718
|
+
}
|
|
45719
|
+
/** Register a callback invoked on a connection error. */
|
|
45720
|
+
onError(callback) {
|
|
45721
|
+
this.onErrorCb = callback;
|
|
45722
|
+
return this;
|
|
45723
|
+
}
|
|
45724
|
+
/**
|
|
45725
|
+
* The signed-in user's own topic, `users/<userId>`, for a topic-less subscribe. The id comes
|
|
45726
|
+
* from the credential the connection authenticates with: the JWT when one is set (never
|
|
45727
|
+
* the session, which could belong to a different user), else the session.
|
|
45728
|
+
*/
|
|
45729
|
+
userTopic() {
|
|
45730
|
+
const { jwt, session } = this.client.config;
|
|
45731
|
+
const userId = jwt ? userIdFromJwt(jwt) : userIdFromSession(session);
|
|
45732
|
+
if (!userId) {
|
|
45733
|
+
throw new Error('subscribe() without a topic needs a signed-in user: set a JWT or session on the client');
|
|
45734
|
+
}
|
|
45735
|
+
return `users/${userId}`;
|
|
45736
|
+
}
|
|
45737
|
+
/**
|
|
45738
|
+
* Hand an error to the onError callback, once per error. These errors happen outside any
|
|
45739
|
+
* call (reconnects, broker DISCONNECTs, background re-subscribes), so they are never
|
|
45740
|
+
* thrown, which would crash the app from inside mqtt.js: with no callback registered
|
|
45741
|
+
* they are logged, like Realtime does.
|
|
45742
|
+
*/
|
|
45743
|
+
report(error) {
|
|
45744
|
+
const err = toError(error);
|
|
45745
|
+
if (this.reported.has(err)) {
|
|
45746
|
+
return;
|
|
45747
|
+
}
|
|
45748
|
+
this.reported.add(err);
|
|
45749
|
+
if (!this.onErrorCb) {
|
|
45750
|
+
console.error('Appwrite Push error:', err);
|
|
45751
|
+
return;
|
|
45752
|
+
}
|
|
45753
|
+
try {
|
|
45754
|
+
this.onErrorCb(err);
|
|
45755
|
+
}
|
|
45756
|
+
catch (callbackError) {
|
|
45757
|
+
console.error('Appwrite Push onError threw:', callbackError);
|
|
45758
|
+
}
|
|
45759
|
+
}
|
|
45760
|
+
/**
|
|
45761
|
+
* For a call that fails to its caller: report the error to onError when a callback is
|
|
45762
|
+
* registered, then throw it to the caller, who can catch it.
|
|
45763
|
+
*/
|
|
45764
|
+
fail(error) {
|
|
45765
|
+
const err = toError(error);
|
|
45766
|
+
if (this.onErrorCb) {
|
|
45767
|
+
this.report(err);
|
|
45768
|
+
}
|
|
45769
|
+
throw err;
|
|
45770
|
+
}
|
|
45771
|
+
subscribe(topicsOrCallback_1, callbackOrOptions_1) {
|
|
45772
|
+
return __awaiter(this, arguments, void 0, function* (topicsOrCallback, callbackOrOptions, topicOptions = {}) {
|
|
45773
|
+
// Every failure reaches onError (when registered) and is thrown to the caller.
|
|
45774
|
+
try {
|
|
45775
|
+
return yield this.subscribeWith(topicsOrCallback, callbackOrOptions, topicOptions);
|
|
45776
|
+
}
|
|
45777
|
+
catch (err) {
|
|
45778
|
+
this.fail(err);
|
|
45779
|
+
}
|
|
45780
|
+
});
|
|
45781
|
+
}
|
|
45782
|
+
subscribeWith(topicsOrCallback, callbackOrOptions, topicOptions) {
|
|
45783
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45784
|
+
var _a, _b;
|
|
45785
|
+
// Topic-less form: subscribe(callback, options) targets the signed-in user's topic.
|
|
45786
|
+
const userForm = typeof topicsOrCallback === 'function';
|
|
45787
|
+
const topics = userForm ? this.userTopic() : topicsOrCallback;
|
|
45788
|
+
const callback = (userForm ? topicsOrCallback : callbackOrOptions);
|
|
45789
|
+
const options = (userForm ? (callbackOrOptions !== null && callbackOrOptions !== void 0 ? callbackOrOptions : {}) : topicOptions);
|
|
45790
|
+
const topicList = (Array.isArray(topics) ? topics : [topics]).map((topic) => topic.toString());
|
|
45791
|
+
// The user topic defaults to background delivery, like FCM/APNs; topics default off.
|
|
45792
|
+
const background = (_a = options.background) !== null && _a !== void 0 ? _a : userForm;
|
|
45793
|
+
const qos = ((_b = options.retry) !== null && _b !== void 0 ? _b : true) ? 1 : 0;
|
|
45794
|
+
if (background) {
|
|
45795
|
+
this.requestNotificationPermission();
|
|
45796
|
+
}
|
|
45797
|
+
const client = yield this.connect();
|
|
45798
|
+
const ids = [];
|
|
45799
|
+
const acks = [];
|
|
45800
|
+
for (const topic of topicList) {
|
|
45801
|
+
const id = randomId();
|
|
45802
|
+
ids.push(id);
|
|
45803
|
+
this.subscriptions.set(id, {
|
|
45804
|
+
topic,
|
|
45805
|
+
callback,
|
|
45806
|
+
background,
|
|
45807
|
+
title: options.title,
|
|
45808
|
+
qos,
|
|
45809
|
+
});
|
|
45810
|
+
acks.push(new Promise((resolve, reject) => {
|
|
45811
|
+
client.subscribe(topic, { qos: this.effectiveQos(topic) }, (err) => (err ? reject(err) : resolve()));
|
|
45812
|
+
}));
|
|
45813
|
+
}
|
|
45814
|
+
const unsubscribe = () => {
|
|
45815
|
+
var _a;
|
|
45816
|
+
// Filters whose removed sub was QoS 1: their effective QoS may now drop.
|
|
45817
|
+
const maybeDowngrade = new Set();
|
|
45818
|
+
for (const id of ids) {
|
|
45819
|
+
const entry = this.subscriptions.get(id);
|
|
45820
|
+
this.subscriptions.delete(id);
|
|
45821
|
+
if ((entry === null || entry === void 0 ? void 0 : entry.qos) === 1) {
|
|
45822
|
+
maybeDowngrade.add(entry.topic);
|
|
45823
|
+
}
|
|
45824
|
+
// Only unsubscribe the broker filter once its last local callback is gone.
|
|
45825
|
+
const stillUsed = [...this.subscriptions.values()].some((s) => s.topic === (entry === null || entry === void 0 ? void 0 : entry.topic));
|
|
45826
|
+
if (entry && this.mqtt && !stillUsed) {
|
|
45827
|
+
this.mqtt.unsubscribe(entry.topic, (err) => {
|
|
45828
|
+
if (err) {
|
|
45829
|
+
this.report(err);
|
|
45830
|
+
}
|
|
45831
|
+
});
|
|
45832
|
+
}
|
|
45833
|
+
}
|
|
45834
|
+
// A filter that lost its last QoS-1 sub but still has QoS-0 subs must be
|
|
45835
|
+
// re-SUBSCRIBEd at the lower QoS, or the broker keeps replaying to at-most-once subs.
|
|
45836
|
+
for (const filter of maybeDowngrade) {
|
|
45837
|
+
const stillUsed = [...this.subscriptions.values()].some((s) => s.topic === filter);
|
|
45838
|
+
if (stillUsed && this.effectiveQos(filter) === 0) {
|
|
45839
|
+
(_a = this.mqtt) === null || _a === void 0 ? void 0 : _a.subscribe(filter, { qos: 0 }, (err) => {
|
|
45840
|
+
if (err) {
|
|
45841
|
+
this.report(err);
|
|
45842
|
+
}
|
|
45843
|
+
});
|
|
45844
|
+
}
|
|
45845
|
+
}
|
|
45846
|
+
if (this.subscriptions.size === 0) {
|
|
45847
|
+
this.close();
|
|
45848
|
+
}
|
|
45849
|
+
};
|
|
45850
|
+
// If any topic's subscribe fails, roll this call's registrations back (and drop
|
|
45851
|
+
// any now-unused broker filter) so a failed subscribe leaks no callback, then rethrow.
|
|
45852
|
+
try {
|
|
45853
|
+
yield Promise.all(acks);
|
|
45854
|
+
}
|
|
45855
|
+
catch (err) {
|
|
45856
|
+
unsubscribe();
|
|
45857
|
+
throw err;
|
|
45858
|
+
}
|
|
45859
|
+
const update = (next) => {
|
|
45860
|
+
var _a;
|
|
45861
|
+
const enabling = next.background === true;
|
|
45862
|
+
const changedFilters = new Set();
|
|
45863
|
+
// Remember the pre-update QoS per id so a rejected re-SUBSCRIBE can be rolled back.
|
|
45864
|
+
const previous = new Map();
|
|
45865
|
+
for (const id of ids) {
|
|
45866
|
+
const entry = this.subscriptions.get(id);
|
|
45867
|
+
if (!entry) {
|
|
45868
|
+
continue;
|
|
45869
|
+
}
|
|
45870
|
+
if (next.background !== undefined) {
|
|
45871
|
+
entry.background = next.background;
|
|
45872
|
+
}
|
|
45873
|
+
if (next.title !== undefined) {
|
|
45874
|
+
entry.title = next.title;
|
|
45875
|
+
}
|
|
45876
|
+
if (next.retry !== undefined) {
|
|
45877
|
+
const q = next.retry ? 1 : 0;
|
|
45878
|
+
if (q !== entry.qos) {
|
|
45879
|
+
previous.set(id, entry.qos);
|
|
45880
|
+
entry.qos = q;
|
|
45881
|
+
changedFilters.add(entry.topic);
|
|
45882
|
+
}
|
|
45883
|
+
}
|
|
45884
|
+
}
|
|
45885
|
+
if (enabling) {
|
|
45886
|
+
this.requestNotificationPermission();
|
|
45887
|
+
}
|
|
45888
|
+
// Re-SUBSCRIBE the affected filters at their new effective QoS (a SUBSCRIBE to an
|
|
45889
|
+
// existing filter just updates its QoS — no unsubscribe gap). If the broker rejects
|
|
45890
|
+
// it, the old subscription still stands, so restore the local QoS to match and
|
|
45891
|
+
// surface the error rather than silently assuming the change took effect.
|
|
45892
|
+
for (const filter of changedFilters) {
|
|
45893
|
+
(_a = this.mqtt) === null || _a === void 0 ? void 0 : _a.subscribe(filter, { qos: this.effectiveQos(filter) }, (err) => {
|
|
45894
|
+
if (!err) {
|
|
45895
|
+
return;
|
|
45896
|
+
}
|
|
45897
|
+
for (const [id, q] of previous) {
|
|
45898
|
+
const entry = this.subscriptions.get(id);
|
|
45899
|
+
if (entry && entry.topic === filter) {
|
|
45900
|
+
entry.qos = q;
|
|
45901
|
+
}
|
|
45902
|
+
}
|
|
45903
|
+
this.report(err);
|
|
45904
|
+
});
|
|
45905
|
+
}
|
|
45906
|
+
};
|
|
45907
|
+
return { unsubscribe, update };
|
|
45908
|
+
});
|
|
45909
|
+
}
|
|
45910
|
+
/** Tear down the connection and drop all active subscriptions. */
|
|
45911
|
+
close() {
|
|
45912
|
+
if (this.mqtt) {
|
|
45913
|
+
this.mqtt.end(true);
|
|
45914
|
+
this.mqtt = null;
|
|
45915
|
+
}
|
|
45916
|
+
this.connecting = null;
|
|
45917
|
+
this.everConnected = false;
|
|
45918
|
+
this.subscriptions.clear();
|
|
45919
|
+
}
|
|
45920
|
+
/**
|
|
45921
|
+
* Re-register every active subscription. Called on each reconnect so a client that
|
|
45922
|
+
* reconnects with a fresh (or cleared) session does not silently stop receiving;
|
|
45923
|
+
* re-subscribing an existing filter is idempotent.
|
|
45924
|
+
*/
|
|
45925
|
+
resubscribeAll() {
|
|
45926
|
+
const client = this.mqtt;
|
|
45927
|
+
if (!client) {
|
|
45928
|
+
return;
|
|
45929
|
+
}
|
|
45930
|
+
const filters = new Set([...this.subscriptions.values()].map((s) => s.topic));
|
|
45931
|
+
for (const filter of filters) {
|
|
45932
|
+
client.subscribe(filter, { qos: this.effectiveQos(filter) }, (err) => {
|
|
45933
|
+
if (err) {
|
|
45934
|
+
this.report(err);
|
|
45935
|
+
}
|
|
45936
|
+
});
|
|
45937
|
+
}
|
|
45938
|
+
}
|
|
45939
|
+
// --- internals ---
|
|
45940
|
+
connect() {
|
|
45941
|
+
if (this.mqtt) {
|
|
45942
|
+
return Promise.resolve(this.mqtt);
|
|
45943
|
+
}
|
|
45944
|
+
if (!this.connecting) {
|
|
45945
|
+
this.connecting = this.open();
|
|
45946
|
+
// A failed open must not poison future attempts — clear the cached
|
|
45947
|
+
// in-flight promise so a later subscribe/publish can retry.
|
|
45948
|
+
this.connecting.catch(() => {
|
|
45949
|
+
this.connecting = null;
|
|
45950
|
+
});
|
|
45951
|
+
}
|
|
45952
|
+
return this.connecting.then(() => this.mqtt);
|
|
45953
|
+
}
|
|
45954
|
+
endpointUrl() {
|
|
45955
|
+
// The push endpoint set on the client (Client.setPushEndpoint) wins.
|
|
45956
|
+
if (this.client.config.endpointPush !== '') {
|
|
45957
|
+
return this.client.config.endpointPush;
|
|
45958
|
+
}
|
|
45959
|
+
// Otherwise default to a `push.` host on the regular API endpoint (not the
|
|
45960
|
+
// independently-configurable realtime endpoint), scheme switched to ws/wss.
|
|
45961
|
+
const wsEndpoint = this.client.config.endpoint
|
|
45962
|
+
.replace('https://', 'wss://')
|
|
45963
|
+
.replace('http://', 'ws://');
|
|
45964
|
+
// Prefix the host with `push.` (scheme://host/path -> scheme://push.host/path).
|
|
45965
|
+
const separator = '://';
|
|
45966
|
+
const at = wsEndpoint.indexOf(separator);
|
|
45967
|
+
return at === -1
|
|
45968
|
+
? wsEndpoint
|
|
45969
|
+
: `${wsEndpoint.slice(0, at + separator.length)}push.${wsEndpoint.slice(at + separator.length)}`;
|
|
45970
|
+
}
|
|
45971
|
+
open() {
|
|
45972
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45973
|
+
var _a;
|
|
45974
|
+
// Read the credential set on the client (via Client.setJWT / setSession).
|
|
45975
|
+
let authMethod;
|
|
45976
|
+
let credential;
|
|
45977
|
+
if (this.client.config.jwt) {
|
|
45978
|
+
authMethod = 'appwrite-jwt';
|
|
45979
|
+
credential = this.client.config.jwt;
|
|
45980
|
+
}
|
|
45981
|
+
else if (this.client.config.session) {
|
|
45982
|
+
authMethod = 'appwrite-session';
|
|
45983
|
+
credential = this.client.config.session;
|
|
45984
|
+
}
|
|
45985
|
+
else {
|
|
45986
|
+
throw new Error('No credential set on the client; call Client.setJWT() or Client.setSession() first.');
|
|
45987
|
+
}
|
|
45988
|
+
const project = (_a = this.client.config.project) !== null && _a !== void 0 ? _a : '';
|
|
45989
|
+
// Client id, when the app did not set one with Client.setPushClientId(). Unlike the
|
|
45990
|
+
// native SDKs (which send an empty id and let the broker derive a stable one), mqtt.js
|
|
45991
|
+
// rejects an empty id with clean start off, so derive a stable per-user id here from the
|
|
45992
|
+
// credential this connection authenticates with: the JWT's userId, or the session's user
|
|
45993
|
+
// id. A stable id keeps the broker's replay cursor resuming across reloads. The
|
|
45994
|
+
// credential itself is never used as the id.
|
|
45995
|
+
const clientId = this.client.config.pushClientId ||
|
|
45996
|
+
(authMethod === 'appwrite-jwt'
|
|
45997
|
+
? userIdFromJwt(credential)
|
|
45998
|
+
: userIdFromSession(credential)) ||
|
|
45999
|
+
this.fallbackClientId;
|
|
46000
|
+
const options = {
|
|
46001
|
+
clientId,
|
|
46002
|
+
protocolVersion: 5,
|
|
46003
|
+
clean: false, // always keep the session so the broker can replay QoS-1 topics
|
|
46004
|
+
keepalive: KEEP_ALIVE_SECONDS,
|
|
46005
|
+
reconnectPeriod: RECONNECT_PERIOD_MS,
|
|
46006
|
+
manualConnect: true,
|
|
46007
|
+
// Enhanced auth carried in CONNECT properties.
|
|
46008
|
+
properties: {
|
|
46009
|
+
authenticationMethod: authMethod,
|
|
46010
|
+
authenticationData: buffer.Buffer.from(credential),
|
|
46011
|
+
userProperties: { projectId: project },
|
|
46012
|
+
},
|
|
46013
|
+
};
|
|
46014
|
+
const client = mqtt.connect(this.endpointUrl(), options);
|
|
46015
|
+
this.mqtt = client;
|
|
46016
|
+
client.on('message', (_topic, _payload, packet) => {
|
|
46017
|
+
this.dispatch(packet).catch((err) => this.report(err));
|
|
46018
|
+
});
|
|
46019
|
+
// Persistent lifecycle listeners. Re-register every subscription on reconnect
|
|
46020
|
+
// (harmless if the broker resumed our session), and surface the lifecycle to the
|
|
46021
|
+
// caller's onOpen/onClose/onError hooks.
|
|
46022
|
+
client.on('connect', () => {
|
|
46023
|
+
var _a;
|
|
46024
|
+
if (this.everConnected) {
|
|
46025
|
+
this.resubscribeAll();
|
|
46026
|
+
}
|
|
46027
|
+
this.everConnected = true;
|
|
46028
|
+
(_a = this.onOpenCb) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
46029
|
+
});
|
|
46030
|
+
client.on('close', () => { var _a; return (_a = this.onCloseCb) === null || _a === void 0 ? void 0 : _a.call(this); });
|
|
46031
|
+
// The broker explains a refused CONNECT (CONNACK) or a server-initiated DISCONNECT
|
|
46032
|
+
// with an MQTT 5 Reason String. mqtt.js reports only the reason code, so capture the
|
|
46033
|
+
// string off the packet (packetreceive fires before mqtt.js handles it) and hand it
|
|
46034
|
+
// to onError as the error message.
|
|
46035
|
+
let refusedReason;
|
|
46036
|
+
client.on('packetreceive', (packet) => {
|
|
46037
|
+
var _a, _b;
|
|
46038
|
+
if (packet.cmd === 'connack') {
|
|
46039
|
+
refusedReason =
|
|
46040
|
+
((_a = packet.reasonCode) !== null && _a !== void 0 ? _a : 0) !== 0
|
|
46041
|
+
? (_b = packet.properties) === null || _b === void 0 ? void 0 : _b.reasonString
|
|
46042
|
+
: undefined;
|
|
46043
|
+
}
|
|
46044
|
+
});
|
|
46045
|
+
client.on('error', (err) => {
|
|
46046
|
+
const error = this.connectError(err, refusedReason);
|
|
46047
|
+
// While the first connect is pending its caller receives the error (and reports it
|
|
46048
|
+
// through fail()); afterwards, e.g. on reconnect, report it here.
|
|
46049
|
+
if (!this.opening) {
|
|
46050
|
+
this.report(error);
|
|
46051
|
+
}
|
|
46052
|
+
});
|
|
46053
|
+
client.on('disconnect', (packet) => {
|
|
46054
|
+
var _a, _b, _c;
|
|
46055
|
+
if (((_a = packet.reasonCode) !== null && _a !== void 0 ? _a : 0) !== 0) {
|
|
46056
|
+
this.report(new Error((_c = (_b = packet.properties) === null || _b === void 0 ? void 0 : _b.reasonString) !== null && _c !== void 0 ? _c : `Disconnected by the broker (reason ${packet.reasonCode})`));
|
|
46057
|
+
}
|
|
46058
|
+
});
|
|
46059
|
+
this.opening = true;
|
|
46060
|
+
yield new Promise((resolve, reject) => {
|
|
46061
|
+
const onConnect = (packet) => {
|
|
46062
|
+
var _a, _b;
|
|
46063
|
+
cleanup();
|
|
46064
|
+
const rc = (_b = (_a = packet.reasonCode) !== null && _a !== void 0 ? _a : packet.returnCode) !== null && _b !== void 0 ? _b : 0;
|
|
46065
|
+
if (rc !== 0) {
|
|
46066
|
+
this.close();
|
|
46067
|
+
reject(new Error(refusedReason !== null && refusedReason !== void 0 ? refusedReason : `MQTT authentication failed (CONNACK reason ${rc})`));
|
|
46068
|
+
}
|
|
46069
|
+
else {
|
|
46070
|
+
resolve();
|
|
46071
|
+
}
|
|
46072
|
+
};
|
|
46073
|
+
const onError = (err) => {
|
|
46074
|
+
cleanup();
|
|
46075
|
+
this.close();
|
|
46076
|
+
reject(this.connectError(err, refusedReason));
|
|
46077
|
+
};
|
|
46078
|
+
const cleanup = () => {
|
|
46079
|
+
this.opening = false;
|
|
46080
|
+
client.removeListener('connect', onConnect);
|
|
46081
|
+
client.removeListener('error', onError);
|
|
46082
|
+
};
|
|
46083
|
+
client.on('connect', onConnect);
|
|
46084
|
+
client.on('error', onError);
|
|
46085
|
+
client.connect();
|
|
46086
|
+
});
|
|
46087
|
+
});
|
|
46088
|
+
}
|
|
46089
|
+
/**
|
|
46090
|
+
* The error for a failed connect: the broker's Reason String when it sent one (a refused
|
|
46091
|
+
* CONNACK), else mqtt.js's error. Memoized so both error listeners hand out the same
|
|
46092
|
+
* object and it is reported once.
|
|
46093
|
+
*/
|
|
46094
|
+
connectError(err, reason) {
|
|
46095
|
+
const source = toError(err);
|
|
46096
|
+
let error = this.connectErrors.get(source);
|
|
46097
|
+
if (!error) {
|
|
46098
|
+
error = reason ? new Error(reason) : source;
|
|
46099
|
+
this.connectErrors.set(source, error);
|
|
46100
|
+
}
|
|
46101
|
+
return error;
|
|
46102
|
+
}
|
|
46103
|
+
/** Fan a delivered packet out to every subscription whose filter matches. */
|
|
46104
|
+
dispatch(packet) {
|
|
46105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46106
|
+
const payload = buffer.Buffer.isBuffer(packet.payload)
|
|
46107
|
+
? packet.payload
|
|
46108
|
+
: buffer.Buffer.from(packet.payload);
|
|
46109
|
+
const message = {
|
|
46110
|
+
topic: packet.topic.toString(),
|
|
46111
|
+
data: new TextDecoder().decode(payload),
|
|
46112
|
+
payload,
|
|
46113
|
+
qos: packet.qos,
|
|
46114
|
+
};
|
|
46115
|
+
for (const sub of this.subscriptions.values()) {
|
|
46116
|
+
if (matches(sub.topic, message.topic)) {
|
|
46117
|
+
yield sub.callback(message);
|
|
46118
|
+
// Notification is per-subscription: only subs that opted in post one,
|
|
46119
|
+
// each with its own title.
|
|
46120
|
+
if (sub.background) {
|
|
46121
|
+
this.notify(message, sub.title);
|
|
46122
|
+
}
|
|
46123
|
+
}
|
|
46124
|
+
}
|
|
46125
|
+
});
|
|
46126
|
+
}
|
|
46127
|
+
requestNotificationPermission() {
|
|
46128
|
+
if (typeof Notification !== 'undefined' &&
|
|
46129
|
+
Notification.permission === 'default') {
|
|
46130
|
+
Promise.resolve(Notification.requestPermission()).catch((err) => this.report(err));
|
|
46131
|
+
}
|
|
46132
|
+
}
|
|
46133
|
+
/** Post a browser notification for a message a background subscription matched. */
|
|
46134
|
+
notify(message, title) {
|
|
46135
|
+
if (typeof Notification === 'undefined' ||
|
|
46136
|
+
Notification.permission !== 'granted') {
|
|
46137
|
+
return;
|
|
46138
|
+
}
|
|
46139
|
+
try {
|
|
46140
|
+
new Notification(title !== null && title !== void 0 ? title : message.topic, {
|
|
46141
|
+
body: message.data,
|
|
46142
|
+
});
|
|
46143
|
+
}
|
|
46144
|
+
catch (_a) {
|
|
46145
|
+
// Some browsers only allow notifications from a service worker; ignore.
|
|
46146
|
+
}
|
|
46147
|
+
}
|
|
46148
|
+
}
|
|
46149
|
+
/** Normalize anything thrown or passed to an error handler into an `Error`. */
|
|
46150
|
+
function toError(error) {
|
|
46151
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
46152
|
+
}
|
|
46153
|
+
/**
|
|
46154
|
+
* The userId claim from an Appwrite JWT, used as the default MQTT client id so the
|
|
46155
|
+
* broker's replay cursor is stable per user. Returns '' when the token is not a decodable JWT
|
|
46156
|
+
* (e.g. a plain string), so the caller can fall back to the session or raw credential.
|
|
46157
|
+
*/
|
|
46158
|
+
function userIdFromJwt(jwt) {
|
|
46159
|
+
if (!jwt) {
|
|
46160
|
+
return '';
|
|
46161
|
+
}
|
|
46162
|
+
const parts = jwt.split('.');
|
|
46163
|
+
if (parts.length < 2) {
|
|
46164
|
+
return '';
|
|
46165
|
+
}
|
|
46166
|
+
try {
|
|
46167
|
+
const json = buffer.Buffer.from(parts[1].replace(/-/g, '+').replace(/_/g, '/'), 'base64').toString('utf-8');
|
|
46168
|
+
const payload = JSON.parse(json);
|
|
46169
|
+
return typeof payload.userId === 'string' ? payload.userId : '';
|
|
46170
|
+
}
|
|
46171
|
+
catch (_a) {
|
|
46172
|
+
return '';
|
|
46173
|
+
}
|
|
46174
|
+
}
|
|
46175
|
+
/**
|
|
46176
|
+
* The user id inside a session secret, which is base64 of JSON `{"id": <userId>, "secret": ...}`.
|
|
46177
|
+
* Returns '' when the value is not such a secret.
|
|
46178
|
+
*/
|
|
46179
|
+
function userIdFromSession(session) {
|
|
46180
|
+
if (!session) {
|
|
46181
|
+
return '';
|
|
46182
|
+
}
|
|
46183
|
+
try {
|
|
46184
|
+
const payload = JSON.parse(buffer.Buffer.from(session, 'base64').toString('utf-8'));
|
|
46185
|
+
return typeof payload.id === 'string' ? payload.id : '';
|
|
46186
|
+
}
|
|
46187
|
+
catch (_a) {
|
|
46188
|
+
return '';
|
|
46189
|
+
}
|
|
46190
|
+
}
|
|
46191
|
+
/** A hex id, uuid4-like enough for a client-generated client id suffix. */
|
|
46192
|
+
function randomId() {
|
|
46193
|
+
let out = '';
|
|
46194
|
+
for (let i = 0; i < 32; i++) {
|
|
46195
|
+
out += Math.floor(Math.random() * 16).toString(16);
|
|
46196
|
+
}
|
|
46197
|
+
return out;
|
|
46198
|
+
}
|
|
46199
|
+
/** MQTT topic-filter match with '+' (single level) and '#' (multi level). */
|
|
46200
|
+
function matches(filter, topic) {
|
|
46201
|
+
const filterParts = filter.split('/');
|
|
46202
|
+
const topicParts = topic.split('/');
|
|
46203
|
+
for (let i = 0; i < filterParts.length; i++) {
|
|
46204
|
+
const part = filterParts[i];
|
|
46205
|
+
if (part === '#') {
|
|
46206
|
+
return true;
|
|
46207
|
+
}
|
|
46208
|
+
if (i >= topicParts.length) {
|
|
46209
|
+
return false;
|
|
46210
|
+
}
|
|
46211
|
+
if (part !== '+' && part !== topicParts[i]) {
|
|
46212
|
+
return false;
|
|
46213
|
+
}
|
|
46214
|
+
}
|
|
46215
|
+
return filterParts.length === topicParts.length;
|
|
46216
|
+
}
|
|
46217
|
+
|
|
45042
46218
|
/**
|
|
45043
46219
|
* Helper class to generate permission strings for resources.
|
|
45044
46220
|
*/
|
|
@@ -45187,6 +46363,100 @@ class Role {
|
|
|
45187
46363
|
}
|
|
45188
46364
|
}
|
|
45189
46365
|
|
|
46366
|
+
/**
|
|
46367
|
+
* Validate the levels passed to `path()`: a non-empty array of non-empty strings, none holding
|
|
46368
|
+
* the level separator `/` or the wildcards `+` and `#` (use `any()` and `all()` for those).
|
|
46369
|
+
*/
|
|
46370
|
+
function levelsOf(levels) {
|
|
46371
|
+
if (!Array.isArray(levels)) {
|
|
46372
|
+
throw new Error("path() expects an array, e.g. path(['user'])");
|
|
46373
|
+
}
|
|
46374
|
+
if (levels.length === 0) {
|
|
46375
|
+
throw new Error('path() needs at least one level');
|
|
46376
|
+
}
|
|
46377
|
+
return levels.map((level, index) => {
|
|
46378
|
+
if (typeof level !== 'string') {
|
|
46379
|
+
const type = level === null ? 'null' : typeof level;
|
|
46380
|
+
throw new Error(`level at index ${index} must be a string, got ${type}`);
|
|
46381
|
+
}
|
|
46382
|
+
if (level === '') {
|
|
46383
|
+
throw new Error(`empty level at index ${index}`);
|
|
46384
|
+
}
|
|
46385
|
+
if (level.includes('/')) {
|
|
46386
|
+
const parts = level
|
|
46387
|
+
.split('/')
|
|
46388
|
+
.map((part) => `'${part}'`)
|
|
46389
|
+
.join(', ');
|
|
46390
|
+
throw new Error(`"${level}" contains "/", split it: path([${parts}])`);
|
|
46391
|
+
}
|
|
46392
|
+
if (level === '+') {
|
|
46393
|
+
throw new Error('"+" is reserved, use any()');
|
|
46394
|
+
}
|
|
46395
|
+
if (level.includes('+')) {
|
|
46396
|
+
throw new Error(`"${level}" contains "+", use any() for wildcards`);
|
|
46397
|
+
}
|
|
46398
|
+
if (level === '#') {
|
|
46399
|
+
throw new Error('"#" is reserved, use all()');
|
|
46400
|
+
}
|
|
46401
|
+
if (level.includes('#')) {
|
|
46402
|
+
throw new Error(`"${level}" contains "#", use all() for wildcards`);
|
|
46403
|
+
}
|
|
46404
|
+
return level;
|
|
46405
|
+
});
|
|
46406
|
+
}
|
|
46407
|
+
/**
|
|
46408
|
+
* Helper to build MQTT topics for `Push`, level by level.
|
|
46409
|
+
*
|
|
46410
|
+
* Topic.path(['user', userId, 'notification']); // "user/123/notification"
|
|
46411
|
+
* Topic.path(['user']).any().path(['notification']); // "user/+/notification"
|
|
46412
|
+
* Topic.path(['org']).any().path(['logs']).all(); // "org/+/logs/#"
|
|
46413
|
+
*
|
|
46414
|
+
* `any()` matches exactly one level and `all()` everything below, at any depth (including the
|
|
46415
|
+
* parent itself). `all()` ends the topic, so it returns a {@link ResolvedTopic}.
|
|
46416
|
+
*/
|
|
46417
|
+
class Topic {
|
|
46418
|
+
constructor(levels) {
|
|
46419
|
+
this.levels = levels;
|
|
46420
|
+
}
|
|
46421
|
+
/** Start a topic with the given levels, e.g. `Topic.path(['user', userId])`. */
|
|
46422
|
+
static path(levels) {
|
|
46423
|
+
return new Topic(levelsOf(levels));
|
|
46424
|
+
}
|
|
46425
|
+
/** Start a topic with a single-level wildcard (`+`). */
|
|
46426
|
+
static any() {
|
|
46427
|
+
return new Topic(['+']);
|
|
46428
|
+
}
|
|
46429
|
+
/** The multi-level wildcard alone (`#`): matches every topic. */
|
|
46430
|
+
static all() {
|
|
46431
|
+
return new ResolvedTopic(['#']);
|
|
46432
|
+
}
|
|
46433
|
+
/** Append the given levels. */
|
|
46434
|
+
path(levels) {
|
|
46435
|
+
return new Topic([...this.levels, ...levelsOf(levels)]);
|
|
46436
|
+
}
|
|
46437
|
+
/** Append a single-level wildcard (`+`): matches exactly one level. */
|
|
46438
|
+
any() {
|
|
46439
|
+
return new Topic([...this.levels, '+']);
|
|
46440
|
+
}
|
|
46441
|
+
/** Append the multi-level wildcard (`#`) and end the topic. */
|
|
46442
|
+
all() {
|
|
46443
|
+
return new ResolvedTopic([...this.levels, '#']);
|
|
46444
|
+
}
|
|
46445
|
+
toString() {
|
|
46446
|
+
return this.levels.join('/');
|
|
46447
|
+
}
|
|
46448
|
+
}
|
|
46449
|
+
/** A topic ended by `all()`: nothing can be appended after the `#` wildcard. */
|
|
46450
|
+
class ResolvedTopic {
|
|
46451
|
+
/** @internal Created by {@link Topic.all}. */
|
|
46452
|
+
constructor(levels) {
|
|
46453
|
+
this.levels = levels;
|
|
46454
|
+
}
|
|
46455
|
+
toString() {
|
|
46456
|
+
return this.levels.join('/');
|
|
46457
|
+
}
|
|
46458
|
+
}
|
|
46459
|
+
|
|
45190
46460
|
function normalize(id) {
|
|
45191
46461
|
if (id === undefined || id === null) {
|
|
45192
46462
|
throw new Error('Channel ID is required');
|
|
@@ -45591,6 +46861,12 @@ exports.AuthenticationFactor = void 0;
|
|
|
45591
46861
|
AuthenticationFactor["Custom"] = "custom";
|
|
45592
46862
|
})(exports.AuthenticationFactor || (exports.AuthenticationFactor = {}));
|
|
45593
46863
|
|
|
46864
|
+
exports.IdTokenProvider = void 0;
|
|
46865
|
+
(function (IdTokenProvider) {
|
|
46866
|
+
IdTokenProvider["Apple"] = "apple";
|
|
46867
|
+
IdTokenProvider["Google"] = "google";
|
|
46868
|
+
})(exports.IdTokenProvider || (exports.IdTokenProvider = {}));
|
|
46869
|
+
|
|
45594
46870
|
exports.OAuthProvider = void 0;
|
|
45595
46871
|
(function (OAuthProvider) {
|
|
45596
46872
|
OAuthProvider["Amazon"] = "amazon";
|
|
@@ -46389,7 +47665,6 @@ exports.QuerySuggestionResource = void 0;
|
|
|
46389
47665
|
QuerySuggestionResource["Schedules"] = "schedules";
|
|
46390
47666
|
QuerySuggestionResource["Platforms"] = "platforms";
|
|
46391
47667
|
QuerySuggestionResource["Keys"] = "keys";
|
|
46392
|
-
QuerySuggestionResource["DevKeys"] = "devkeys";
|
|
46393
47668
|
QuerySuggestionResource["Webhooks"] = "webhooks";
|
|
46394
47669
|
QuerySuggestionResource["Notifications"] = "notifications";
|
|
46395
47670
|
QuerySuggestionResource["Certificates"] = "certificates";
|
|
@@ -46412,6 +47687,7 @@ exports.QuerySuggestionResource = void 0;
|
|
|
46412
47687
|
QuerySuggestionResource["Buckets"] = "buckets";
|
|
46413
47688
|
QuerySuggestionResource["Providers"] = "providers";
|
|
46414
47689
|
QuerySuggestionResource["Messages"] = "messages";
|
|
47690
|
+
QuerySuggestionResource["PushLedger"] = "pushledger";
|
|
46415
47691
|
QuerySuggestionResource["Topics"] = "topics";
|
|
46416
47692
|
QuerySuggestionResource["Subscribers"] = "subscribers";
|
|
46417
47693
|
QuerySuggestionResource["Targets"] = "targets";
|
|
@@ -46454,13 +47730,11 @@ exports.QuerySuggestionResource = void 0;
|
|
|
46454
47730
|
QuerySuggestionResource["Functions"] = "functions";
|
|
46455
47731
|
QuerySuggestionResource["Sites"] = "sites";
|
|
46456
47732
|
QuerySuggestionResource["Deployments"] = "deployments";
|
|
46457
|
-
QuerySuggestionResource["Executions"] = "executions";
|
|
46458
47733
|
QuerySuggestionResource["Variables"] = "variables";
|
|
46459
47734
|
QuerySuggestionResource["Migrations"] = "migrations";
|
|
46460
47735
|
QuerySuggestionResource["ResourceTokens"] = "resourcetokens";
|
|
46461
47736
|
QuerySuggestionResource["Transactions"] = "transactions";
|
|
46462
47737
|
QuerySuggestionResource["TransactionLogs"] = "transactionlogs";
|
|
46463
|
-
QuerySuggestionResource["Stats"] = "stats";
|
|
46464
47738
|
QuerySuggestionResource["DedicatedDatabases"] = "dedicateddatabases";
|
|
46465
47739
|
QuerySuggestionResource["DedicatedDatabaseConfigs"] = "dedicateddatabaseconfigs";
|
|
46466
47740
|
QuerySuggestionResource["DedicatedDatabaseRuntimes"] = "dedicateddatabaseruntimes";
|
|
@@ -46479,6 +47753,8 @@ exports.ProjectEmailTemplateId = void 0;
|
|
|
46479
47753
|
ProjectEmailTemplateId["MfaChallenge"] = "mfaChallenge";
|
|
46480
47754
|
ProjectEmailTemplateId["SessionAlert"] = "sessionAlert";
|
|
46481
47755
|
ProjectEmailTemplateId["OtpSession"] = "otpSession";
|
|
47756
|
+
ProjectEmailTemplateId["OtpVerification"] = "otpVerification";
|
|
47757
|
+
ProjectEmailTemplateId["OtpRecovery"] = "otpRecovery";
|
|
46482
47758
|
})(exports.ProjectEmailTemplateId || (exports.ProjectEmailTemplateId = {}));
|
|
46483
47759
|
|
|
46484
47760
|
exports.ProjectEmailTemplateLocale = void 0;
|
|
@@ -46706,6 +47982,9 @@ exports.Runtime = void 0;
|
|
|
46706
47982
|
Runtime["Pythonml311"] = "python-ml-3.11";
|
|
46707
47983
|
Runtime["Pythonml312"] = "python-ml-3.12";
|
|
46708
47984
|
Runtime["Pythonml313"] = "python-ml-3.13";
|
|
47985
|
+
Runtime["Deno121"] = "deno-1.21";
|
|
47986
|
+
Runtime["Deno124"] = "deno-1.24";
|
|
47987
|
+
Runtime["Deno135"] = "deno-1.35";
|
|
46709
47988
|
Runtime["Deno140"] = "deno-1.40";
|
|
46710
47989
|
Runtime["Deno146"] = "deno-1.46";
|
|
46711
47990
|
Runtime["Deno20"] = "deno-2.0";
|
|
@@ -46877,6 +48156,7 @@ exports.ProjectKeyScopes = void 0;
|
|
|
46877
48156
|
ProjectKeyScopes["ReportsWrite"] = "reports.write";
|
|
46878
48157
|
ProjectKeyScopes["PresencesRead"] = "presences.read";
|
|
46879
48158
|
ProjectKeyScopes["PresencesWrite"] = "presences.write";
|
|
48159
|
+
ProjectKeyScopes["DedicatedDatabasesExecute"] = "dedicatedDatabases.execute";
|
|
46880
48160
|
ProjectKeyScopes["BackupsPoliciesRead"] = "backups.policies.read";
|
|
46881
48161
|
ProjectKeyScopes["BackupsPoliciesWrite"] = "backups.policies.write";
|
|
46882
48162
|
ProjectKeyScopes["ArchivesRead"] = "archives.read";
|
|
@@ -46938,6 +48218,17 @@ exports.ExecutionMethod = void 0;
|
|
|
46938
48218
|
ExecutionMethod["HEAD"] = "HEAD";
|
|
46939
48219
|
})(exports.ExecutionMethod || (exports.ExecutionMethod = {}));
|
|
46940
48220
|
|
|
48221
|
+
exports.ConversationType = void 0;
|
|
48222
|
+
(function (ConversationType) {
|
|
48223
|
+
ConversationType["Support"] = "support";
|
|
48224
|
+
ConversationType["Feedback"] = "feedback";
|
|
48225
|
+
ConversationType["Docs"] = "docs";
|
|
48226
|
+
ConversationType["Enterprise"] = "enterprise";
|
|
48227
|
+
ConversationType["Startup"] = "startup";
|
|
48228
|
+
ConversationType["Partner"] = "partner";
|
|
48229
|
+
ConversationType["Sponsorship"] = "sponsorship";
|
|
48230
|
+
})(exports.ConversationType || (exports.ConversationType = {}));
|
|
48231
|
+
|
|
46941
48232
|
exports.BlockResourceType = void 0;
|
|
46942
48233
|
(function (BlockResourceType) {
|
|
46943
48234
|
BlockResourceType["Projects"] = "projects";
|
|
@@ -46981,7 +48272,6 @@ exports.CacheDatabase = void 0;
|
|
|
46981
48272
|
(function (CacheDatabase) {
|
|
46982
48273
|
CacheDatabase["Console"] = "console";
|
|
46983
48274
|
CacheDatabase["Project"] = "project";
|
|
46984
|
-
CacheDatabase["Logs"] = "logs";
|
|
46985
48275
|
})(exports.CacheDatabase || (exports.CacheDatabase = {}));
|
|
46986
48276
|
|
|
46987
48277
|
exports.MessagePriority = void 0;
|
|
@@ -47095,10 +48385,8 @@ exports.OrganizationKeyScopes = void 0;
|
|
|
47095
48385
|
(function (OrganizationKeyScopes) {
|
|
47096
48386
|
OrganizationKeyScopes["ProjectsRead"] = "projects.read";
|
|
47097
48387
|
OrganizationKeyScopes["ProjectsWrite"] = "projects.write";
|
|
47098
|
-
OrganizationKeyScopes["
|
|
47099
|
-
OrganizationKeyScopes["
|
|
47100
|
-
OrganizationKeyScopes["OrganizationKeysRead"] = "organization.keys.read";
|
|
47101
|
-
OrganizationKeyScopes["OrganizationKeysWrite"] = "organization.keys.write";
|
|
48388
|
+
OrganizationKeyScopes["OrganizationProjectsKeysRead"] = "organization.projects.keys.read";
|
|
48389
|
+
OrganizationKeyScopes["OrganizationProjectsKeysWrite"] = "organization.projects.keys.write";
|
|
47102
48390
|
OrganizationKeyScopes["OrganizationInstallationsRead"] = "organization.installations.read";
|
|
47103
48391
|
OrganizationKeyScopes["OrganizationInstallationsWrite"] = "organization.installations.write";
|
|
47104
48392
|
OrganizationKeyScopes["OrganizationMembershipsRead"] = "organization.memberships.read";
|
|
@@ -47137,6 +48425,24 @@ exports.ProjectAuthMethodId = void 0;
|
|
|
47137
48425
|
ProjectAuthMethodId["Phone"] = "phone";
|
|
47138
48426
|
})(exports.ProjectAuthMethodId || (exports.ProjectAuthMethodId = {}));
|
|
47139
48427
|
|
|
48428
|
+
exports.ProjectOAuth2Auth0Prompt = void 0;
|
|
48429
|
+
(function (ProjectOAuth2Auth0Prompt) {
|
|
48430
|
+
ProjectOAuth2Auth0Prompt["None"] = "none";
|
|
48431
|
+
ProjectOAuth2Auth0Prompt["Login"] = "login";
|
|
48432
|
+
ProjectOAuth2Auth0Prompt["Consent"] = "consent";
|
|
48433
|
+
})(exports.ProjectOAuth2Auth0Prompt || (exports.ProjectOAuth2Auth0Prompt = {}));
|
|
48434
|
+
|
|
48435
|
+
exports.ProjectOAuth2DiscordPrompt = void 0;
|
|
48436
|
+
(function (ProjectOAuth2DiscordPrompt) {
|
|
48437
|
+
ProjectOAuth2DiscordPrompt["None"] = "none";
|
|
48438
|
+
ProjectOAuth2DiscordPrompt["Consent"] = "consent";
|
|
48439
|
+
})(exports.ProjectOAuth2DiscordPrompt || (exports.ProjectOAuth2DiscordPrompt = {}));
|
|
48440
|
+
|
|
48441
|
+
exports.ProjectOAuth2GitHubPrompt = void 0;
|
|
48442
|
+
(function (ProjectOAuth2GitHubPrompt) {
|
|
48443
|
+
ProjectOAuth2GitHubPrompt["SelectAccount"] = "select_account";
|
|
48444
|
+
})(exports.ProjectOAuth2GitHubPrompt || (exports.ProjectOAuth2GitHubPrompt = {}));
|
|
48445
|
+
|
|
47140
48446
|
exports.ProjectOAuth2GooglePrompt = void 0;
|
|
47141
48447
|
(function (ProjectOAuth2GooglePrompt) {
|
|
47142
48448
|
ProjectOAuth2GooglePrompt["None"] = "none";
|
|
@@ -47144,6 +48450,22 @@ exports.ProjectOAuth2GooglePrompt = void 0;
|
|
|
47144
48450
|
ProjectOAuth2GooglePrompt["SelectAccount"] = "select_account";
|
|
47145
48451
|
})(exports.ProjectOAuth2GooglePrompt || (exports.ProjectOAuth2GooglePrompt = {}));
|
|
47146
48452
|
|
|
48453
|
+
exports.ProjectOAuth2KakaoPrompt = void 0;
|
|
48454
|
+
(function (ProjectOAuth2KakaoPrompt) {
|
|
48455
|
+
ProjectOAuth2KakaoPrompt["None"] = "none";
|
|
48456
|
+
ProjectOAuth2KakaoPrompt["Login"] = "login";
|
|
48457
|
+
ProjectOAuth2KakaoPrompt["Create"] = "create";
|
|
48458
|
+
ProjectOAuth2KakaoPrompt["SelectAccount"] = "select_account";
|
|
48459
|
+
})(exports.ProjectOAuth2KakaoPrompt || (exports.ProjectOAuth2KakaoPrompt = {}));
|
|
48460
|
+
|
|
48461
|
+
exports.ProjectOAuth2MicrosoftPrompt = void 0;
|
|
48462
|
+
(function (ProjectOAuth2MicrosoftPrompt) {
|
|
48463
|
+
ProjectOAuth2MicrosoftPrompt["None"] = "none";
|
|
48464
|
+
ProjectOAuth2MicrosoftPrompt["Login"] = "login";
|
|
48465
|
+
ProjectOAuth2MicrosoftPrompt["Consent"] = "consent";
|
|
48466
|
+
ProjectOAuth2MicrosoftPrompt["SelectAccount"] = "select_account";
|
|
48467
|
+
})(exports.ProjectOAuth2MicrosoftPrompt || (exports.ProjectOAuth2MicrosoftPrompt = {}));
|
|
48468
|
+
|
|
47147
48469
|
exports.ProjectOAuth2OidcPrompt = void 0;
|
|
47148
48470
|
(function (ProjectOAuth2OidcPrompt) {
|
|
47149
48471
|
ProjectOAuth2OidcPrompt["None"] = "none";
|
|
@@ -47152,6 +48474,24 @@ exports.ProjectOAuth2OidcPrompt = void 0;
|
|
|
47152
48474
|
ProjectOAuth2OidcPrompt["SelectAccount"] = "select_account";
|
|
47153
48475
|
})(exports.ProjectOAuth2OidcPrompt || (exports.ProjectOAuth2OidcPrompt = {}));
|
|
47154
48476
|
|
|
48477
|
+
exports.ProjectOAuth2OktaPrompt = void 0;
|
|
48478
|
+
(function (ProjectOAuth2OktaPrompt) {
|
|
48479
|
+
ProjectOAuth2OktaPrompt["None"] = "none";
|
|
48480
|
+
ProjectOAuth2OktaPrompt["Login"] = "login";
|
|
48481
|
+
ProjectOAuth2OktaPrompt["Consent"] = "consent";
|
|
48482
|
+
})(exports.ProjectOAuth2OktaPrompt || (exports.ProjectOAuth2OktaPrompt = {}));
|
|
48483
|
+
|
|
48484
|
+
exports.ProjectOAuth2SalesforcePrompt = void 0;
|
|
48485
|
+
(function (ProjectOAuth2SalesforcePrompt) {
|
|
48486
|
+
ProjectOAuth2SalesforcePrompt["Login"] = "login";
|
|
48487
|
+
ProjectOAuth2SalesforcePrompt["Consent"] = "consent";
|
|
48488
|
+
})(exports.ProjectOAuth2SalesforcePrompt || (exports.ProjectOAuth2SalesforcePrompt = {}));
|
|
48489
|
+
|
|
48490
|
+
exports.ProjectOAuth2ZohoPrompt = void 0;
|
|
48491
|
+
(function (ProjectOAuth2ZohoPrompt) {
|
|
48492
|
+
ProjectOAuth2ZohoPrompt["Consent"] = "consent";
|
|
48493
|
+
})(exports.ProjectOAuth2ZohoPrompt || (exports.ProjectOAuth2ZohoPrompt = {}));
|
|
48494
|
+
|
|
47155
48495
|
exports.ProjectOAuthProviderId = void 0;
|
|
47156
48496
|
(function (ProjectOAuthProviderId) {
|
|
47157
48497
|
ProjectOAuthProviderId["Amazon"] = "amazon";
|
|
@@ -47211,6 +48551,7 @@ exports.ProjectPolicyId = void 0;
|
|
|
47211
48551
|
ProjectPolicyId["Passwordhistory"] = "password-history";
|
|
47212
48552
|
ProjectPolicyId["Passwordstrength"] = "password-strength";
|
|
47213
48553
|
ProjectPolicyId["Passwordpersonaldata"] = "password-personal-data";
|
|
48554
|
+
ProjectPolicyId["Passwordpwned"] = "password-pwned";
|
|
47214
48555
|
ProjectPolicyId["Sessionalert"] = "session-alert";
|
|
47215
48556
|
ProjectPolicyId["Sessionduration"] = "session-duration";
|
|
47216
48557
|
ProjectPolicyId["Sessioninvalidation"] = "session-invalidation";
|
|
@@ -47260,12 +48601,6 @@ exports.ProjectSMTPSecure = void 0;
|
|
|
47260
48601
|
ProjectSMTPSecure["Ssl"] = "ssl";
|
|
47261
48602
|
})(exports.ProjectSMTPSecure || (exports.ProjectSMTPSecure = {}));
|
|
47262
48603
|
|
|
47263
|
-
exports.ProjectUsageRange = void 0;
|
|
47264
|
-
(function (ProjectUsageRange) {
|
|
47265
|
-
ProjectUsageRange["OneHour"] = "1h";
|
|
47266
|
-
ProjectUsageRange["OneDay"] = "1d";
|
|
47267
|
-
})(exports.ProjectUsageRange || (exports.ProjectUsageRange = {}));
|
|
47268
|
-
|
|
47269
48604
|
exports.ScheduleResourceType = void 0;
|
|
47270
48605
|
(function (ScheduleResourceType) {
|
|
47271
48606
|
ScheduleResourceType["Function"] = "function";
|
|
@@ -47314,6 +48649,7 @@ exports.Framework = void 0;
|
|
|
47314
48649
|
Framework["Remix"] = "remix";
|
|
47315
48650
|
Framework["Lynx"] = "lynx";
|
|
47316
48651
|
Framework["Flutter"] = "flutter";
|
|
48652
|
+
Framework["Jaspr"] = "jaspr";
|
|
47317
48653
|
Framework["Reactnative"] = "react-native";
|
|
47318
48654
|
Framework["Vite"] = "vite";
|
|
47319
48655
|
Framework["Other"] = "other";
|
|
@@ -47353,6 +48689,9 @@ exports.BuildRuntime = void 0;
|
|
|
47353
48689
|
BuildRuntime["Pythonml311"] = "python-ml-3.11";
|
|
47354
48690
|
BuildRuntime["Pythonml312"] = "python-ml-3.12";
|
|
47355
48691
|
BuildRuntime["Pythonml313"] = "python-ml-3.13";
|
|
48692
|
+
BuildRuntime["Deno121"] = "deno-1.21";
|
|
48693
|
+
BuildRuntime["Deno124"] = "deno-1.24";
|
|
48694
|
+
BuildRuntime["Deno135"] = "deno-1.35";
|
|
47356
48695
|
BuildRuntime["Deno140"] = "deno-1.40";
|
|
47357
48696
|
BuildRuntime["Deno146"] = "deno-1.46";
|
|
47358
48697
|
BuildRuntime["Deno20"] = "deno-2.0";
|
|
@@ -47770,6 +49109,17 @@ exports.ExecutionStatus = void 0;
|
|
|
47770
49109
|
ExecutionStatus["Scheduled"] = "scheduled";
|
|
47771
49110
|
})(exports.ExecutionStatus || (exports.ExecutionStatus = {}));
|
|
47772
49111
|
|
|
49112
|
+
exports.OAuth2GithubPrompt = void 0;
|
|
49113
|
+
(function (OAuth2GithubPrompt) {
|
|
49114
|
+
OAuth2GithubPrompt["SelectAccount"] = "select_account";
|
|
49115
|
+
})(exports.OAuth2GithubPrompt || (exports.OAuth2GithubPrompt = {}));
|
|
49116
|
+
|
|
49117
|
+
exports.OAuth2DiscordPrompt = void 0;
|
|
49118
|
+
(function (OAuth2DiscordPrompt) {
|
|
49119
|
+
OAuth2DiscordPrompt["None"] = "none";
|
|
49120
|
+
OAuth2DiscordPrompt["Consent"] = "consent";
|
|
49121
|
+
})(exports.OAuth2DiscordPrompt || (exports.OAuth2DiscordPrompt = {}));
|
|
49122
|
+
|
|
47773
49123
|
exports.OAuth2GooglePrompt = void 0;
|
|
47774
49124
|
(function (OAuth2GooglePrompt) {
|
|
47775
49125
|
OAuth2GooglePrompt["None"] = "none";
|
|
@@ -47777,6 +49127,24 @@ exports.OAuth2GooglePrompt = void 0;
|
|
|
47777
49127
|
OAuth2GooglePrompt["SelectAccount"] = "select_account";
|
|
47778
49128
|
})(exports.OAuth2GooglePrompt || (exports.OAuth2GooglePrompt = {}));
|
|
47779
49129
|
|
|
49130
|
+
exports.OAuth2ZohoPrompt = void 0;
|
|
49131
|
+
(function (OAuth2ZohoPrompt) {
|
|
49132
|
+
OAuth2ZohoPrompt["Consent"] = "consent";
|
|
49133
|
+
})(exports.OAuth2ZohoPrompt || (exports.OAuth2ZohoPrompt = {}));
|
|
49134
|
+
|
|
49135
|
+
exports.OAuth2SalesforcePrompt = void 0;
|
|
49136
|
+
(function (OAuth2SalesforcePrompt) {
|
|
49137
|
+
OAuth2SalesforcePrompt["Login"] = "login";
|
|
49138
|
+
OAuth2SalesforcePrompt["Consent"] = "consent";
|
|
49139
|
+
})(exports.OAuth2SalesforcePrompt || (exports.OAuth2SalesforcePrompt = {}));
|
|
49140
|
+
|
|
49141
|
+
exports.OAuth2Auth0Prompt = void 0;
|
|
49142
|
+
(function (OAuth2Auth0Prompt) {
|
|
49143
|
+
OAuth2Auth0Prompt["None"] = "none";
|
|
49144
|
+
OAuth2Auth0Prompt["Login"] = "login";
|
|
49145
|
+
OAuth2Auth0Prompt["Consent"] = "consent";
|
|
49146
|
+
})(exports.OAuth2Auth0Prompt || (exports.OAuth2Auth0Prompt = {}));
|
|
49147
|
+
|
|
47780
49148
|
exports.OAuth2OidcPrompt = void 0;
|
|
47781
49149
|
(function (OAuth2OidcPrompt) {
|
|
47782
49150
|
OAuth2OidcPrompt["None"] = "none";
|
|
@@ -47785,6 +49153,29 @@ exports.OAuth2OidcPrompt = void 0;
|
|
|
47785
49153
|
OAuth2OidcPrompt["SelectAccount"] = "select_account";
|
|
47786
49154
|
})(exports.OAuth2OidcPrompt || (exports.OAuth2OidcPrompt = {}));
|
|
47787
49155
|
|
|
49156
|
+
exports.OAuth2OktaPrompt = void 0;
|
|
49157
|
+
(function (OAuth2OktaPrompt) {
|
|
49158
|
+
OAuth2OktaPrompt["None"] = "none";
|
|
49159
|
+
OAuth2OktaPrompt["Login"] = "login";
|
|
49160
|
+
OAuth2OktaPrompt["Consent"] = "consent";
|
|
49161
|
+
})(exports.OAuth2OktaPrompt || (exports.OAuth2OktaPrompt = {}));
|
|
49162
|
+
|
|
49163
|
+
exports.OAuth2MicrosoftPrompt = void 0;
|
|
49164
|
+
(function (OAuth2MicrosoftPrompt) {
|
|
49165
|
+
OAuth2MicrosoftPrompt["None"] = "none";
|
|
49166
|
+
OAuth2MicrosoftPrompt["Login"] = "login";
|
|
49167
|
+
OAuth2MicrosoftPrompt["Consent"] = "consent";
|
|
49168
|
+
OAuth2MicrosoftPrompt["SelectAccount"] = "select_account";
|
|
49169
|
+
})(exports.OAuth2MicrosoftPrompt || (exports.OAuth2MicrosoftPrompt = {}));
|
|
49170
|
+
|
|
49171
|
+
exports.OAuth2KakaoPrompt = void 0;
|
|
49172
|
+
(function (OAuth2KakaoPrompt) {
|
|
49173
|
+
OAuth2KakaoPrompt["None"] = "none";
|
|
49174
|
+
OAuth2KakaoPrompt["Login"] = "login";
|
|
49175
|
+
OAuth2KakaoPrompt["Create"] = "create";
|
|
49176
|
+
OAuth2KakaoPrompt["SelectAccount"] = "select_account";
|
|
49177
|
+
})(exports.OAuth2KakaoPrompt || (exports.OAuth2KakaoPrompt = {}));
|
|
49178
|
+
|
|
47788
49179
|
exports.PlatformType = void 0;
|
|
47789
49180
|
(function (PlatformType) {
|
|
47790
49181
|
PlatformType["Windows"] = "windows";
|
|
@@ -47818,7 +49209,8 @@ exports.MessageStatus = void 0;
|
|
|
47818
49209
|
|
|
47819
49210
|
exports.BillingPlanGroup = void 0;
|
|
47820
49211
|
(function (BillingPlanGroup) {
|
|
47821
|
-
BillingPlanGroup["
|
|
49212
|
+
BillingPlanGroup["Free"] = "free";
|
|
49213
|
+
BillingPlanGroup["Start"] = "start";
|
|
47822
49214
|
BillingPlanGroup["Pro"] = "pro";
|
|
47823
49215
|
BillingPlanGroup["Scale"] = "scale";
|
|
47824
49216
|
})(exports.BillingPlanGroup || (exports.BillingPlanGroup = {}));
|
|
@@ -47870,6 +49262,7 @@ exports.Domains = Domains;
|
|
|
47870
49262
|
exports.Embeddings = Embeddings;
|
|
47871
49263
|
exports.Functions = Functions;
|
|
47872
49264
|
exports.Graphql = Graphql;
|
|
49265
|
+
exports.Growth = Growth;
|
|
47873
49266
|
exports.ID = ID;
|
|
47874
49267
|
exports.Locale = Locale;
|
|
47875
49268
|
exports.Manager = Manager;
|
|
@@ -47888,14 +49281,17 @@ exports.Presences = Presences;
|
|
|
47888
49281
|
exports.Project = Project;
|
|
47889
49282
|
exports.Projects = Projects;
|
|
47890
49283
|
exports.Proxy = Proxy;
|
|
49284
|
+
exports.Push = Push;
|
|
47891
49285
|
exports.Query = Query;
|
|
47892
49286
|
exports.Realtime = Realtime;
|
|
49287
|
+
exports.ResolvedTopic = ResolvedTopic;
|
|
47893
49288
|
exports.Role = Role;
|
|
47894
49289
|
exports.Sites = Sites;
|
|
47895
49290
|
exports.Storage = Storage;
|
|
47896
49291
|
exports.TablesDB = TablesDB;
|
|
47897
49292
|
exports.Teams = Teams;
|
|
47898
49293
|
exports.Tokens = Tokens;
|
|
49294
|
+
exports.Topic = Topic;
|
|
47899
49295
|
exports.Usage = Usage;
|
|
47900
49296
|
exports.Users = Users;
|
|
47901
49297
|
exports.Vcs = Vcs;
|