react-native-appwrite 0.16.0 → 0.18.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/sdk.js +707 -31
  3. package/dist/cjs/sdk.js.map +1 -1
  4. package/dist/esm/sdk.js +707 -32
  5. package/dist/esm/sdk.js.map +1 -1
  6. package/docs/examples/account/list-identities.md +2 -1
  7. package/docs/examples/account/list-logs.md +2 -1
  8. package/docs/examples/databases/create-document.md +3 -2
  9. package/docs/examples/databases/create-operations.md +24 -0
  10. package/docs/examples/databases/create-transaction.md +13 -0
  11. package/docs/examples/databases/decrement-document-attribute.md +2 -1
  12. package/docs/examples/databases/delete-document.md +2 -1
  13. package/docs/examples/databases/delete-transaction.md +13 -0
  14. package/docs/examples/databases/get-document.md +2 -1
  15. package/docs/examples/databases/get-transaction.md +13 -0
  16. package/docs/examples/databases/increment-document-attribute.md +2 -1
  17. package/docs/examples/databases/list-documents.md +3 -1
  18. package/docs/examples/databases/list-transactions.md +13 -0
  19. package/docs/examples/databases/update-document.md +3 -2
  20. package/docs/examples/databases/update-transaction.md +15 -0
  21. package/docs/examples/databases/upsert-document.md +3 -2
  22. package/docs/examples/functions/list-executions.md +2 -1
  23. package/docs/examples/storage/create-file.md +1 -1
  24. package/docs/examples/storage/list-files.md +2 -1
  25. package/docs/examples/storage/update-file.md +1 -1
  26. package/docs/examples/tablesdb/create-operations.md +24 -0
  27. package/docs/examples/tablesdb/create-row.md +3 -2
  28. package/docs/examples/tablesdb/create-transaction.md +13 -0
  29. package/docs/examples/tablesdb/decrement-row-column.md +2 -1
  30. package/docs/examples/tablesdb/delete-row.md +2 -1
  31. package/docs/examples/tablesdb/delete-transaction.md +13 -0
  32. package/docs/examples/tablesdb/get-row.md +2 -1
  33. package/docs/examples/tablesdb/get-transaction.md +13 -0
  34. package/docs/examples/tablesdb/increment-row-column.md +2 -1
  35. package/docs/examples/tablesdb/list-rows.md +3 -1
  36. package/docs/examples/tablesdb/list-transactions.md +13 -0
  37. package/docs/examples/tablesdb/update-row.md +3 -2
  38. package/docs/examples/tablesdb/update-transaction.md +15 -0
  39. package/docs/examples/tablesdb/upsert-row.md +3 -2
  40. package/docs/examples/teams/list-memberships.md +2 -1
  41. package/docs/examples/teams/list.md +2 -1
  42. package/package.json +2 -3
  43. package/src/client.ts +1 -1
  44. package/src/enums/execution-status.ts +1 -0
  45. package/src/index.ts +3 -0
  46. package/src/models.ts +45 -1
  47. package/src/operator.ts +308 -0
  48. package/src/query.ts +6 -6
  49. package/src/services/account.ts +30 -12
  50. package/src/services/databases.ts +422 -56
  51. package/src/services/functions.ts +15 -7
  52. package/src/services/storage.ts +15 -7
  53. package/src/services/tables-db.ts +422 -56
  54. package/src/services/teams.ts +30 -14
  55. package/types/enums/execution-status.d.ts +2 -1
  56. package/types/index.d.ts +3 -0
  57. package/types/models.d.ts +43 -1
  58. package/types/operator.d.ts +180 -0
  59. package/types/services/account.d.ts +8 -2
  60. package/types/services/databases.d.ts +158 -8
  61. package/types/services/functions.d.ts +4 -1
  62. package/types/services/storage.d.ts +4 -1
  63. package/types/services/tables-db.d.ts +158 -8
  64. package/types/services/teams.d.ts +8 -2
package/dist/esm/sdk.js CHANGED
@@ -78,7 +78,7 @@ class Client {
78
78
  'x-sdk-name': 'React Native',
79
79
  'x-sdk-platform': 'client',
80
80
  'x-sdk-language': 'reactnative',
81
- 'x-sdk-version': '0.16.0',
81
+ 'x-sdk-version': '0.18.0',
82
82
  'X-Appwrite-Response-Format': '1.8.0',
83
83
  };
84
84
  this.realtime = {
@@ -547,22 +547,27 @@ class Account extends Service {
547
547
  'content-type': 'application/json',
548
548
  }, payload);
549
549
  }
550
- listIdentities(paramsOrFirst) {
550
+ listIdentities(paramsOrFirst, ...rest) {
551
551
  let params;
552
552
  if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
553
553
  params = (paramsOrFirst || {});
554
554
  }
555
555
  else {
556
556
  params = {
557
- queries: paramsOrFirst
557
+ queries: paramsOrFirst,
558
+ total: rest[0]
558
559
  };
559
560
  }
560
561
  const queries = params.queries;
562
+ const total = params.total;
561
563
  const apiPath = '/account/identities';
562
564
  const payload = {};
563
565
  if (typeof queries !== 'undefined') {
564
566
  payload['queries'] = queries;
565
567
  }
568
+ if (typeof total !== 'undefined') {
569
+ payload['total'] = total;
570
+ }
566
571
  const uri = new URL(this.client.config.endpoint + apiPath);
567
572
  return this.client.call('get', uri, {}, payload);
568
573
  }
@@ -601,22 +606,27 @@ class Account extends Service {
601
606
  'content-type': 'application/json',
602
607
  }, payload);
603
608
  }
604
- listLogs(paramsOrFirst) {
609
+ listLogs(paramsOrFirst, ...rest) {
605
610
  let params;
606
611
  if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
607
612
  params = (paramsOrFirst || {});
608
613
  }
609
614
  else {
610
615
  params = {
611
- queries: paramsOrFirst
616
+ queries: paramsOrFirst,
617
+ total: rest[0]
612
618
  };
613
619
  }
614
620
  const queries = params.queries;
621
+ const total = params.total;
615
622
  const apiPath = '/account/logs';
616
623
  const payload = {};
617
624
  if (typeof queries !== 'undefined') {
618
625
  payload['queries'] = queries;
619
626
  }
627
+ if (typeof total !== 'undefined') {
628
+ payload['total'] = total;
629
+ }
620
630
  const uri = new URL(this.client.config.endpoint + apiPath);
621
631
  return this.client.call('get', uri, {}, payload);
622
632
  }
@@ -2396,6 +2406,143 @@ class Databases extends Service {
2396
2406
  constructor(client) {
2397
2407
  super(client);
2398
2408
  }
2409
+ listTransactions(paramsOrFirst) {
2410
+ let params;
2411
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2412
+ params = (paramsOrFirst || {});
2413
+ }
2414
+ else {
2415
+ params = {
2416
+ queries: paramsOrFirst
2417
+ };
2418
+ }
2419
+ const queries = params.queries;
2420
+ const apiPath = '/databases/transactions';
2421
+ const payload = {};
2422
+ if (typeof queries !== 'undefined') {
2423
+ payload['queries'] = queries;
2424
+ }
2425
+ const uri = new URL(this.client.config.endpoint + apiPath);
2426
+ return this.client.call('get', uri, {}, payload);
2427
+ }
2428
+ createTransaction(paramsOrFirst) {
2429
+ let params;
2430
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2431
+ params = (paramsOrFirst || {});
2432
+ }
2433
+ else {
2434
+ params = {
2435
+ ttl: paramsOrFirst
2436
+ };
2437
+ }
2438
+ const ttl = params.ttl;
2439
+ const apiPath = '/databases/transactions';
2440
+ const payload = {};
2441
+ if (typeof ttl !== 'undefined') {
2442
+ payload['ttl'] = ttl;
2443
+ }
2444
+ const uri = new URL(this.client.config.endpoint + apiPath);
2445
+ return this.client.call('post', uri, {
2446
+ 'content-type': 'application/json',
2447
+ }, payload);
2448
+ }
2449
+ getTransaction(paramsOrFirst) {
2450
+ let params;
2451
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2452
+ params = (paramsOrFirst || {});
2453
+ }
2454
+ else {
2455
+ params = {
2456
+ transactionId: paramsOrFirst
2457
+ };
2458
+ }
2459
+ const transactionId = params.transactionId;
2460
+ if (typeof transactionId === 'undefined') {
2461
+ throw new AppwriteException('Missing required parameter: "transactionId"');
2462
+ }
2463
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
2464
+ const payload = {};
2465
+ const uri = new URL(this.client.config.endpoint + apiPath);
2466
+ return this.client.call('get', uri, {}, payload);
2467
+ }
2468
+ updateTransaction(paramsOrFirst, ...rest) {
2469
+ let params;
2470
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2471
+ params = (paramsOrFirst || {});
2472
+ }
2473
+ else {
2474
+ params = {
2475
+ transactionId: paramsOrFirst,
2476
+ commit: rest[0],
2477
+ rollback: rest[1]
2478
+ };
2479
+ }
2480
+ const transactionId = params.transactionId;
2481
+ const commit = params.commit;
2482
+ const rollback = params.rollback;
2483
+ if (typeof transactionId === 'undefined') {
2484
+ throw new AppwriteException('Missing required parameter: "transactionId"');
2485
+ }
2486
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
2487
+ const payload = {};
2488
+ if (typeof commit !== 'undefined') {
2489
+ payload['commit'] = commit;
2490
+ }
2491
+ if (typeof rollback !== 'undefined') {
2492
+ payload['rollback'] = rollback;
2493
+ }
2494
+ const uri = new URL(this.client.config.endpoint + apiPath);
2495
+ return this.client.call('patch', uri, {
2496
+ 'content-type': 'application/json',
2497
+ }, payload);
2498
+ }
2499
+ deleteTransaction(paramsOrFirst) {
2500
+ let params;
2501
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2502
+ params = (paramsOrFirst || {});
2503
+ }
2504
+ else {
2505
+ params = {
2506
+ transactionId: paramsOrFirst
2507
+ };
2508
+ }
2509
+ const transactionId = params.transactionId;
2510
+ if (typeof transactionId === 'undefined') {
2511
+ throw new AppwriteException('Missing required parameter: "transactionId"');
2512
+ }
2513
+ const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);
2514
+ const payload = {};
2515
+ const uri = new URL(this.client.config.endpoint + apiPath);
2516
+ return this.client.call('delete', uri, {
2517
+ 'content-type': 'application/json',
2518
+ }, payload);
2519
+ }
2520
+ createOperations(paramsOrFirst, ...rest) {
2521
+ let params;
2522
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2523
+ params = (paramsOrFirst || {});
2524
+ }
2525
+ else {
2526
+ params = {
2527
+ transactionId: paramsOrFirst,
2528
+ operations: rest[0]
2529
+ };
2530
+ }
2531
+ const transactionId = params.transactionId;
2532
+ const operations = params.operations;
2533
+ if (typeof transactionId === 'undefined') {
2534
+ throw new AppwriteException('Missing required parameter: "transactionId"');
2535
+ }
2536
+ const apiPath = '/databases/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);
2537
+ const payload = {};
2538
+ if (typeof operations !== 'undefined') {
2539
+ payload['operations'] = operations;
2540
+ }
2541
+ const uri = new URL(this.client.config.endpoint + apiPath);
2542
+ return this.client.call('post', uri, {
2543
+ 'content-type': 'application/json',
2544
+ }, payload);
2545
+ }
2399
2546
  listDocuments(paramsOrFirst, ...rest) {
2400
2547
  let params;
2401
2548
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -2405,12 +2552,16 @@ class Databases extends Service {
2405
2552
  params = {
2406
2553
  databaseId: paramsOrFirst,
2407
2554
  collectionId: rest[0],
2408
- queries: rest[1]
2555
+ queries: rest[1],
2556
+ transactionId: rest[2],
2557
+ total: rest[3]
2409
2558
  };
2410
2559
  }
2411
2560
  const databaseId = params.databaseId;
2412
2561
  const collectionId = params.collectionId;
2413
2562
  const queries = params.queries;
2563
+ const transactionId = params.transactionId;
2564
+ const total = params.total;
2414
2565
  if (typeof databaseId === 'undefined') {
2415
2566
  throw new AppwriteException('Missing required parameter: "databaseId"');
2416
2567
  }
@@ -2422,6 +2573,12 @@ class Databases extends Service {
2422
2573
  if (typeof queries !== 'undefined') {
2423
2574
  payload['queries'] = queries;
2424
2575
  }
2576
+ if (typeof transactionId !== 'undefined') {
2577
+ payload['transactionId'] = transactionId;
2578
+ }
2579
+ if (typeof total !== 'undefined') {
2580
+ payload['total'] = total;
2581
+ }
2425
2582
  const uri = new URL(this.client.config.endpoint + apiPath);
2426
2583
  return this.client.call('get', uri, {}, payload);
2427
2584
  }
@@ -2436,7 +2593,8 @@ class Databases extends Service {
2436
2593
  collectionId: rest[0],
2437
2594
  documentId: rest[1],
2438
2595
  data: rest[2],
2439
- permissions: rest[3]
2596
+ permissions: rest[3],
2597
+ transactionId: rest[4]
2440
2598
  };
2441
2599
  }
2442
2600
  const databaseId = params.databaseId;
@@ -2444,6 +2602,7 @@ class Databases extends Service {
2444
2602
  const documentId = params.documentId;
2445
2603
  const data = params.data;
2446
2604
  const permissions = params.permissions;
2605
+ const transactionId = params.transactionId;
2447
2606
  if (typeof databaseId === 'undefined') {
2448
2607
  throw new AppwriteException('Missing required parameter: "databaseId"');
2449
2608
  }
@@ -2467,6 +2626,9 @@ class Databases extends Service {
2467
2626
  if (typeof permissions !== 'undefined') {
2468
2627
  payload['permissions'] = permissions;
2469
2628
  }
2629
+ if (typeof transactionId !== 'undefined') {
2630
+ payload['transactionId'] = transactionId;
2631
+ }
2470
2632
  const uri = new URL(this.client.config.endpoint + apiPath);
2471
2633
  return this.client.call('post', uri, {
2472
2634
  'content-type': 'application/json',
@@ -2482,13 +2644,15 @@ class Databases extends Service {
2482
2644
  databaseId: paramsOrFirst,
2483
2645
  collectionId: rest[0],
2484
2646
  documentId: rest[1],
2485
- queries: rest[2]
2647
+ queries: rest[2],
2648
+ transactionId: rest[3]
2486
2649
  };
2487
2650
  }
2488
2651
  const databaseId = params.databaseId;
2489
2652
  const collectionId = params.collectionId;
2490
2653
  const documentId = params.documentId;
2491
2654
  const queries = params.queries;
2655
+ const transactionId = params.transactionId;
2492
2656
  if (typeof databaseId === 'undefined') {
2493
2657
  throw new AppwriteException('Missing required parameter: "databaseId"');
2494
2658
  }
@@ -2503,6 +2667,9 @@ class Databases extends Service {
2503
2667
  if (typeof queries !== 'undefined') {
2504
2668
  payload['queries'] = queries;
2505
2669
  }
2670
+ if (typeof transactionId !== 'undefined') {
2671
+ payload['transactionId'] = transactionId;
2672
+ }
2506
2673
  const uri = new URL(this.client.config.endpoint + apiPath);
2507
2674
  return this.client.call('get', uri, {}, payload);
2508
2675
  }
@@ -2517,7 +2684,8 @@ class Databases extends Service {
2517
2684
  collectionId: rest[0],
2518
2685
  documentId: rest[1],
2519
2686
  data: rest[2],
2520
- permissions: rest[3]
2687
+ permissions: rest[3],
2688
+ transactionId: rest[4]
2521
2689
  };
2522
2690
  }
2523
2691
  const databaseId = params.databaseId;
@@ -2525,6 +2693,7 @@ class Databases extends Service {
2525
2693
  const documentId = params.documentId;
2526
2694
  const data = params.data;
2527
2695
  const permissions = params.permissions;
2696
+ const transactionId = params.transactionId;
2528
2697
  if (typeof databaseId === 'undefined') {
2529
2698
  throw new AppwriteException('Missing required parameter: "databaseId"');
2530
2699
  }
@@ -2545,6 +2714,9 @@ class Databases extends Service {
2545
2714
  if (typeof permissions !== 'undefined') {
2546
2715
  payload['permissions'] = permissions;
2547
2716
  }
2717
+ if (typeof transactionId !== 'undefined') {
2718
+ payload['transactionId'] = transactionId;
2719
+ }
2548
2720
  const uri = new URL(this.client.config.endpoint + apiPath);
2549
2721
  return this.client.call('put', uri, {
2550
2722
  'content-type': 'application/json',
@@ -2561,7 +2733,8 @@ class Databases extends Service {
2561
2733
  collectionId: rest[0],
2562
2734
  documentId: rest[1],
2563
2735
  data: rest[2],
2564
- permissions: rest[3]
2736
+ permissions: rest[3],
2737
+ transactionId: rest[4]
2565
2738
  };
2566
2739
  }
2567
2740
  const databaseId = params.databaseId;
@@ -2569,6 +2742,7 @@ class Databases extends Service {
2569
2742
  const documentId = params.documentId;
2570
2743
  const data = params.data;
2571
2744
  const permissions = params.permissions;
2745
+ const transactionId = params.transactionId;
2572
2746
  if (typeof databaseId === 'undefined') {
2573
2747
  throw new AppwriteException('Missing required parameter: "databaseId"');
2574
2748
  }
@@ -2586,6 +2760,9 @@ class Databases extends Service {
2586
2760
  if (typeof permissions !== 'undefined') {
2587
2761
  payload['permissions'] = permissions;
2588
2762
  }
2763
+ if (typeof transactionId !== 'undefined') {
2764
+ payload['transactionId'] = transactionId;
2765
+ }
2589
2766
  const uri = new URL(this.client.config.endpoint + apiPath);
2590
2767
  return this.client.call('patch', uri, {
2591
2768
  'content-type': 'application/json',
@@ -2600,12 +2777,14 @@ class Databases extends Service {
2600
2777
  params = {
2601
2778
  databaseId: paramsOrFirst,
2602
2779
  collectionId: rest[0],
2603
- documentId: rest[1]
2780
+ documentId: rest[1],
2781
+ transactionId: rest[2]
2604
2782
  };
2605
2783
  }
2606
2784
  const databaseId = params.databaseId;
2607
2785
  const collectionId = params.collectionId;
2608
2786
  const documentId = params.documentId;
2787
+ const transactionId = params.transactionId;
2609
2788
  if (typeof databaseId === 'undefined') {
2610
2789
  throw new AppwriteException('Missing required parameter: "databaseId"');
2611
2790
  }
@@ -2617,6 +2796,9 @@ class Databases extends Service {
2617
2796
  }
2618
2797
  const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);
2619
2798
  const payload = {};
2799
+ if (typeof transactionId !== 'undefined') {
2800
+ payload['transactionId'] = transactionId;
2801
+ }
2620
2802
  const uri = new URL(this.client.config.endpoint + apiPath);
2621
2803
  return this.client.call('delete', uri, {
2622
2804
  'content-type': 'application/json',
@@ -2634,7 +2816,8 @@ class Databases extends Service {
2634
2816
  documentId: rest[1],
2635
2817
  attribute: rest[2],
2636
2818
  value: rest[3],
2637
- min: rest[4]
2819
+ min: rest[4],
2820
+ transactionId: rest[5]
2638
2821
  };
2639
2822
  }
2640
2823
  const databaseId = params.databaseId;
@@ -2643,6 +2826,7 @@ class Databases extends Service {
2643
2826
  const attribute = params.attribute;
2644
2827
  const value = params.value;
2645
2828
  const min = params.min;
2829
+ const transactionId = params.transactionId;
2646
2830
  if (typeof databaseId === 'undefined') {
2647
2831
  throw new AppwriteException('Missing required parameter: "databaseId"');
2648
2832
  }
@@ -2663,6 +2847,9 @@ class Databases extends Service {
2663
2847
  if (typeof min !== 'undefined') {
2664
2848
  payload['min'] = min;
2665
2849
  }
2850
+ if (typeof transactionId !== 'undefined') {
2851
+ payload['transactionId'] = transactionId;
2852
+ }
2666
2853
  const uri = new URL(this.client.config.endpoint + apiPath);
2667
2854
  return this.client.call('patch', uri, {
2668
2855
  'content-type': 'application/json',
@@ -2680,7 +2867,8 @@ class Databases extends Service {
2680
2867
  documentId: rest[1],
2681
2868
  attribute: rest[2],
2682
2869
  value: rest[3],
2683
- max: rest[4]
2870
+ max: rest[4],
2871
+ transactionId: rest[5]
2684
2872
  };
2685
2873
  }
2686
2874
  const databaseId = params.databaseId;
@@ -2689,6 +2877,7 @@ class Databases extends Service {
2689
2877
  const attribute = params.attribute;
2690
2878
  const value = params.value;
2691
2879
  const max = params.max;
2880
+ const transactionId = params.transactionId;
2692
2881
  if (typeof databaseId === 'undefined') {
2693
2882
  throw new AppwriteException('Missing required parameter: "databaseId"');
2694
2883
  }
@@ -2709,6 +2898,9 @@ class Databases extends Service {
2709
2898
  if (typeof max !== 'undefined') {
2710
2899
  payload['max'] = max;
2711
2900
  }
2901
+ if (typeof transactionId !== 'undefined') {
2902
+ payload['transactionId'] = transactionId;
2903
+ }
2712
2904
  const uri = new URL(this.client.config.endpoint + apiPath);
2713
2905
  return this.client.call('patch', uri, {
2714
2906
  'content-type': 'application/json',
@@ -2728,11 +2920,13 @@ class Functions extends Service {
2728
2920
  else {
2729
2921
  params = {
2730
2922
  functionId: paramsOrFirst,
2731
- queries: rest[0]
2923
+ queries: rest[0],
2924
+ total: rest[1]
2732
2925
  };
2733
2926
  }
2734
2927
  const functionId = params.functionId;
2735
2928
  const queries = params.queries;
2929
+ const total = params.total;
2736
2930
  if (typeof functionId === 'undefined') {
2737
2931
  throw new AppwriteException('Missing required parameter: "functionId"');
2738
2932
  }
@@ -2741,6 +2935,9 @@ class Functions extends Service {
2741
2935
  if (typeof queries !== 'undefined') {
2742
2936
  payload['queries'] = queries;
2743
2937
  }
2938
+ if (typeof total !== 'undefined') {
2939
+ payload['total'] = total;
2940
+ }
2744
2941
  const uri = new URL(this.client.config.endpoint + apiPath);
2745
2942
  return this.client.call('get', uri, {}, payload);
2746
2943
  }
@@ -3063,12 +3260,14 @@ class Storage extends Service {
3063
3260
  params = {
3064
3261
  bucketId: paramsOrFirst,
3065
3262
  queries: rest[0],
3066
- search: rest[1]
3263
+ search: rest[1],
3264
+ total: rest[2]
3067
3265
  };
3068
3266
  }
3069
3267
  const bucketId = params.bucketId;
3070
3268
  const queries = params.queries;
3071
3269
  const search = params.search;
3270
+ const total = params.total;
3072
3271
  if (typeof bucketId === 'undefined') {
3073
3272
  throw new AppwriteException('Missing required parameter: "bucketId"');
3074
3273
  }
@@ -3080,6 +3279,9 @@ class Storage extends Service {
3080
3279
  if (typeof search !== 'undefined') {
3081
3280
  payload['search'] = search;
3082
3281
  }
3282
+ if (typeof total !== 'undefined') {
3283
+ payload['total'] = total;
3284
+ }
3083
3285
  const uri = new URL(this.client.config.endpoint + apiPath);
3084
3286
  return this.client.call('get', uri, {}, payload);
3085
3287
  }
@@ -3539,6 +3741,143 @@ class TablesDB extends Service {
3539
3741
  constructor(client) {
3540
3742
  super(client);
3541
3743
  }
3744
+ listTransactions(paramsOrFirst) {
3745
+ let params;
3746
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3747
+ params = (paramsOrFirst || {});
3748
+ }
3749
+ else {
3750
+ params = {
3751
+ queries: paramsOrFirst
3752
+ };
3753
+ }
3754
+ const queries = params.queries;
3755
+ const apiPath = '/tablesdb/transactions';
3756
+ const payload = {};
3757
+ if (typeof queries !== 'undefined') {
3758
+ payload['queries'] = queries;
3759
+ }
3760
+ const uri = new URL(this.client.config.endpoint + apiPath);
3761
+ return this.client.call('get', uri, {}, payload);
3762
+ }
3763
+ createTransaction(paramsOrFirst) {
3764
+ let params;
3765
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3766
+ params = (paramsOrFirst || {});
3767
+ }
3768
+ else {
3769
+ params = {
3770
+ ttl: paramsOrFirst
3771
+ };
3772
+ }
3773
+ const ttl = params.ttl;
3774
+ const apiPath = '/tablesdb/transactions';
3775
+ const payload = {};
3776
+ if (typeof ttl !== 'undefined') {
3777
+ payload['ttl'] = ttl;
3778
+ }
3779
+ const uri = new URL(this.client.config.endpoint + apiPath);
3780
+ return this.client.call('post', uri, {
3781
+ 'content-type': 'application/json',
3782
+ }, payload);
3783
+ }
3784
+ getTransaction(paramsOrFirst) {
3785
+ let params;
3786
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3787
+ params = (paramsOrFirst || {});
3788
+ }
3789
+ else {
3790
+ params = {
3791
+ transactionId: paramsOrFirst
3792
+ };
3793
+ }
3794
+ const transactionId = params.transactionId;
3795
+ if (typeof transactionId === 'undefined') {
3796
+ throw new AppwriteException('Missing required parameter: "transactionId"');
3797
+ }
3798
+ const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);
3799
+ const payload = {};
3800
+ const uri = new URL(this.client.config.endpoint + apiPath);
3801
+ return this.client.call('get', uri, {}, payload);
3802
+ }
3803
+ updateTransaction(paramsOrFirst, ...rest) {
3804
+ let params;
3805
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3806
+ params = (paramsOrFirst || {});
3807
+ }
3808
+ else {
3809
+ params = {
3810
+ transactionId: paramsOrFirst,
3811
+ commit: rest[0],
3812
+ rollback: rest[1]
3813
+ };
3814
+ }
3815
+ const transactionId = params.transactionId;
3816
+ const commit = params.commit;
3817
+ const rollback = params.rollback;
3818
+ if (typeof transactionId === 'undefined') {
3819
+ throw new AppwriteException('Missing required parameter: "transactionId"');
3820
+ }
3821
+ const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);
3822
+ const payload = {};
3823
+ if (typeof commit !== 'undefined') {
3824
+ payload['commit'] = commit;
3825
+ }
3826
+ if (typeof rollback !== 'undefined') {
3827
+ payload['rollback'] = rollback;
3828
+ }
3829
+ const uri = new URL(this.client.config.endpoint + apiPath);
3830
+ return this.client.call('patch', uri, {
3831
+ 'content-type': 'application/json',
3832
+ }, payload);
3833
+ }
3834
+ deleteTransaction(paramsOrFirst) {
3835
+ let params;
3836
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3837
+ params = (paramsOrFirst || {});
3838
+ }
3839
+ else {
3840
+ params = {
3841
+ transactionId: paramsOrFirst
3842
+ };
3843
+ }
3844
+ const transactionId = params.transactionId;
3845
+ if (typeof transactionId === 'undefined') {
3846
+ throw new AppwriteException('Missing required parameter: "transactionId"');
3847
+ }
3848
+ const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);
3849
+ const payload = {};
3850
+ const uri = new URL(this.client.config.endpoint + apiPath);
3851
+ return this.client.call('delete', uri, {
3852
+ 'content-type': 'application/json',
3853
+ }, payload);
3854
+ }
3855
+ createOperations(paramsOrFirst, ...rest) {
3856
+ let params;
3857
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3858
+ params = (paramsOrFirst || {});
3859
+ }
3860
+ else {
3861
+ params = {
3862
+ transactionId: paramsOrFirst,
3863
+ operations: rest[0]
3864
+ };
3865
+ }
3866
+ const transactionId = params.transactionId;
3867
+ const operations = params.operations;
3868
+ if (typeof transactionId === 'undefined') {
3869
+ throw new AppwriteException('Missing required parameter: "transactionId"');
3870
+ }
3871
+ const apiPath = '/tablesdb/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);
3872
+ const payload = {};
3873
+ if (typeof operations !== 'undefined') {
3874
+ payload['operations'] = operations;
3875
+ }
3876
+ const uri = new URL(this.client.config.endpoint + apiPath);
3877
+ return this.client.call('post', uri, {
3878
+ 'content-type': 'application/json',
3879
+ }, payload);
3880
+ }
3542
3881
  listRows(paramsOrFirst, ...rest) {
3543
3882
  let params;
3544
3883
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -3548,12 +3887,16 @@ class TablesDB extends Service {
3548
3887
  params = {
3549
3888
  databaseId: paramsOrFirst,
3550
3889
  tableId: rest[0],
3551
- queries: rest[1]
3890
+ queries: rest[1],
3891
+ transactionId: rest[2],
3892
+ total: rest[3]
3552
3893
  };
3553
3894
  }
3554
3895
  const databaseId = params.databaseId;
3555
3896
  const tableId = params.tableId;
3556
3897
  const queries = params.queries;
3898
+ const transactionId = params.transactionId;
3899
+ const total = params.total;
3557
3900
  if (typeof databaseId === 'undefined') {
3558
3901
  throw new AppwriteException('Missing required parameter: "databaseId"');
3559
3902
  }
@@ -3565,6 +3908,12 @@ class TablesDB extends Service {
3565
3908
  if (typeof queries !== 'undefined') {
3566
3909
  payload['queries'] = queries;
3567
3910
  }
3911
+ if (typeof transactionId !== 'undefined') {
3912
+ payload['transactionId'] = transactionId;
3913
+ }
3914
+ if (typeof total !== 'undefined') {
3915
+ payload['total'] = total;
3916
+ }
3568
3917
  const uri = new URL(this.client.config.endpoint + apiPath);
3569
3918
  return this.client.call('get', uri, {}, payload);
3570
3919
  }
@@ -3579,7 +3928,8 @@ class TablesDB extends Service {
3579
3928
  tableId: rest[0],
3580
3929
  rowId: rest[1],
3581
3930
  data: rest[2],
3582
- permissions: rest[3]
3931
+ permissions: rest[3],
3932
+ transactionId: rest[4]
3583
3933
  };
3584
3934
  }
3585
3935
  const databaseId = params.databaseId;
@@ -3587,6 +3937,7 @@ class TablesDB extends Service {
3587
3937
  const rowId = params.rowId;
3588
3938
  const data = params.data;
3589
3939
  const permissions = params.permissions;
3940
+ const transactionId = params.transactionId;
3590
3941
  if (typeof databaseId === 'undefined') {
3591
3942
  throw new AppwriteException('Missing required parameter: "databaseId"');
3592
3943
  }
@@ -3610,6 +3961,9 @@ class TablesDB extends Service {
3610
3961
  if (typeof permissions !== 'undefined') {
3611
3962
  payload['permissions'] = permissions;
3612
3963
  }
3964
+ if (typeof transactionId !== 'undefined') {
3965
+ payload['transactionId'] = transactionId;
3966
+ }
3613
3967
  const uri = new URL(this.client.config.endpoint + apiPath);
3614
3968
  return this.client.call('post', uri, {
3615
3969
  'content-type': 'application/json',
@@ -3625,13 +3979,15 @@ class TablesDB extends Service {
3625
3979
  databaseId: paramsOrFirst,
3626
3980
  tableId: rest[0],
3627
3981
  rowId: rest[1],
3628
- queries: rest[2]
3982
+ queries: rest[2],
3983
+ transactionId: rest[3]
3629
3984
  };
3630
3985
  }
3631
3986
  const databaseId = params.databaseId;
3632
3987
  const tableId = params.tableId;
3633
3988
  const rowId = params.rowId;
3634
3989
  const queries = params.queries;
3990
+ const transactionId = params.transactionId;
3635
3991
  if (typeof databaseId === 'undefined') {
3636
3992
  throw new AppwriteException('Missing required parameter: "databaseId"');
3637
3993
  }
@@ -3646,6 +4002,9 @@ class TablesDB extends Service {
3646
4002
  if (typeof queries !== 'undefined') {
3647
4003
  payload['queries'] = queries;
3648
4004
  }
4005
+ if (typeof transactionId !== 'undefined') {
4006
+ payload['transactionId'] = transactionId;
4007
+ }
3649
4008
  const uri = new URL(this.client.config.endpoint + apiPath);
3650
4009
  return this.client.call('get', uri, {}, payload);
3651
4010
  }
@@ -3660,7 +4019,8 @@ class TablesDB extends Service {
3660
4019
  tableId: rest[0],
3661
4020
  rowId: rest[1],
3662
4021
  data: rest[2],
3663
- permissions: rest[3]
4022
+ permissions: rest[3],
4023
+ transactionId: rest[4]
3664
4024
  };
3665
4025
  }
3666
4026
  const databaseId = params.databaseId;
@@ -3668,6 +4028,7 @@ class TablesDB extends Service {
3668
4028
  const rowId = params.rowId;
3669
4029
  const data = params.data;
3670
4030
  const permissions = params.permissions;
4031
+ const transactionId = params.transactionId;
3671
4032
  if (typeof databaseId === 'undefined') {
3672
4033
  throw new AppwriteException('Missing required parameter: "databaseId"');
3673
4034
  }
@@ -3685,6 +4046,9 @@ class TablesDB extends Service {
3685
4046
  if (typeof permissions !== 'undefined') {
3686
4047
  payload['permissions'] = permissions;
3687
4048
  }
4049
+ if (typeof transactionId !== 'undefined') {
4050
+ payload['transactionId'] = transactionId;
4051
+ }
3688
4052
  const uri = new URL(this.client.config.endpoint + apiPath);
3689
4053
  return this.client.call('put', uri, {
3690
4054
  'content-type': 'application/json',
@@ -3701,7 +4065,8 @@ class TablesDB extends Service {
3701
4065
  tableId: rest[0],
3702
4066
  rowId: rest[1],
3703
4067
  data: rest[2],
3704
- permissions: rest[3]
4068
+ permissions: rest[3],
4069
+ transactionId: rest[4]
3705
4070
  };
3706
4071
  }
3707
4072
  const databaseId = params.databaseId;
@@ -3709,6 +4074,7 @@ class TablesDB extends Service {
3709
4074
  const rowId = params.rowId;
3710
4075
  const data = params.data;
3711
4076
  const permissions = params.permissions;
4077
+ const transactionId = params.transactionId;
3712
4078
  if (typeof databaseId === 'undefined') {
3713
4079
  throw new AppwriteException('Missing required parameter: "databaseId"');
3714
4080
  }
@@ -3726,6 +4092,9 @@ class TablesDB extends Service {
3726
4092
  if (typeof permissions !== 'undefined') {
3727
4093
  payload['permissions'] = permissions;
3728
4094
  }
4095
+ if (typeof transactionId !== 'undefined') {
4096
+ payload['transactionId'] = transactionId;
4097
+ }
3729
4098
  const uri = new URL(this.client.config.endpoint + apiPath);
3730
4099
  return this.client.call('patch', uri, {
3731
4100
  'content-type': 'application/json',
@@ -3740,12 +4109,14 @@ class TablesDB extends Service {
3740
4109
  params = {
3741
4110
  databaseId: paramsOrFirst,
3742
4111
  tableId: rest[0],
3743
- rowId: rest[1]
4112
+ rowId: rest[1],
4113
+ transactionId: rest[2]
3744
4114
  };
3745
4115
  }
3746
4116
  const databaseId = params.databaseId;
3747
4117
  const tableId = params.tableId;
3748
4118
  const rowId = params.rowId;
4119
+ const transactionId = params.transactionId;
3749
4120
  if (typeof databaseId === 'undefined') {
3750
4121
  throw new AppwriteException('Missing required parameter: "databaseId"');
3751
4122
  }
@@ -3757,6 +4128,9 @@ class TablesDB extends Service {
3757
4128
  }
3758
4129
  const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);
3759
4130
  const payload = {};
4131
+ if (typeof transactionId !== 'undefined') {
4132
+ payload['transactionId'] = transactionId;
4133
+ }
3760
4134
  const uri = new URL(this.client.config.endpoint + apiPath);
3761
4135
  return this.client.call('delete', uri, {
3762
4136
  'content-type': 'application/json',
@@ -3774,7 +4148,8 @@ class TablesDB extends Service {
3774
4148
  rowId: rest[1],
3775
4149
  column: rest[2],
3776
4150
  value: rest[3],
3777
- min: rest[4]
4151
+ min: rest[4],
4152
+ transactionId: rest[5]
3778
4153
  };
3779
4154
  }
3780
4155
  const databaseId = params.databaseId;
@@ -3783,6 +4158,7 @@ class TablesDB extends Service {
3783
4158
  const column = params.column;
3784
4159
  const value = params.value;
3785
4160
  const min = params.min;
4161
+ const transactionId = params.transactionId;
3786
4162
  if (typeof databaseId === 'undefined') {
3787
4163
  throw new AppwriteException('Missing required parameter: "databaseId"');
3788
4164
  }
@@ -3803,6 +4179,9 @@ class TablesDB extends Service {
3803
4179
  if (typeof min !== 'undefined') {
3804
4180
  payload['min'] = min;
3805
4181
  }
4182
+ if (typeof transactionId !== 'undefined') {
4183
+ payload['transactionId'] = transactionId;
4184
+ }
3806
4185
  const uri = new URL(this.client.config.endpoint + apiPath);
3807
4186
  return this.client.call('patch', uri, {
3808
4187
  'content-type': 'application/json',
@@ -3820,7 +4199,8 @@ class TablesDB extends Service {
3820
4199
  rowId: rest[1],
3821
4200
  column: rest[2],
3822
4201
  value: rest[3],
3823
- max: rest[4]
4202
+ max: rest[4],
4203
+ transactionId: rest[5]
3824
4204
  };
3825
4205
  }
3826
4206
  const databaseId = params.databaseId;
@@ -3829,6 +4209,7 @@ class TablesDB extends Service {
3829
4209
  const column = params.column;
3830
4210
  const value = params.value;
3831
4211
  const max = params.max;
4212
+ const transactionId = params.transactionId;
3832
4213
  if (typeof databaseId === 'undefined') {
3833
4214
  throw new AppwriteException('Missing required parameter: "databaseId"');
3834
4215
  }
@@ -3849,6 +4230,9 @@ class TablesDB extends Service {
3849
4230
  if (typeof max !== 'undefined') {
3850
4231
  payload['max'] = max;
3851
4232
  }
4233
+ if (typeof transactionId !== 'undefined') {
4234
+ payload['transactionId'] = transactionId;
4235
+ }
3852
4236
  const uri = new URL(this.client.config.endpoint + apiPath);
3853
4237
  return this.client.call('patch', uri, {
3854
4238
  'content-type': 'application/json',
@@ -3868,11 +4252,13 @@ class Teams extends Service {
3868
4252
  else {
3869
4253
  params = {
3870
4254
  queries: paramsOrFirst,
3871
- search: rest[0]
4255
+ search: rest[0],
4256
+ total: rest[1]
3872
4257
  };
3873
4258
  }
3874
4259
  const queries = params.queries;
3875
4260
  const search = params.search;
4261
+ const total = params.total;
3876
4262
  const apiPath = '/teams';
3877
4263
  const payload = {};
3878
4264
  if (typeof queries !== 'undefined') {
@@ -3881,6 +4267,9 @@ class Teams extends Service {
3881
4267
  if (typeof search !== 'undefined') {
3882
4268
  payload['search'] = search;
3883
4269
  }
4270
+ if (typeof total !== 'undefined') {
4271
+ payload['total'] = total;
4272
+ }
3884
4273
  const uri = new URL(this.client.config.endpoint + apiPath);
3885
4274
  return this.client.call('get', uri, {}, payload);
3886
4275
  }
@@ -3999,12 +4388,14 @@ class Teams extends Service {
3999
4388
  params = {
4000
4389
  teamId: paramsOrFirst,
4001
4390
  queries: rest[0],
4002
- search: rest[1]
4391
+ search: rest[1],
4392
+ total: rest[2]
4003
4393
  };
4004
4394
  }
4005
4395
  const teamId = params.teamId;
4006
4396
  const queries = params.queries;
4007
4397
  const search = params.search;
4398
+ const total = params.total;
4008
4399
  if (typeof teamId === 'undefined') {
4009
4400
  throw new AppwriteException('Missing required parameter: "teamId"');
4010
4401
  }
@@ -4016,6 +4407,9 @@ class Teams extends Service {
4016
4407
  if (typeof search !== 'undefined') {
4017
4408
  payload['search'] = search;
4018
4409
  }
4410
+ if (typeof total !== 'undefined') {
4411
+ payload['total'] = total;
4412
+ }
4019
4413
  const uri = new URL(this.client.config.endpoint + apiPath);
4020
4414
  return this.client.call('get', uri, {}, payload);
4021
4415
  }
@@ -4346,14 +4740,14 @@ Query.notEndsWith = (attribute, value) => new Query("notEndsWith", attribute, va
4346
4740
  * @param {string} value
4347
4741
  * @returns {string}
4348
4742
  */
4349
- Query.createdBefore = (value) => new Query("createdBefore", undefined, value).toString();
4743
+ Query.createdBefore = (value) => Query.lessThan("$createdAt", value);
4350
4744
  /**
4351
4745
  * Filter resources where document was created after date.
4352
4746
  *
4353
4747
  * @param {string} value
4354
4748
  * @returns {string}
4355
4749
  */
4356
- Query.createdAfter = (value) => new Query("createdAfter", undefined, value).toString();
4750
+ Query.createdAfter = (value) => Query.greaterThan("$createdAt", value);
4357
4751
  /**
4358
4752
  * Filter resources where document was created between dates.
4359
4753
  *
@@ -4361,21 +4755,21 @@ Query.createdAfter = (value) => new Query("createdAfter", undefined, value).toSt
4361
4755
  * @param {string} end
4362
4756
  * @returns {string}
4363
4757
  */
4364
- Query.createdBetween = (start, end) => new Query("createdBetween", undefined, [start, end]).toString();
4758
+ Query.createdBetween = (start, end) => Query.between("$createdAt", start, end);
4365
4759
  /**
4366
4760
  * Filter resources where document was updated before date.
4367
4761
  *
4368
4762
  * @param {string} value
4369
4763
  * @returns {string}
4370
4764
  */
4371
- Query.updatedBefore = (value) => new Query("updatedBefore", undefined, value).toString();
4765
+ Query.updatedBefore = (value) => Query.lessThan("$updatedAt", value);
4372
4766
  /**
4373
4767
  * Filter resources where document was updated after date.
4374
4768
  *
4375
4769
  * @param {string} value
4376
4770
  * @returns {string}
4377
4771
  */
4378
- Query.updatedAfter = (value) => new Query("updatedAfter", undefined, value).toString();
4772
+ Query.updatedAfter = (value) => Query.greaterThan("$updatedAt", value);
4379
4773
  /**
4380
4774
  * Filter resources where document was updated between dates.
4381
4775
  *
@@ -4383,7 +4777,7 @@ Query.updatedAfter = (value) => new Query("updatedAfter", undefined, value).toSt
4383
4777
  * @param {string} end
4384
4778
  * @returns {string}
4385
4779
  */
4386
- Query.updatedBetween = (start, end) => new Query("updatedBetween", undefined, [start, end]).toString();
4780
+ Query.updatedBetween = (start, end) => Query.between("$updatedAt", start, end);
4387
4781
  Query.or = (queries) => new Query("or", undefined, queries.map((query) => JSON.parse(query))).toString();
4388
4782
  Query.and = (queries) => new Query("and", undefined, queries.map((query) => JSON.parse(query))).toString();
4389
4783
  /**
@@ -4628,6 +5022,271 @@ _a = ID, _ID_hexTimestamp = function _ID_hexTimestamp() {
4628
5022
  return hexTimestamp;
4629
5023
  };
4630
5024
 
5025
+ var Condition;
5026
+ (function (Condition) {
5027
+ Condition["Equal"] = "equal";
5028
+ Condition["NotEqual"] = "notEqual";
5029
+ Condition["GreaterThan"] = "greaterThan";
5030
+ Condition["GreaterThanEqual"] = "greaterThanEqual";
5031
+ Condition["LessThan"] = "lessThan";
5032
+ Condition["LessThanEqual"] = "lessThanEqual";
5033
+ Condition["Contains"] = "contains";
5034
+ Condition["IsNull"] = "isNull";
5035
+ Condition["IsNotNull"] = "isNotNull";
5036
+ })(Condition || (Condition = {}));
5037
+ /**
5038
+ * Helper class to generate operator strings for atomic operations.
5039
+ */
5040
+ class Operator {
5041
+ /**
5042
+ * Constructor for Operator class.
5043
+ *
5044
+ * @param {string} method
5045
+ * @param {OperatorValues} values
5046
+ */
5047
+ constructor(method, values) {
5048
+ this.method = method;
5049
+ if (values !== undefined) {
5050
+ if (Array.isArray(values)) {
5051
+ this.values = values;
5052
+ }
5053
+ else {
5054
+ this.values = [values];
5055
+ }
5056
+ }
5057
+ }
5058
+ /**
5059
+ * Convert the operator object to a JSON string.
5060
+ *
5061
+ * @returns {string}
5062
+ */
5063
+ toString() {
5064
+ return JSON.stringify({
5065
+ method: this.method,
5066
+ values: this.values,
5067
+ });
5068
+ }
5069
+ }
5070
+ /**
5071
+ * Increment a numeric attribute by a specified value.
5072
+ *
5073
+ * @param {number} value
5074
+ * @param {number} max
5075
+ * @returns {string}
5076
+ */
5077
+ Operator.increment = (value = 1, max) => {
5078
+ if (isNaN(value) || !isFinite(value)) {
5079
+ throw new Error("Value cannot be NaN or Infinity");
5080
+ }
5081
+ if (max !== undefined && (isNaN(max) || !isFinite(max))) {
5082
+ throw new Error("Max cannot be NaN or Infinity");
5083
+ }
5084
+ const values = [value];
5085
+ if (max !== undefined) {
5086
+ values.push(max);
5087
+ }
5088
+ return new Operator("increment", values).toString();
5089
+ };
5090
+ /**
5091
+ * Decrement a numeric attribute by a specified value.
5092
+ *
5093
+ * @param {number} value
5094
+ * @param {number} min
5095
+ * @returns {string}
5096
+ */
5097
+ Operator.decrement = (value = 1, min) => {
5098
+ if (isNaN(value) || !isFinite(value)) {
5099
+ throw new Error("Value cannot be NaN or Infinity");
5100
+ }
5101
+ if (min !== undefined && (isNaN(min) || !isFinite(min))) {
5102
+ throw new Error("Min cannot be NaN or Infinity");
5103
+ }
5104
+ const values = [value];
5105
+ if (min !== undefined) {
5106
+ values.push(min);
5107
+ }
5108
+ return new Operator("decrement", values).toString();
5109
+ };
5110
+ /**
5111
+ * Multiply a numeric attribute by a specified factor.
5112
+ *
5113
+ * @param {number} factor
5114
+ * @param {number} max
5115
+ * @returns {string}
5116
+ */
5117
+ Operator.multiply = (factor, max) => {
5118
+ if (isNaN(factor) || !isFinite(factor)) {
5119
+ throw new Error("Factor cannot be NaN or Infinity");
5120
+ }
5121
+ if (max !== undefined && (isNaN(max) || !isFinite(max))) {
5122
+ throw new Error("Max cannot be NaN or Infinity");
5123
+ }
5124
+ const values = [factor];
5125
+ if (max !== undefined) {
5126
+ values.push(max);
5127
+ }
5128
+ return new Operator("multiply", values).toString();
5129
+ };
5130
+ /**
5131
+ * Divide a numeric attribute by a specified divisor.
5132
+ *
5133
+ * @param {number} divisor
5134
+ * @param {number} min
5135
+ * @returns {string}
5136
+ */
5137
+ Operator.divide = (divisor, min) => {
5138
+ if (isNaN(divisor) || !isFinite(divisor)) {
5139
+ throw new Error("Divisor cannot be NaN or Infinity");
5140
+ }
5141
+ if (min !== undefined && (isNaN(min) || !isFinite(min))) {
5142
+ throw new Error("Min cannot be NaN or Infinity");
5143
+ }
5144
+ if (divisor === 0) {
5145
+ throw new Error("Divisor cannot be zero");
5146
+ }
5147
+ const values = [divisor];
5148
+ if (min !== undefined) {
5149
+ values.push(min);
5150
+ }
5151
+ return new Operator("divide", values).toString();
5152
+ };
5153
+ /**
5154
+ * Apply modulo operation on a numeric attribute.
5155
+ *
5156
+ * @param {number} divisor
5157
+ * @returns {string}
5158
+ */
5159
+ Operator.modulo = (divisor) => {
5160
+ if (isNaN(divisor) || !isFinite(divisor)) {
5161
+ throw new Error("Divisor cannot be NaN or Infinity");
5162
+ }
5163
+ if (divisor === 0) {
5164
+ throw new Error("Divisor cannot be zero");
5165
+ }
5166
+ return new Operator("modulo", [divisor]).toString();
5167
+ };
5168
+ /**
5169
+ * Raise a numeric attribute to a specified power.
5170
+ *
5171
+ * @param {number} exponent
5172
+ * @param {number} max
5173
+ * @returns {string}
5174
+ */
5175
+ Operator.power = (exponent, max) => {
5176
+ if (isNaN(exponent) || !isFinite(exponent)) {
5177
+ throw new Error("Exponent cannot be NaN or Infinity");
5178
+ }
5179
+ if (max !== undefined && (isNaN(max) || !isFinite(max))) {
5180
+ throw new Error("Max cannot be NaN or Infinity");
5181
+ }
5182
+ const values = [exponent];
5183
+ if (max !== undefined) {
5184
+ values.push(max);
5185
+ }
5186
+ return new Operator("power", values).toString();
5187
+ };
5188
+ /**
5189
+ * Append values to an array attribute.
5190
+ *
5191
+ * @param {any[]} values
5192
+ * @returns {string}
5193
+ */
5194
+ Operator.arrayAppend = (values) => new Operator("arrayAppend", values).toString();
5195
+ /**
5196
+ * Prepend values to an array attribute.
5197
+ *
5198
+ * @param {any[]} values
5199
+ * @returns {string}
5200
+ */
5201
+ Operator.arrayPrepend = (values) => new Operator("arrayPrepend", values).toString();
5202
+ /**
5203
+ * Insert a value at a specific index in an array attribute.
5204
+ *
5205
+ * @param {number} index
5206
+ * @param {any} value
5207
+ * @returns {string}
5208
+ */
5209
+ Operator.arrayInsert = (index, value) => new Operator("arrayInsert", [index, value]).toString();
5210
+ /**
5211
+ * Remove a value from an array attribute.
5212
+ *
5213
+ * @param {any} value
5214
+ * @returns {string}
5215
+ */
5216
+ Operator.arrayRemove = (value) => new Operator("arrayRemove", [value]).toString();
5217
+ /**
5218
+ * Remove duplicate values from an array attribute.
5219
+ *
5220
+ * @returns {string}
5221
+ */
5222
+ Operator.arrayUnique = () => new Operator("arrayUnique", []).toString();
5223
+ /**
5224
+ * Keep only values that exist in both the current array and the provided array.
5225
+ *
5226
+ * @param {any[]} values
5227
+ * @returns {string}
5228
+ */
5229
+ Operator.arrayIntersect = (values) => new Operator("arrayIntersect", values).toString();
5230
+ /**
5231
+ * Remove values from the array that exist in the provided array.
5232
+ *
5233
+ * @param {any[]} values
5234
+ * @returns {string}
5235
+ */
5236
+ Operator.arrayDiff = (values) => new Operator("arrayDiff", values).toString();
5237
+ /**
5238
+ * Filter array values based on a condition.
5239
+ *
5240
+ * @param {Condition} condition
5241
+ * @param {any} value
5242
+ * @returns {string}
5243
+ */
5244
+ Operator.arrayFilter = (condition, value) => {
5245
+ const values = [condition, value === undefined ? null : value];
5246
+ return new Operator("arrayFilter", values).toString();
5247
+ };
5248
+ /**
5249
+ * Concatenate a value to a string or array attribute.
5250
+ *
5251
+ * @param {any} value
5252
+ * @returns {string}
5253
+ */
5254
+ Operator.stringConcat = (value) => new Operator("stringConcat", [value]).toString();
5255
+ /**
5256
+ * Replace occurrences of a search string with a replacement string.
5257
+ *
5258
+ * @param {string} search
5259
+ * @param {string} replace
5260
+ * @returns {string}
5261
+ */
5262
+ Operator.stringReplace = (search, replace) => new Operator("stringReplace", [search, replace]).toString();
5263
+ /**
5264
+ * Toggle a boolean attribute.
5265
+ *
5266
+ * @returns {string}
5267
+ */
5268
+ Operator.toggle = () => new Operator("toggle", []).toString();
5269
+ /**
5270
+ * Add days to a date attribute.
5271
+ *
5272
+ * @param {number} days
5273
+ * @returns {string}
5274
+ */
5275
+ Operator.dateAddDays = (days) => new Operator("dateAddDays", [days]).toString();
5276
+ /**
5277
+ * Subtract days from a date attribute.
5278
+ *
5279
+ * @param {number} days
5280
+ * @returns {string}
5281
+ */
5282
+ Operator.dateSubDays = (days) => new Operator("dateSubDays", [days]).toString();
5283
+ /**
5284
+ * Set a date attribute to the current date and time.
5285
+ *
5286
+ * @returns {string}
5287
+ */
5288
+ Operator.dateSetNow = () => new Operator("dateSetNow", []).toString();
5289
+
4631
5290
  var AuthenticatorType;
4632
5291
  (function (AuthenticatorType) {
4633
5292
  AuthenticatorType["Totp"] = "totp";
@@ -4958,5 +5617,21 @@ var ImageFormat;
4958
5617
  ImageFormat["Gif"] = "gif";
4959
5618
  })(ImageFormat || (ImageFormat = {}));
4960
5619
 
4961
- export { Account, AppwriteException, AuthenticationFactor, AuthenticatorType, Avatars, Browser, Client, CreditCard, Databases, ExecutionMethod, Flag, Functions, Graphql, ID, ImageFormat, ImageGravity, Locale, Messaging, OAuthProvider, Permission, Query, Role, Storage, TablesDB, Teams };
5620
+ var ExecutionTrigger;
5621
+ (function (ExecutionTrigger) {
5622
+ ExecutionTrigger["Http"] = "http";
5623
+ ExecutionTrigger["Schedule"] = "schedule";
5624
+ ExecutionTrigger["Event"] = "event";
5625
+ })(ExecutionTrigger || (ExecutionTrigger = {}));
5626
+
5627
+ var ExecutionStatus;
5628
+ (function (ExecutionStatus) {
5629
+ ExecutionStatus["Waiting"] = "waiting";
5630
+ ExecutionStatus["Processing"] = "processing";
5631
+ ExecutionStatus["Completed"] = "completed";
5632
+ ExecutionStatus["Failed"] = "failed";
5633
+ ExecutionStatus["Scheduled"] = "scheduled";
5634
+ })(ExecutionStatus || (ExecutionStatus = {}));
5635
+
5636
+ export { Account, AppwriteException, AuthenticationFactor, AuthenticatorType, Avatars, Browser, Client, Condition, CreditCard, Databases, ExecutionMethod, ExecutionStatus, ExecutionTrigger, Flag, Functions, Graphql, ID, ImageFormat, ImageGravity, Locale, Messaging, OAuthProvider, Operator, Permission, Query, Role, Storage, TablesDB, Teams };
4962
5637
  //# sourceMappingURL=sdk.js.map