appwrite 21.1.0 → 23.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +48 -2
  3. data/lib/appwrite/enums/backup_services.rb +3 -0
  4. data/lib/appwrite/enums/build_runtime.rb +2 -0
  5. data/lib/appwrite/enums/database_type.rb +2 -0
  6. data/lib/appwrite/enums/databases_index_type.rb +10 -0
  7. data/lib/appwrite/enums/o_auth_provider.rb +1 -0
  8. data/lib/appwrite/enums/platform_type.rb +11 -0
  9. data/lib/appwrite/enums/protocol_id.rb +9 -0
  10. data/lib/appwrite/enums/runtime.rb +2 -0
  11. data/lib/appwrite/enums/scopes.rb +8 -0
  12. data/lib/appwrite/enums/service_id.rb +23 -0
  13. data/lib/appwrite/enums/{index_type.rb → tables_db_index_type.rb} +1 -1
  14. data/lib/appwrite/enums/template_reference_type.rb +1 -1
  15. data/lib/appwrite/models/auth_provider.rb +47 -0
  16. data/lib/appwrite/models/billing_limits.rb +62 -0
  17. data/lib/appwrite/models/block.rb +47 -0
  18. data/lib/appwrite/models/database.rb +2 -0
  19. data/lib/appwrite/models/dev_key.rb +62 -0
  20. data/lib/appwrite/models/function.rb +15 -5
  21. data/lib/appwrite/models/key.rb +67 -0
  22. data/lib/appwrite/models/key_list.rb +32 -0
  23. data/lib/appwrite/models/log.rb +5 -0
  24. data/lib/appwrite/models/mock_number.rb +32 -0
  25. data/lib/appwrite/models/platform_android.rb +71 -0
  26. data/lib/appwrite/models/platform_apple.rb +71 -0
  27. data/lib/appwrite/models/platform_linux.rb +71 -0
  28. data/lib/appwrite/models/platform_list.rb +32 -0
  29. data/lib/appwrite/models/platform_web.rb +71 -0
  30. data/lib/appwrite/models/platform_windows.rb +71 -0
  31. data/lib/appwrite/models/project.rb +412 -0
  32. data/lib/appwrite/models/site.rb +20 -5
  33. data/lib/appwrite/models/user.rb +13 -3
  34. data/lib/appwrite/models/webhook.rb +87 -0
  35. data/lib/appwrite/models/webhook_list.rb +32 -0
  36. data/lib/appwrite/service.rb +1 -1
  37. data/lib/appwrite/services/account.rb +47 -2
  38. data/lib/appwrite/services/activities.rb +3 -1
  39. data/lib/appwrite/services/avatars.rb +9 -1
  40. data/lib/appwrite/services/backups.rb +13 -1
  41. data/lib/appwrite/services/databases.rb +133 -7
  42. data/lib/appwrite/services/functions.rb +41 -7
  43. data/lib/appwrite/services/graphql.rb +5 -3
  44. data/lib/appwrite/services/health.rb +22 -117
  45. data/lib/appwrite/services/locale.rb +9 -1
  46. data/lib/appwrite/services/messaging.rb +49 -1
  47. data/lib/appwrite/services/project.rb +1011 -0
  48. data/lib/appwrite/services/sites.rb +44 -7
  49. data/lib/appwrite/services/storage.rb +14 -1
  50. data/lib/appwrite/services/tables_db.rb +133 -7
  51. data/lib/appwrite/services/teams.rb +14 -1
  52. data/lib/appwrite/services/tokens.rb +6 -1
  53. data/lib/appwrite/services/users.rb +85 -2
  54. data/lib/appwrite/services/webhooks.rb +249 -0
  55. data/lib/appwrite.rb +23 -1
  56. metadata +25 -3
@@ -34,6 +34,7 @@ module Appwrite
34
34
  params: api_params,
35
35
  response_type: Models::TeamList
36
36
  )
37
+
37
38
  end
38
39
 
39
40
  # Create a new team. The user who creates the team will automatically be
@@ -73,6 +74,7 @@ module Appwrite
73
74
  params: api_params,
74
75
  response_type: Models::Team
75
76
  )
77
+
76
78
  end
77
79
 
78
80
  # Get a team by its ID. All team members have read access for this resource.
@@ -101,6 +103,7 @@ module Appwrite
101
103
  params: api_params,
102
104
  response_type: Models::Team
103
105
  )
106
+
104
107
  end
105
108
 
106
109
  # Update the team's name by its unique ID.
@@ -136,6 +139,7 @@ module Appwrite
136
139
  params: api_params,
137
140
  response_type: Models::Team
138
141
  )
142
+
139
143
  end
140
144
 
141
145
  # Delete a team using its ID. Only team members with the owner role can
@@ -165,6 +169,7 @@ module Appwrite
165
169
  headers: api_headers,
166
170
  params: api_params,
167
171
  )
172
+
168
173
  end
169
174
 
170
175
  # Use this endpoint to list a team's members using the team's ID. All team
@@ -201,6 +206,7 @@ module Appwrite
201
206
  params: api_params,
202
207
  response_type: Models::MembershipList
203
208
  )
209
+
204
210
  end
205
211
 
206
212
  # Invite a new member to join your team. Provide an ID for existing users, or
@@ -266,6 +272,7 @@ module Appwrite
266
272
  params: api_params,
267
273
  response_type: Models::Membership
268
274
  )
275
+
269
276
  end
270
277
 
271
278
  # Get a team member by the membership unique id. All team members have read
@@ -302,6 +309,7 @@ module Appwrite
302
309
  params: api_params,
303
310
  response_type: Models::Membership
304
311
  )
312
+
305
313
  end
306
314
 
307
315
  # Modify the roles of a team member. Only team members with the owner role
@@ -346,6 +354,7 @@ module Appwrite
346
354
  params: api_params,
347
355
  response_type: Models::Membership
348
356
  )
357
+
349
358
  end
350
359
 
351
360
  # This endpoint allows a user to leave a team or for a team owner to delete
@@ -382,6 +391,7 @@ module Appwrite
382
391
  headers: api_headers,
383
392
  params: api_params,
384
393
  )
394
+
385
395
  end
386
396
 
387
397
  # Use this endpoint to allow a user to accept an invitation to join a team
@@ -435,6 +445,7 @@ module Appwrite
435
445
  params: api_params,
436
446
  response_type: Models::Membership
437
447
  )
448
+
438
449
  end
439
450
 
440
451
  # Get the team's shared preferences by its unique ID. If a preference doesn't
@@ -465,6 +476,7 @@ module Appwrite
465
476
  params: api_params,
466
477
  response_type: Models::Preferences
467
478
  )
479
+
468
480
  end
469
481
 
470
482
  # Update the team's preferences by its unique ID. The object you pass is
@@ -502,7 +514,8 @@ module Appwrite
502
514
  params: api_params,
503
515
  response_type: Models::Preferences
504
516
  )
517
+
505
518
  end
506
519
 
507
520
  end
508
- end
521
+ end
@@ -44,6 +44,7 @@ module Appwrite
44
44
  params: api_params,
45
45
  response_type: Models::ResourceTokenList
46
46
  )
47
+
47
48
  end
48
49
 
49
50
  # Create a new token. A token is linked to a file. Token can be passed as a
@@ -82,6 +83,7 @@ module Appwrite
82
83
  params: api_params,
83
84
  response_type: Models::ResourceToken
84
85
  )
86
+
85
87
  end
86
88
 
87
89
  # Get a token by its unique ID.
@@ -110,6 +112,7 @@ module Appwrite
110
112
  params: api_params,
111
113
  response_type: Models::ResourceToken
112
114
  )
115
+
113
116
  end
114
117
 
115
118
  # Update a token by its unique ID. Use this endpoint to update a token's
@@ -142,6 +145,7 @@ module Appwrite
142
145
  params: api_params,
143
146
  response_type: Models::ResourceToken
144
147
  )
148
+
145
149
  end
146
150
 
147
151
  # Delete a token by its unique ID.
@@ -170,7 +174,8 @@ module Appwrite
170
174
  headers: api_headers,
171
175
  params: api_params,
172
176
  )
177
+
173
178
  end
174
179
 
175
180
  end
176
- end
181
+ end
@@ -10,7 +10,7 @@ module Appwrite
10
10
  # Get a list of all the project's users. You can use the query params to
11
11
  # filter your results.
12
12
  #
13
- # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels
13
+ # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator
14
14
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
15
15
  # @param [] total When set to false, the total count returned will be 0 and will not be calculated.
16
16
  #
@@ -34,6 +34,7 @@ module Appwrite
34
34
  params: api_params,
35
35
  response_type: Models::UserList
36
36
  )
37
+
37
38
  end
38
39
 
39
40
  # Create a new user.
@@ -71,6 +72,7 @@ module Appwrite
71
72
  params: api_params,
72
73
  response_type: Models::User
73
74
  )
75
+
74
76
  end
75
77
 
76
78
  # Create a new user. Password provided must be hashed with the
@@ -117,6 +119,7 @@ module Appwrite
117
119
  params: api_params,
118
120
  response_type: Models::User
119
121
  )
122
+
120
123
  end
121
124
 
122
125
  # Create a new user. Password provided must be hashed with the
@@ -163,6 +166,7 @@ module Appwrite
163
166
  params: api_params,
164
167
  response_type: Models::User
165
168
  )
169
+
166
170
  end
167
171
 
168
172
  # Get identities for all users.
@@ -191,6 +195,7 @@ module Appwrite
191
195
  params: api_params,
192
196
  response_type: Models::IdentityList
193
197
  )
198
+
194
199
  end
195
200
 
196
201
  # Delete an identity by its unique ID.
@@ -219,6 +224,7 @@ module Appwrite
219
224
  headers: api_headers,
220
225
  params: api_params,
221
226
  )
227
+
222
228
  end
223
229
 
224
230
  # Create a new user. Password provided must be hashed with the
@@ -265,6 +271,7 @@ module Appwrite
265
271
  params: api_params,
266
272
  response_type: Models::User
267
273
  )
274
+
268
275
  end
269
276
 
270
277
  # Create a new user. Password provided must be hashed with the
@@ -311,6 +318,7 @@ module Appwrite
311
318
  params: api_params,
312
319
  response_type: Models::User
313
320
  )
321
+
314
322
  end
315
323
 
316
324
  # Create a new user. Password provided must be hashed with the
@@ -387,6 +395,7 @@ module Appwrite
387
395
  params: api_params,
388
396
  response_type: Models::User
389
397
  )
398
+
390
399
  end
391
400
 
392
401
  # Create a new user. Password provided must be hashed with the [Scrypt
@@ -452,6 +461,7 @@ module Appwrite
452
461
  params: api_params,
453
462
  response_type: Models::User
454
463
  )
464
+
455
465
  end
456
466
 
457
467
  # Create a new user. Password provided must be hashed with the
@@ -500,6 +510,7 @@ module Appwrite
500
510
  params: api_params,
501
511
  response_type: Models::User
502
512
  )
513
+
503
514
  end
504
515
 
505
516
  # Get a user by its unique ID.
@@ -528,6 +539,7 @@ module Appwrite
528
539
  params: api_params,
529
540
  response_type: Models::User
530
541
  )
542
+
531
543
  end
532
544
 
533
545
  # Delete a user by its unique ID, thereby releasing it's ID. Since ID is
@@ -561,6 +573,7 @@ module Appwrite
561
573
  headers: api_headers,
562
574
  params: api_params,
563
575
  )
576
+
564
577
  end
565
578
 
566
579
  # Update the user email by its unique ID.
@@ -596,6 +609,48 @@ module Appwrite
596
609
  params: api_params,
597
610
  response_type: Models::User
598
611
  )
612
+
613
+ end
614
+
615
+ # Enable or disable whether a user can impersonate other users. When
616
+ # impersonation headers are used, the request runs as the target user for API
617
+ # behavior, while internal audit logs still attribute the action to the
618
+ # original impersonator and store the impersonated target details only in
619
+ # internal audit payload data.
620
+ #
621
+ #
622
+ # @param [String] user_id User ID.
623
+ # @param [] impersonator Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.
624
+ #
625
+ # @return [User]
626
+ def update_impersonator(user_id:, impersonator:)
627
+ api_path = '/users/{userId}/impersonator'
628
+ .gsub('{userId}', user_id)
629
+
630
+ if user_id.nil?
631
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
632
+ end
633
+
634
+ if impersonator.nil?
635
+ raise Appwrite::Exception.new('Missing required parameter: "impersonator"')
636
+ end
637
+
638
+ api_params = {
639
+ impersonator: impersonator,
640
+ }
641
+
642
+ api_headers = {
643
+ "content-type": 'application/json',
644
+ }
645
+
646
+ @client.call(
647
+ method: 'PATCH',
648
+ path: api_path,
649
+ headers: api_headers,
650
+ params: api_params,
651
+ response_type: Models::User
652
+ )
653
+
599
654
  end
600
655
 
601
656
  # Use this endpoint to create a JSON Web Token for user by its unique ID. You
@@ -631,6 +686,7 @@ module Appwrite
631
686
  params: api_params,
632
687
  response_type: Models::Jwt
633
688
  )
689
+
634
690
  end
635
691
 
636
692
  # Update the user labels by its unique ID.
@@ -671,6 +727,7 @@ module Appwrite
671
727
  params: api_params,
672
728
  response_type: Models::User
673
729
  )
730
+
674
731
  end
675
732
 
676
733
  # Get the user activity logs list by its unique ID.
@@ -703,6 +760,7 @@ module Appwrite
703
760
  params: api_params,
704
761
  response_type: Models::LogList
705
762
  )
763
+
706
764
  end
707
765
 
708
766
  # Get the user membership list by its unique ID.
@@ -737,6 +795,7 @@ module Appwrite
737
795
  params: api_params,
738
796
  response_type: Models::MembershipList
739
797
  )
798
+
740
799
  end
741
800
 
742
801
  # Enable or disable MFA on a user account.
@@ -772,6 +831,7 @@ module Appwrite
772
831
  params: api_params,
773
832
  response_type: Models::User
774
833
  )
834
+
775
835
  end
776
836
 
777
837
  # Delete an authenticator app.
@@ -806,6 +866,7 @@ module Appwrite
806
866
  headers: api_headers,
807
867
  params: api_params,
808
868
  )
869
+
809
870
  end
810
871
 
811
872
  # List the factors available on the account to be used as a MFA challange.
@@ -834,6 +895,7 @@ module Appwrite
834
895
  params: api_params,
835
896
  response_type: Models::MfaFactors
836
897
  )
898
+
837
899
  end
838
900
 
839
901
  # Get recovery codes that can be used as backup for MFA flow by User ID.
@@ -865,6 +927,7 @@ module Appwrite
865
927
  params: api_params,
866
928
  response_type: Models::MfaRecoveryCodes
867
929
  )
930
+
868
931
  end
869
932
 
870
933
  # Regenerate recovery codes that can be used as backup for MFA flow by User
@@ -897,6 +960,7 @@ module Appwrite
897
960
  params: api_params,
898
961
  response_type: Models::MfaRecoveryCodes
899
962
  )
963
+
900
964
  end
901
965
 
902
966
  # Generate recovery codes used as backup for MFA flow for User ID. Recovery
@@ -929,6 +993,7 @@ module Appwrite
929
993
  params: api_params,
930
994
  response_type: Models::MfaRecoveryCodes
931
995
  )
996
+
932
997
  end
933
998
 
934
999
  # Update the user name by its unique ID.
@@ -964,6 +1029,7 @@ module Appwrite
964
1029
  params: api_params,
965
1030
  response_type: Models::User
966
1031
  )
1032
+
967
1033
  end
968
1034
 
969
1035
  # Update the user password by its unique ID.
@@ -999,6 +1065,7 @@ module Appwrite
999
1065
  params: api_params,
1000
1066
  response_type: Models::User
1001
1067
  )
1068
+
1002
1069
  end
1003
1070
 
1004
1071
  # Update the user phone by its unique ID.
@@ -1034,6 +1101,7 @@ module Appwrite
1034
1101
  params: api_params,
1035
1102
  response_type: Models::User
1036
1103
  )
1104
+
1037
1105
  end
1038
1106
 
1039
1107
  # Get the user preferences by its unique ID.
@@ -1062,6 +1130,7 @@ module Appwrite
1062
1130
  params: api_params,
1063
1131
  response_type: Models::Preferences
1064
1132
  )
1133
+
1065
1134
  end
1066
1135
 
1067
1136
  # Update the user preferences by its unique ID. The object you pass is stored
@@ -1099,6 +1168,7 @@ module Appwrite
1099
1168
  params: api_params,
1100
1169
  response_type: Models::Preferences
1101
1170
  )
1171
+
1102
1172
  end
1103
1173
 
1104
1174
  # Get the user sessions list by its unique ID.
@@ -1129,6 +1199,7 @@ module Appwrite
1129
1199
  params: api_params,
1130
1200
  response_type: Models::SessionList
1131
1201
  )
1202
+
1132
1203
  end
1133
1204
 
1134
1205
  # Creates a session for a user. Returns an immediately usable session object.
@@ -1163,6 +1234,7 @@ module Appwrite
1163
1234
  params: api_params,
1164
1235
  response_type: Models::Session
1165
1236
  )
1237
+
1166
1238
  end
1167
1239
 
1168
1240
  # Delete all user's sessions by using the user's unique ID.
@@ -1191,6 +1263,7 @@ module Appwrite
1191
1263
  headers: api_headers,
1192
1264
  params: api_params,
1193
1265
  )
1266
+
1194
1267
  end
1195
1268
 
1196
1269
  # Delete a user sessions by its unique ID.
@@ -1225,6 +1298,7 @@ module Appwrite
1225
1298
  headers: api_headers,
1226
1299
  params: api_params,
1227
1300
  )
1301
+
1228
1302
  end
1229
1303
 
1230
1304
  # Update the user status by its unique ID. Use this endpoint as an
@@ -1261,6 +1335,7 @@ module Appwrite
1261
1335
  params: api_params,
1262
1336
  response_type: Models::User
1263
1337
  )
1338
+
1264
1339
  end
1265
1340
 
1266
1341
  # List the messaging targets that are associated with a user.
@@ -1293,6 +1368,7 @@ module Appwrite
1293
1368
  params: api_params,
1294
1369
  response_type: Models::TargetList
1295
1370
  )
1371
+
1296
1372
  end
1297
1373
 
1298
1374
  # Create a messaging target.
@@ -1344,6 +1420,7 @@ module Appwrite
1344
1420
  params: api_params,
1345
1421
  response_type: Models::Target
1346
1422
  )
1423
+
1347
1424
  end
1348
1425
 
1349
1426
  # Get a user's push notification target by ID.
@@ -1378,6 +1455,7 @@ module Appwrite
1378
1455
  params: api_params,
1379
1456
  response_type: Models::Target
1380
1457
  )
1458
+
1381
1459
  end
1382
1460
 
1383
1461
  # Update a messaging target.
@@ -1419,6 +1497,7 @@ module Appwrite
1419
1497
  params: api_params,
1420
1498
  response_type: Models::Target
1421
1499
  )
1500
+
1422
1501
  end
1423
1502
 
1424
1503
  # Delete a messaging target.
@@ -1453,6 +1532,7 @@ module Appwrite
1453
1532
  headers: api_headers,
1454
1533
  params: api_params,
1455
1534
  )
1535
+
1456
1536
  end
1457
1537
 
1458
1538
  # Returns a token with a secret key for creating a session. Use the user ID
@@ -1490,6 +1570,7 @@ module Appwrite
1490
1570
  params: api_params,
1491
1571
  response_type: Models::Token
1492
1572
  )
1573
+
1493
1574
  end
1494
1575
 
1495
1576
  # Update the user email verification status by its unique ID.
@@ -1525,6 +1606,7 @@ module Appwrite
1525
1606
  params: api_params,
1526
1607
  response_type: Models::User
1527
1608
  )
1609
+
1528
1610
  end
1529
1611
 
1530
1612
  # Update the user phone verification status by its unique ID.
@@ -1560,7 +1642,8 @@ module Appwrite
1560
1642
  params: api_params,
1561
1643
  response_type: Models::User
1562
1644
  )
1645
+
1563
1646
  end
1564
1647
 
1565
1648
  end
1566
- end
1649
+ end