react-native-appwrite 0.20.0 → 0.21.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/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/dist/cjs/sdk.js +45 -34
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/esm/sdk.js +46 -35
- package/dist/esm/sdk.js.map +1 -1
- package/docs/examples/teams/create-membership.md +2 -2
- package/docs/examples/teams/update-membership.md +2 -2
- package/package.json +1 -1
- package/src/channel.ts +7 -9
- package/src/client.ts +32 -5
- package/src/enums/o-auth-provider.ts +2 -0
- package/src/index.ts +0 -1
- package/src/services/account.ts +15 -15
- package/src/services/avatars.ts +3 -3
- package/src/services/graphql.ts +2 -2
- package/src/services/teams.ts +18 -19
- package/types/channel.d.ts +3 -3
- package/types/client.d.ts +2 -1
- package/types/enums/o-auth-provider.d.ts +3 -1
- package/types/index.d.ts +0 -1
- package/types/services/account.d.ts +4 -4
- package/types/services/teams.d.ts +8 -9
- package/src/enums/roles.ts +0 -5
- package/types/enums/roles.d.ts +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Change log
|
|
2
2
|
|
|
3
|
+
## 0.21.0
|
|
4
|
+
|
|
5
|
+
* Add `queries` parameter to `client.subscribe()` for filtering Realtime events
|
|
6
|
+
* Fix `Roles` enum removed from Teams service; `roles` parameter now accepts `string[]`
|
|
7
|
+
* Fix parameter detection in overloaded methods to check for optional params (Account, Avatars, Graphql)
|
|
8
|
+
|
|
3
9
|
## 0.20.0
|
|
4
10
|
|
|
5
11
|
* Add array-based enum parameters (e.g., `permissions: BrowserPermission[]`).
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://twitter.com/appwrite)
|
|
7
7
|
[](https://appwrite.io/discord)
|
|
8
8
|
|
|
9
|
-
**This SDK is compatible with Appwrite server version
|
|
9
|
+
**This SDK is compatible with Appwrite server version latest. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-react-native/releases).**
|
|
10
10
|
|
|
11
11
|
Appwrite is an open-source backend as a service server that abstracts and simplifies complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the React Native SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
|
|
12
12
|
|
package/dist/cjs/sdk.js
CHANGED
|
@@ -128,7 +128,7 @@ class Client {
|
|
|
128
128
|
'x-sdk-name': 'React Native',
|
|
129
129
|
'x-sdk-platform': 'client',
|
|
130
130
|
'x-sdk-language': 'reactnative',
|
|
131
|
-
'x-sdk-version': '0.
|
|
131
|
+
'x-sdk-version': '0.21.0',
|
|
132
132
|
'X-Appwrite-Response-Format': '1.8.0',
|
|
133
133
|
};
|
|
134
134
|
this.realtime = {
|
|
@@ -137,6 +137,7 @@ class Client {
|
|
|
137
137
|
heartbeat: undefined,
|
|
138
138
|
url: '',
|
|
139
139
|
channels: new Set(),
|
|
140
|
+
queries: new Set(),
|
|
140
141
|
subscriptions: new Map(),
|
|
141
142
|
subscriptionsCounter: 0,
|
|
142
143
|
reconnect: true,
|
|
@@ -183,6 +184,9 @@ class Client {
|
|
|
183
184
|
this.realtime.channels.forEach(channel => {
|
|
184
185
|
channels.append('channels[]', channel);
|
|
185
186
|
});
|
|
187
|
+
this.realtime.queries.forEach(query => {
|
|
188
|
+
channels.append('queries[]', query);
|
|
189
|
+
});
|
|
186
190
|
const url = this.config.endpointRealtime + '/realtime?' + channels.toString();
|
|
187
191
|
if (url !== this.realtime.url || // Check if URL is present
|
|
188
192
|
!this.realtime.socket || // Check if WebSocket has not been created
|
|
@@ -254,7 +258,7 @@ class Client {
|
|
|
254
258
|
console.error(e);
|
|
255
259
|
}
|
|
256
260
|
},
|
|
257
|
-
cleanUp: channels => {
|
|
261
|
+
cleanUp: (channels, queries) => {
|
|
258
262
|
this.realtime.channels.forEach(channel => {
|
|
259
263
|
if (channels.includes(channel)) {
|
|
260
264
|
let found = Array.from(this.realtime.subscriptions).some(([_key, subscription]) => {
|
|
@@ -265,6 +269,17 @@ class Client {
|
|
|
265
269
|
}
|
|
266
270
|
}
|
|
267
271
|
});
|
|
272
|
+
this.realtime.queries.forEach(query => {
|
|
273
|
+
if (queries.includes(query)) {
|
|
274
|
+
let found = Array.from(this.realtime.subscriptions).some(([_key, subscription]) => {
|
|
275
|
+
var _a;
|
|
276
|
+
return (_a = subscription.queries) === null || _a === void 0 ? void 0 : _a.includes(query);
|
|
277
|
+
});
|
|
278
|
+
if (!found) {
|
|
279
|
+
this.realtime.queries.delete(query);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
});
|
|
268
283
|
}
|
|
269
284
|
};
|
|
270
285
|
}
|
|
@@ -410,18 +425,21 @@ class Client {
|
|
|
410
425
|
* @param {(payload: RealtimeMessage) => void} callback Is called on every realtime update.
|
|
411
426
|
* @returns {() => void} Unsubscribes from events.
|
|
412
427
|
*/
|
|
413
|
-
subscribe(channels, callback) {
|
|
428
|
+
subscribe(channels, callback, queries = []) {
|
|
414
429
|
let channelArray = typeof channels === 'string' ? [channels] : channels;
|
|
415
430
|
channelArray.forEach(channel => this.realtime.channels.add(channel));
|
|
431
|
+
const queryStrings = (queries !== null && queries !== void 0 ? queries : []).map(q => typeof q === 'string' ? q : q.toString());
|
|
432
|
+
queryStrings.forEach(query => this.realtime.queries.add(query));
|
|
416
433
|
const counter = this.realtime.subscriptionsCounter++;
|
|
417
434
|
this.realtime.subscriptions.set(counter, {
|
|
418
435
|
channels: channelArray,
|
|
436
|
+
queries: queryStrings,
|
|
419
437
|
callback
|
|
420
438
|
});
|
|
421
439
|
this.realtime.connect();
|
|
422
440
|
return () => {
|
|
423
441
|
this.realtime.subscriptions.delete(counter);
|
|
424
|
-
this.realtime.cleanUp(channelArray);
|
|
442
|
+
this.realtime.cleanUp(channelArray, queryStrings);
|
|
425
443
|
this.realtime.connect();
|
|
426
444
|
};
|
|
427
445
|
}
|
|
@@ -719,7 +737,7 @@ class Account extends Service {
|
|
|
719
737
|
}
|
|
720
738
|
createMfaAuthenticator(paramsOrFirst) {
|
|
721
739
|
let params;
|
|
722
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
740
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {
|
|
723
741
|
params = (paramsOrFirst || {});
|
|
724
742
|
}
|
|
725
743
|
else {
|
|
@@ -740,7 +758,7 @@ class Account extends Service {
|
|
|
740
758
|
}
|
|
741
759
|
createMFAAuthenticator(paramsOrFirst) {
|
|
742
760
|
let params;
|
|
743
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
761
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {
|
|
744
762
|
params = (paramsOrFirst || {});
|
|
745
763
|
}
|
|
746
764
|
else {
|
|
@@ -761,7 +779,7 @@ class Account extends Service {
|
|
|
761
779
|
}
|
|
762
780
|
updateMfaAuthenticator(paramsOrFirst, ...rest) {
|
|
763
781
|
let params;
|
|
764
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
782
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst || 'otp' in paramsOrFirst))) {
|
|
765
783
|
params = (paramsOrFirst || {});
|
|
766
784
|
}
|
|
767
785
|
else {
|
|
@@ -790,7 +808,7 @@ class Account extends Service {
|
|
|
790
808
|
}
|
|
791
809
|
updateMFAAuthenticator(paramsOrFirst, ...rest) {
|
|
792
810
|
let params;
|
|
793
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
811
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst || 'otp' in paramsOrFirst))) {
|
|
794
812
|
params = (paramsOrFirst || {});
|
|
795
813
|
}
|
|
796
814
|
else {
|
|
@@ -819,7 +837,7 @@ class Account extends Service {
|
|
|
819
837
|
}
|
|
820
838
|
deleteMfaAuthenticator(paramsOrFirst) {
|
|
821
839
|
let params;
|
|
822
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
840
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {
|
|
823
841
|
params = (paramsOrFirst || {});
|
|
824
842
|
}
|
|
825
843
|
else {
|
|
@@ -840,7 +858,7 @@ class Account extends Service {
|
|
|
840
858
|
}
|
|
841
859
|
deleteMFAAuthenticator(paramsOrFirst) {
|
|
842
860
|
let params;
|
|
843
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'type' in paramsOrFirst)) {
|
|
861
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {
|
|
844
862
|
params = (paramsOrFirst || {});
|
|
845
863
|
}
|
|
846
864
|
else {
|
|
@@ -861,7 +879,7 @@ class Account extends Service {
|
|
|
861
879
|
}
|
|
862
880
|
createMfaChallenge(paramsOrFirst) {
|
|
863
881
|
let params;
|
|
864
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'factor' in paramsOrFirst)) {
|
|
882
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('factor' in paramsOrFirst))) {
|
|
865
883
|
params = (paramsOrFirst || {});
|
|
866
884
|
}
|
|
867
885
|
else {
|
|
@@ -885,7 +903,7 @@ class Account extends Service {
|
|
|
885
903
|
}
|
|
886
904
|
createMFAChallenge(paramsOrFirst) {
|
|
887
905
|
let params;
|
|
888
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'factor' in paramsOrFirst)) {
|
|
906
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('factor' in paramsOrFirst))) {
|
|
889
907
|
params = (paramsOrFirst || {});
|
|
890
908
|
}
|
|
891
909
|
else {
|
|
@@ -1178,7 +1196,7 @@ class Account extends Service {
|
|
|
1178
1196
|
}
|
|
1179
1197
|
updatePrefs(paramsOrFirst) {
|
|
1180
1198
|
let params;
|
|
1181
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'prefs' in paramsOrFirst)) {
|
|
1199
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('prefs' in paramsOrFirst))) {
|
|
1182
1200
|
params = (paramsOrFirst || {});
|
|
1183
1201
|
}
|
|
1184
1202
|
else {
|
|
@@ -1378,7 +1396,7 @@ class Account extends Service {
|
|
|
1378
1396
|
}
|
|
1379
1397
|
createOAuth2Session(paramsOrFirst, ...rest) {
|
|
1380
1398
|
let params;
|
|
1381
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'provider' in paramsOrFirst)) {
|
|
1399
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('provider' in paramsOrFirst || 'success' in paramsOrFirst || 'failure' in paramsOrFirst || 'scopes' in paramsOrFirst))) {
|
|
1382
1400
|
params = (paramsOrFirst || {});
|
|
1383
1401
|
}
|
|
1384
1402
|
else {
|
|
@@ -1721,7 +1739,7 @@ class Account extends Service {
|
|
|
1721
1739
|
}
|
|
1722
1740
|
createOAuth2Token(paramsOrFirst, ...rest) {
|
|
1723
1741
|
let params;
|
|
1724
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'provider' in paramsOrFirst)) {
|
|
1742
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('provider' in paramsOrFirst || 'success' in paramsOrFirst || 'failure' in paramsOrFirst || 'scopes' in paramsOrFirst))) {
|
|
1725
1743
|
params = (paramsOrFirst || {});
|
|
1726
1744
|
}
|
|
1727
1745
|
else {
|
|
@@ -1955,7 +1973,7 @@ class Avatars extends Service {
|
|
|
1955
1973
|
}
|
|
1956
1974
|
getBrowser(paramsOrFirst, ...rest) {
|
|
1957
1975
|
let params;
|
|
1958
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'code' in paramsOrFirst)) {
|
|
1976
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {
|
|
1959
1977
|
params = (paramsOrFirst || {});
|
|
1960
1978
|
}
|
|
1961
1979
|
else {
|
|
@@ -1993,7 +2011,7 @@ class Avatars extends Service {
|
|
|
1993
2011
|
}
|
|
1994
2012
|
getCreditCard(paramsOrFirst, ...rest) {
|
|
1995
2013
|
let params;
|
|
1996
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'code' in paramsOrFirst)) {
|
|
2014
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {
|
|
1997
2015
|
params = (paramsOrFirst || {});
|
|
1998
2016
|
}
|
|
1999
2017
|
else {
|
|
@@ -2057,7 +2075,7 @@ class Avatars extends Service {
|
|
|
2057
2075
|
}
|
|
2058
2076
|
getFlag(paramsOrFirst, ...rest) {
|
|
2059
2077
|
let params;
|
|
2060
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'code' in paramsOrFirst)) {
|
|
2078
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {
|
|
2061
2079
|
params = (paramsOrFirst || {});
|
|
2062
2080
|
}
|
|
2063
2081
|
else {
|
|
@@ -3310,7 +3328,7 @@ class Graphql extends Service {
|
|
|
3310
3328
|
}
|
|
3311
3329
|
query(paramsOrFirst) {
|
|
3312
3330
|
let params;
|
|
3313
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'query' in paramsOrFirst)) {
|
|
3331
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {
|
|
3314
3332
|
params = (paramsOrFirst || {});
|
|
3315
3333
|
}
|
|
3316
3334
|
else {
|
|
@@ -3335,7 +3353,7 @@ class Graphql extends Service {
|
|
|
3335
3353
|
}
|
|
3336
3354
|
mutation(paramsOrFirst) {
|
|
3337
3355
|
let params;
|
|
3338
|
-
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'query' in paramsOrFirst)) {
|
|
3356
|
+
if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {
|
|
3339
3357
|
params = (paramsOrFirst || {});
|
|
3340
3358
|
}
|
|
3341
3359
|
else {
|
|
@@ -5376,10 +5394,6 @@ class Channel {
|
|
|
5376
5394
|
file(id = "*") {
|
|
5377
5395
|
return this.next("files", id);
|
|
5378
5396
|
}
|
|
5379
|
-
// --- FUNCTION ROUTE ---
|
|
5380
|
-
execution(id = "*") {
|
|
5381
|
-
return this.next("executions", id);
|
|
5382
|
-
}
|
|
5383
5397
|
// --- TERMINAL ACTIONS ---
|
|
5384
5398
|
// Restricted to the Actionable union
|
|
5385
5399
|
create() {
|
|
@@ -5404,15 +5418,17 @@ class Channel {
|
|
|
5404
5418
|
static function(id = "*") {
|
|
5405
5419
|
return new Channel(["functions", normalize(id)]);
|
|
5406
5420
|
}
|
|
5421
|
+
static execution(id = "*") {
|
|
5422
|
+
return new Channel(["executions", normalize(id)]);
|
|
5423
|
+
}
|
|
5407
5424
|
static team(id = "*") {
|
|
5408
5425
|
return new Channel(["teams", normalize(id)]);
|
|
5409
5426
|
}
|
|
5410
5427
|
static membership(id = "*") {
|
|
5411
5428
|
return new Channel(["memberships", normalize(id)]);
|
|
5412
5429
|
}
|
|
5413
|
-
static account(
|
|
5414
|
-
|
|
5415
|
-
return id === "*" ? "account" : `account.${id}`;
|
|
5430
|
+
static account() {
|
|
5431
|
+
return "account";
|
|
5416
5432
|
}
|
|
5417
5433
|
// Global events
|
|
5418
5434
|
static get documents() {
|
|
@@ -5748,6 +5764,8 @@ exports.OAuthProvider = void 0;
|
|
|
5748
5764
|
OAuthProvider["Yandex"] = "yandex";
|
|
5749
5765
|
OAuthProvider["Zoho"] = "zoho";
|
|
5750
5766
|
OAuthProvider["Zoom"] = "zoom";
|
|
5767
|
+
OAuthProvider["GithubImagine"] = "githubImagine";
|
|
5768
|
+
OAuthProvider["GoogleImagine"] = "googleImagine";
|
|
5751
5769
|
})(exports.OAuthProvider || (exports.OAuthProvider = {}));
|
|
5752
5770
|
|
|
5753
5771
|
exports.Browser = void 0;
|
|
@@ -6476,13 +6494,6 @@ exports.ImageGravity = void 0;
|
|
|
6476
6494
|
ImageGravity["BottomRight"] = "bottom-right";
|
|
6477
6495
|
})(exports.ImageGravity || (exports.ImageGravity = {}));
|
|
6478
6496
|
|
|
6479
|
-
exports.Roles = void 0;
|
|
6480
|
-
(function (Roles) {
|
|
6481
|
-
Roles["Admin"] = "admin";
|
|
6482
|
-
Roles["Developer"] = "developer";
|
|
6483
|
-
Roles["Owner"] = "owner";
|
|
6484
|
-
})(exports.Roles || (exports.Roles = {}));
|
|
6485
|
-
|
|
6486
6497
|
exports.ExecutionTrigger = void 0;
|
|
6487
6498
|
(function (ExecutionTrigger) {
|
|
6488
6499
|
ExecutionTrigger["Http"] = "http";
|