appwrite 10.1.2 → 11.0.0.pre.rc.4

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +43 -4
  3. data/lib/appwrite/enums/authentication_factor.rb +9 -0
  4. data/lib/appwrite/enums/authenticator_type.rb +7 -0
  5. data/lib/appwrite/enums/browser.rb +20 -0
  6. data/lib/appwrite/enums/compression.rb +9 -0
  7. data/lib/appwrite/enums/credit_card.rb +22 -0
  8. data/lib/appwrite/enums/encryption.rb +9 -0
  9. data/lib/appwrite/enums/execution_method.rb +12 -0
  10. data/lib/appwrite/enums/flag.rb +200 -0
  11. data/lib/appwrite/enums/image_format.rb +11 -0
  12. data/lib/appwrite/enums/image_gravity.rb +15 -0
  13. data/lib/appwrite/enums/index_type.rb +10 -0
  14. data/lib/appwrite/enums/message_status.rb +9 -0
  15. data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
  16. data/lib/appwrite/enums/name.rb +18 -0
  17. data/lib/appwrite/enums/o_auth_provider.rb +45 -0
  18. data/lib/appwrite/enums/password_hash.rb +17 -0
  19. data/lib/appwrite/enums/relation_mutate.rb +9 -0
  20. data/lib/appwrite/enums/relationship_type.rb +10 -0
  21. data/lib/appwrite/enums/runtime.rb +42 -0
  22. data/lib/appwrite/models/health_certificate.rb +52 -0
  23. data/lib/appwrite/models/jwt.rb +27 -0
  24. data/lib/appwrite/models/membership.rb +5 -0
  25. data/lib/appwrite/models/message.rb +87 -0
  26. data/lib/appwrite/models/message_list.rb +32 -0
  27. data/lib/appwrite/models/mfa_challenge.rb +42 -0
  28. data/lib/appwrite/models/mfa_factors.rb +37 -0
  29. data/lib/appwrite/models/mfa_type.rb +37 -0
  30. data/lib/appwrite/models/provider.rb +67 -0
  31. data/lib/appwrite/models/provider_list.rb +32 -0
  32. data/lib/appwrite/models/session.rb +13 -3
  33. data/lib/appwrite/models/subscriber.rb +67 -0
  34. data/lib/appwrite/models/subscriber_list.rb +32 -0
  35. data/lib/appwrite/models/target.rb +62 -0
  36. data/lib/appwrite/models/target_list.rb +32 -0
  37. data/lib/appwrite/models/token.rb +8 -3
  38. data/lib/appwrite/models/topic.rb +62 -0
  39. data/lib/appwrite/models/topic_list.rb +32 -0
  40. data/lib/appwrite/models/user.rb +15 -0
  41. data/lib/appwrite/query.rb +53 -28
  42. data/lib/appwrite/services/account.rb +650 -12
  43. data/lib/appwrite/services/avatars.rb +3 -3
  44. data/lib/appwrite/services/databases.rb +6 -6
  45. data/lib/appwrite/services/functions.rb +3 -3
  46. data/lib/appwrite/services/health.rb +59 -0
  47. data/lib/appwrite/services/messaging.rb +1879 -0
  48. data/lib/appwrite/services/storage.rb +4 -4
  49. data/lib/appwrite/services/teams.rb +1 -1
  50. data/lib/appwrite/services/users.rb +382 -4
  51. data/lib/appwrite.rb +36 -0
  52. metadata +39 -4
@@ -45,7 +45,7 @@ module Appwrite
45
45
  # @param [] enabled Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.
46
46
  # @param [Integer] maximum_file_size Maximum file size allowed in bytes. Maximum allowed value is 30MB.
47
47
  # @param [Array] allowed_file_extensions Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.
48
- # @param [String] compression Compression algorithm choosen for compression. Can be one of none, [gzip](https://en.wikipedia.org/wiki/Gzip), or [zstd](https://en.wikipedia.org/wiki/Zstd), For file size above 20MB compression is skipped even if it's enabled
48
+ # @param [Compression] compression Compression algorithm choosen for compression. Can be one of none, [gzip](https://en.wikipedia.org/wiki/Gzip), or [zstd](https://en.wikipedia.org/wiki/Zstd), For file size above 20MB compression is skipped even if it's enabled
49
49
  # @param [] encryption Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled
50
50
  # @param [] antivirus Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled
51
51
  #
@@ -128,7 +128,7 @@ module Appwrite
128
128
  # @param [] enabled Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.
129
129
  # @param [Integer] maximum_file_size Maximum file size allowed in bytes. Maximum allowed value is 30MB.
130
130
  # @param [Array] allowed_file_extensions Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.
131
- # @param [String] compression Compression algorithm choosen for compression. Can be one of none, [gzip](https://en.wikipedia.org/wiki/Gzip), or [zstd](https://en.wikipedia.org/wiki/Zstd), For file size above 20MB compression is skipped even if it's enabled
131
+ # @param [Compression] compression Compression algorithm choosen for compression. Can be one of none, [gzip](https://en.wikipedia.org/wiki/Gzip), or [zstd](https://en.wikipedia.org/wiki/Zstd), For file size above 20MB compression is skipped even if it's enabled
132
132
  # @param [] encryption Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled
133
133
  # @param [] antivirus Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled
134
134
  #
@@ -462,7 +462,7 @@ module Appwrite
462
462
  # @param [String] file_id File ID
463
463
  # @param [Integer] width Resize preview image width, Pass an integer between 0 to 4000.
464
464
  # @param [Integer] height Resize preview image height, Pass an integer between 0 to 4000.
465
- # @param [String] gravity Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right
465
+ # @param [ImageGravity] gravity Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right
466
466
  # @param [Integer] quality Preview image quality. Pass an integer between 0 to 100. Defaults to 100.
467
467
  # @param [Integer] border_width Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.
468
468
  # @param [String] border_color Preview image border color. Use a valid HEX color, no # is needed for prefix.
@@ -470,7 +470,7 @@ module Appwrite
470
470
  # @param [Float] opacity Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.
471
471
  # @param [Integer] rotation Preview image rotation in degrees. Pass an integer between -360 and 360.
472
472
  # @param [String] background Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.
473
- # @param [String] output Output format type (jpeg, jpg, png, gif and webp).
473
+ # @param [ImageFormat] output Output format type (jpeg, jpg, png, gif and webp).
474
474
  #
475
475
  # @return []
476
476
  def get_file_preview(bucket_id:, file_id:, width: nil, height: nil, gravity: nil, quality: nil, border_width: nil, border_color: nil, border_radius: nil, opacity: nil, rotation: nil, background: nil, output: nil)
@@ -10,7 +10,7 @@ module Appwrite
10
10
  # Get a list of all the teams in which the current user is a member. You can
11
11
  # use the parameters to 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, total
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, total, billingPlan
14
14
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
15
15
  #
16
16
  # @return [TeamList]
@@ -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
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
14
14
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
15
15
  #
16
16
  # @return [UserList]
@@ -170,7 +170,7 @@ module Appwrite
170
170
 
171
171
  # Get identities for all users.
172
172
  #
173
- # @param [String] 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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry
173
+ # @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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry
174
174
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
175
175
  #
176
176
  # @return [IdentityList]
@@ -470,7 +470,7 @@ module Appwrite
470
470
  # @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
471
471
  # @param [String] email User email.
472
472
  # @param [String] password User password hashed using SHA.
473
- # @param [String] password_version Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512/224', 'sha512/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'
473
+ # @param [PasswordHash] password_version Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512/224', 'sha512/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'
474
474
  # @param [String] name User name. Max length: 128 chars.
475
475
  #
476
476
  # @return [User]
@@ -619,7 +619,7 @@ module Appwrite
619
619
  # docs](https://appwrite.io/docs/permissions) for more info.
620
620
  #
621
621
  # @param [String] user_id User ID.
622
- # @param [Array] labels Array of user labels. Replaces the previous labels. Maximum of 100 labels are allowed, each up to 36 alphanumeric characters long.
622
+ # @param [Array] labels Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.
623
623
  #
624
624
  # @return [User]
625
625
  def update_labels(user_id:, labels:)
@@ -714,6 +714,114 @@ module Appwrite
714
714
  end
715
715
 
716
716
 
717
+ #
718
+ #
719
+ # @param [String] user_id User ID.
720
+ # @param [] mfa Enable or disable MFA.
721
+ #
722
+ # @return [User]
723
+ def update_mfa(user_id:, mfa:)
724
+ api_path = '/users/{userId}/mfa'
725
+ .gsub('{userId}', user_id)
726
+
727
+ if user_id.nil?
728
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
729
+ end
730
+
731
+ if mfa.nil?
732
+ raise Appwrite::Exception.new('Missing required parameter: "mfa"')
733
+ end
734
+
735
+ api_params = {
736
+ mfa: mfa,
737
+ }
738
+
739
+ api_headers = {
740
+ "content-type": 'application/json',
741
+ }
742
+
743
+ @client.call(
744
+ method: 'PATCH',
745
+ path: api_path,
746
+ headers: api_headers,
747
+ params: api_params,
748
+ response_type: Models::User
749
+ )
750
+ end
751
+
752
+
753
+ #
754
+ #
755
+ # @param [String] user_id User ID.
756
+ #
757
+ # @return [MfaFactors]
758
+ def list_factors(user_id:)
759
+ api_path = '/users/{userId}/mfa/factors'
760
+ .gsub('{userId}', user_id)
761
+
762
+ if user_id.nil?
763
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
764
+ end
765
+
766
+ api_params = {
767
+ }
768
+
769
+ api_headers = {
770
+ "content-type": 'application/json',
771
+ }
772
+
773
+ @client.call(
774
+ method: 'GET',
775
+ path: api_path,
776
+ headers: api_headers,
777
+ params: api_params,
778
+ response_type: Models::MfaFactors
779
+ )
780
+ end
781
+
782
+
783
+ #
784
+ #
785
+ # @param [String] user_id User ID.
786
+ # @param [AuthenticatorType] type Type of authenticator.
787
+ # @param [String] otp Valid verification token.
788
+ #
789
+ # @return [User]
790
+ def delete_authenticator(user_id:, type:, otp:)
791
+ api_path = '/users/{userId}/mfa/{type}'
792
+ .gsub('{userId}', user_id)
793
+ .gsub('{type}', type)
794
+
795
+ if user_id.nil?
796
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
797
+ end
798
+
799
+ if type.nil?
800
+ raise Appwrite::Exception.new('Missing required parameter: "type"')
801
+ end
802
+
803
+ if otp.nil?
804
+ raise Appwrite::Exception.new('Missing required parameter: "otp"')
805
+ end
806
+
807
+ api_params = {
808
+ otp: otp,
809
+ }
810
+
811
+ api_headers = {
812
+ "content-type": 'application/json',
813
+ }
814
+
815
+ @client.call(
816
+ method: 'DELETE',
817
+ path: api_path,
818
+ headers: api_headers,
819
+ params: api_params,
820
+ response_type: Models::User
821
+ )
822
+ end
823
+
824
+
717
825
  # Update the user name by its unique ID.
718
826
  #
719
827
  # @param [String] user_id User ID.
@@ -920,6 +1028,41 @@ module Appwrite
920
1028
  end
921
1029
 
922
1030
 
1031
+ # Creates a session for a user. Returns an immediately usable session object.
1032
+ #
1033
+ # If you want to generate a token for a custom authentication flow, use the
1034
+ # [POST
1035
+ # /users/{userId}/tokens](https://appwrite.io/docs/server/users#createToken)
1036
+ # endpoint.
1037
+ #
1038
+ # @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
1039
+ #
1040
+ # @return [Session]
1041
+ def create_session(user_id:)
1042
+ api_path = '/users/{userId}/sessions'
1043
+ .gsub('{userId}', user_id)
1044
+
1045
+ if user_id.nil?
1046
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1047
+ end
1048
+
1049
+ api_params = {
1050
+ }
1051
+
1052
+ api_headers = {
1053
+ "content-type": 'application/json',
1054
+ }
1055
+
1056
+ @client.call(
1057
+ method: 'POST',
1058
+ path: api_path,
1059
+ headers: api_headers,
1060
+ params: api_params,
1061
+ response_type: Models::Session
1062
+ )
1063
+ end
1064
+
1065
+
923
1066
  # Delete all user's sessions by using the user's unique ID.
924
1067
  #
925
1068
  # @param [String] user_id User ID.
@@ -1021,6 +1164,241 @@ module Appwrite
1021
1164
  end
1022
1165
 
1023
1166
 
1167
+ #
1168
+ #
1169
+ # @param [String] user_id User ID.
1170
+ # @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
1171
+ #
1172
+ # @return [TargetList]
1173
+ def list_targets(user_id:, queries: nil)
1174
+ api_path = '/users/{userId}/targets'
1175
+ .gsub('{userId}', user_id)
1176
+
1177
+ if user_id.nil?
1178
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1179
+ end
1180
+
1181
+ api_params = {
1182
+ queries: queries,
1183
+ }
1184
+
1185
+ api_headers = {
1186
+ "content-type": 'application/json',
1187
+ }
1188
+
1189
+ @client.call(
1190
+ method: 'GET',
1191
+ path: api_path,
1192
+ headers: api_headers,
1193
+ params: api_params,
1194
+ response_type: Models::TargetList
1195
+ )
1196
+ end
1197
+
1198
+
1199
+ #
1200
+ #
1201
+ # @param [String] user_id User ID.
1202
+ # @param [String] target_id Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
1203
+ # @param [MessagingProviderType] provider_type The target provider type. Can be one of the following: `email`, `sms` or `push`.
1204
+ # @param [String] identifier The target identifier (token, email, phone etc.)
1205
+ # @param [String] provider_id Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.
1206
+ # @param [String] name Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.
1207
+ #
1208
+ # @return [Target]
1209
+ def create_target(user_id:, target_id:, provider_type:, identifier:, provider_id: nil, name: nil)
1210
+ api_path = '/users/{userId}/targets'
1211
+ .gsub('{userId}', user_id)
1212
+
1213
+ if user_id.nil?
1214
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1215
+ end
1216
+
1217
+ if target_id.nil?
1218
+ raise Appwrite::Exception.new('Missing required parameter: "targetId"')
1219
+ end
1220
+
1221
+ if provider_type.nil?
1222
+ raise Appwrite::Exception.new('Missing required parameter: "providerType"')
1223
+ end
1224
+
1225
+ if identifier.nil?
1226
+ raise Appwrite::Exception.new('Missing required parameter: "identifier"')
1227
+ end
1228
+
1229
+ api_params = {
1230
+ targetId: target_id,
1231
+ providerType: provider_type,
1232
+ identifier: identifier,
1233
+ providerId: provider_id,
1234
+ name: name,
1235
+ }
1236
+
1237
+ api_headers = {
1238
+ "content-type": 'application/json',
1239
+ }
1240
+
1241
+ @client.call(
1242
+ method: 'POST',
1243
+ path: api_path,
1244
+ headers: api_headers,
1245
+ params: api_params,
1246
+ response_type: Models::Target
1247
+ )
1248
+ end
1249
+
1250
+
1251
+ #
1252
+ #
1253
+ # @param [String] user_id User ID.
1254
+ # @param [String] target_id Target ID.
1255
+ #
1256
+ # @return [Target]
1257
+ def get_target(user_id:, target_id:)
1258
+ api_path = '/users/{userId}/targets/{targetId}'
1259
+ .gsub('{userId}', user_id)
1260
+ .gsub('{targetId}', target_id)
1261
+
1262
+ if user_id.nil?
1263
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1264
+ end
1265
+
1266
+ if target_id.nil?
1267
+ raise Appwrite::Exception.new('Missing required parameter: "targetId"')
1268
+ end
1269
+
1270
+ api_params = {
1271
+ }
1272
+
1273
+ api_headers = {
1274
+ "content-type": 'application/json',
1275
+ }
1276
+
1277
+ @client.call(
1278
+ method: 'GET',
1279
+ path: api_path,
1280
+ headers: api_headers,
1281
+ params: api_params,
1282
+ response_type: Models::Target
1283
+ )
1284
+ end
1285
+
1286
+
1287
+ #
1288
+ #
1289
+ # @param [String] user_id User ID.
1290
+ # @param [String] target_id Target ID.
1291
+ # @param [String] identifier The target identifier (token, email, phone etc.)
1292
+ # @param [String] provider_id Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.
1293
+ # @param [String] name Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.
1294
+ #
1295
+ # @return [Target]
1296
+ def update_target(user_id:, target_id:, identifier: nil, provider_id: nil, name: nil)
1297
+ api_path = '/users/{userId}/targets/{targetId}'
1298
+ .gsub('{userId}', user_id)
1299
+ .gsub('{targetId}', target_id)
1300
+
1301
+ if user_id.nil?
1302
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1303
+ end
1304
+
1305
+ if target_id.nil?
1306
+ raise Appwrite::Exception.new('Missing required parameter: "targetId"')
1307
+ end
1308
+
1309
+ api_params = {
1310
+ identifier: identifier,
1311
+ providerId: provider_id,
1312
+ name: name,
1313
+ }
1314
+
1315
+ api_headers = {
1316
+ "content-type": 'application/json',
1317
+ }
1318
+
1319
+ @client.call(
1320
+ method: 'PATCH',
1321
+ path: api_path,
1322
+ headers: api_headers,
1323
+ params: api_params,
1324
+ response_type: Models::Target
1325
+ )
1326
+ end
1327
+
1328
+
1329
+ #
1330
+ #
1331
+ # @param [String] user_id User ID.
1332
+ # @param [String] target_id Target ID.
1333
+ #
1334
+ # @return []
1335
+ def delete_target(user_id:, target_id:)
1336
+ api_path = '/users/{userId}/targets/{targetId}'
1337
+ .gsub('{userId}', user_id)
1338
+ .gsub('{targetId}', target_id)
1339
+
1340
+ if user_id.nil?
1341
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1342
+ end
1343
+
1344
+ if target_id.nil?
1345
+ raise Appwrite::Exception.new('Missing required parameter: "targetId"')
1346
+ end
1347
+
1348
+ api_params = {
1349
+ }
1350
+
1351
+ api_headers = {
1352
+ "content-type": 'application/json',
1353
+ }
1354
+
1355
+ @client.call(
1356
+ method: 'DELETE',
1357
+ path: api_path,
1358
+ headers: api_headers,
1359
+ params: api_params,
1360
+ )
1361
+ end
1362
+
1363
+
1364
+ # Returns a token with a secret key for creating a session. If the provided
1365
+ # user ID has not be registered, a new user will be created. Use the returned
1366
+ # user ID and secret and submit a request to the [PUT
1367
+ # /account/sessions/custom](https://appwrite.io/docs/references/cloud/client-web/account#updateCustomSession)
1368
+ # endpoint to complete the login process.
1369
+ #
1370
+ # @param [String] user_id User ID.
1371
+ # @param [Integer] length Token length in characters. The default length is 6 characters
1372
+ # @param [Integer] expire Token expiration period in seconds. The default expiration is 15 minutes.
1373
+ #
1374
+ # @return [Token]
1375
+ def create_token(user_id:, length: nil, expire: nil)
1376
+ api_path = '/users/{userId}/tokens'
1377
+ .gsub('{userId}', user_id)
1378
+
1379
+ if user_id.nil?
1380
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
1381
+ end
1382
+
1383
+ api_params = {
1384
+ length: length,
1385
+ expire: expire,
1386
+ }
1387
+
1388
+ api_headers = {
1389
+ "content-type": 'application/json',
1390
+ }
1391
+
1392
+ @client.call(
1393
+ method: 'POST',
1394
+ path: api_path,
1395
+ headers: api_headers,
1396
+ params: api_params,
1397
+ response_type: Models::Token
1398
+ )
1399
+ end
1400
+
1401
+
1024
1402
  # Update the user email verification status by its unique ID.
1025
1403
  #
1026
1404
  # @param [String] user_id User ID.
data/lib/appwrite.rb CHANGED
@@ -35,6 +35,11 @@ require_relative 'appwrite/models/currency_list'
35
35
  require_relative 'appwrite/models/phone_list'
36
36
  require_relative 'appwrite/models/variable_list'
37
37
  require_relative 'appwrite/models/locale_code_list'
38
+ require_relative 'appwrite/models/provider_list'
39
+ require_relative 'appwrite/models/message_list'
40
+ require_relative 'appwrite/models/topic_list'
41
+ require_relative 'appwrite/models/subscriber_list'
42
+ require_relative 'appwrite/models/target_list'
38
43
  require_relative 'appwrite/models/database'
39
44
  require_relative 'appwrite/models/collection'
40
45
  require_relative 'appwrite/models/attribute_list'
@@ -63,6 +68,7 @@ require_relative 'appwrite/models/preferences'
63
68
  require_relative 'appwrite/models/session'
64
69
  require_relative 'appwrite/models/identity'
65
70
  require_relative 'appwrite/models/token'
71
+ require_relative 'appwrite/models/jwt'
66
72
  require_relative 'appwrite/models/locale'
67
73
  require_relative 'appwrite/models/locale_code'
68
74
  require_relative 'appwrite/models/file'
@@ -82,8 +88,37 @@ require_relative 'appwrite/models/phone'
82
88
  require_relative 'appwrite/models/health_antivirus'
83
89
  require_relative 'appwrite/models/health_queue'
84
90
  require_relative 'appwrite/models/health_status'
91
+ require_relative 'appwrite/models/health_certificate'
85
92
  require_relative 'appwrite/models/health_time'
86
93
  require_relative 'appwrite/models/headers'
94
+ require_relative 'appwrite/models/mfa_challenge'
95
+ require_relative 'appwrite/models/mfa_type'
96
+ require_relative 'appwrite/models/mfa_factors'
97
+ require_relative 'appwrite/models/provider'
98
+ require_relative 'appwrite/models/message'
99
+ require_relative 'appwrite/models/topic'
100
+ require_relative 'appwrite/models/subscriber'
101
+ require_relative 'appwrite/models/target'
102
+
103
+ require_relative 'appwrite/enums/authentication_factor'
104
+ require_relative 'appwrite/enums/authenticator_type'
105
+ require_relative 'appwrite/enums/o_auth_provider'
106
+ require_relative 'appwrite/enums/browser'
107
+ require_relative 'appwrite/enums/credit_card'
108
+ require_relative 'appwrite/enums/flag'
109
+ require_relative 'appwrite/enums/relationship_type'
110
+ require_relative 'appwrite/enums/relation_mutate'
111
+ require_relative 'appwrite/enums/index_type'
112
+ require_relative 'appwrite/enums/runtime'
113
+ require_relative 'appwrite/enums/execution_method'
114
+ require_relative 'appwrite/enums/name'
115
+ require_relative 'appwrite/enums/message_status'
116
+ require_relative 'appwrite/enums/encryption'
117
+ require_relative 'appwrite/enums/compression'
118
+ require_relative 'appwrite/enums/image_gravity'
119
+ require_relative 'appwrite/enums/image_format'
120
+ require_relative 'appwrite/enums/password_hash'
121
+ require_relative 'appwrite/enums/messaging_provider_type'
87
122
 
88
123
  require_relative 'appwrite/services/account'
89
124
  require_relative 'appwrite/services/avatars'
@@ -92,6 +127,7 @@ require_relative 'appwrite/services/functions'
92
127
  require_relative 'appwrite/services/graphql'
93
128
  require_relative 'appwrite/services/health'
94
129
  require_relative 'appwrite/services/locale'
130
+ require_relative 'appwrite/services/messaging'
95
131
  require_relative 'appwrite/services/storage'
96
132
  require_relative 'appwrite/services/teams'
97
133
  require_relative 'appwrite/services/users'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appwrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.1.2
4
+ version: 11.0.0.pre.rc.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appwrite Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-14 00:00:00.000000000 Z
11
+ date: 2024-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types
@@ -32,6 +32,25 @@ extra_rdoc_files: []
32
32
  files:
33
33
  - lib/appwrite.rb
34
34
  - lib/appwrite/client.rb
35
+ - lib/appwrite/enums/authentication_factor.rb
36
+ - lib/appwrite/enums/authenticator_type.rb
37
+ - lib/appwrite/enums/browser.rb
38
+ - lib/appwrite/enums/compression.rb
39
+ - lib/appwrite/enums/credit_card.rb
40
+ - lib/appwrite/enums/encryption.rb
41
+ - lib/appwrite/enums/execution_method.rb
42
+ - lib/appwrite/enums/flag.rb
43
+ - lib/appwrite/enums/image_format.rb
44
+ - lib/appwrite/enums/image_gravity.rb
45
+ - lib/appwrite/enums/index_type.rb
46
+ - lib/appwrite/enums/message_status.rb
47
+ - lib/appwrite/enums/messaging_provider_type.rb
48
+ - lib/appwrite/enums/name.rb
49
+ - lib/appwrite/enums/o_auth_provider.rb
50
+ - lib/appwrite/enums/password_hash.rb
51
+ - lib/appwrite/enums/relation_mutate.rb
52
+ - lib/appwrite/enums/relationship_type.rb
53
+ - lib/appwrite/enums/runtime.rb
35
54
  - lib/appwrite/exception.rb
36
55
  - lib/appwrite/id.rb
37
56
  - lib/appwrite/input_file.rb
@@ -77,6 +96,7 @@ files:
77
96
  - lib/appwrite/models/function_list.rb
78
97
  - lib/appwrite/models/headers.rb
79
98
  - lib/appwrite/models/health_antivirus.rb
99
+ - lib/appwrite/models/health_certificate.rb
80
100
  - lib/appwrite/models/health_queue.rb
81
101
  - lib/appwrite/models/health_status.rb
82
102
  - lib/appwrite/models/health_time.rb
@@ -84,6 +104,7 @@ files:
84
104
  - lib/appwrite/models/identity_list.rb
85
105
  - lib/appwrite/models/index.rb
86
106
  - lib/appwrite/models/index_list.rb
107
+ - lib/appwrite/models/jwt.rb
87
108
  - lib/appwrite/models/language.rb
88
109
  - lib/appwrite/models/language_list.rb
89
110
  - lib/appwrite/models/locale.rb
@@ -93,16 +114,29 @@ files:
93
114
  - lib/appwrite/models/log_list.rb
94
115
  - lib/appwrite/models/membership.rb
95
116
  - lib/appwrite/models/membership_list.rb
117
+ - lib/appwrite/models/message.rb
118
+ - lib/appwrite/models/message_list.rb
119
+ - lib/appwrite/models/mfa_challenge.rb
120
+ - lib/appwrite/models/mfa_factors.rb
121
+ - lib/appwrite/models/mfa_type.rb
96
122
  - lib/appwrite/models/phone.rb
97
123
  - lib/appwrite/models/phone_list.rb
98
124
  - lib/appwrite/models/preferences.rb
125
+ - lib/appwrite/models/provider.rb
126
+ - lib/appwrite/models/provider_list.rb
99
127
  - lib/appwrite/models/runtime.rb
100
128
  - lib/appwrite/models/runtime_list.rb
101
129
  - lib/appwrite/models/session.rb
102
130
  - lib/appwrite/models/session_list.rb
131
+ - lib/appwrite/models/subscriber.rb
132
+ - lib/appwrite/models/subscriber_list.rb
133
+ - lib/appwrite/models/target.rb
134
+ - lib/appwrite/models/target_list.rb
103
135
  - lib/appwrite/models/team.rb
104
136
  - lib/appwrite/models/team_list.rb
105
137
  - lib/appwrite/models/token.rb
138
+ - lib/appwrite/models/topic.rb
139
+ - lib/appwrite/models/topic_list.rb
106
140
  - lib/appwrite/models/user.rb
107
141
  - lib/appwrite/models/user_list.rb
108
142
  - lib/appwrite/models/variable.rb
@@ -118,6 +152,7 @@ files:
118
152
  - lib/appwrite/services/graphql.rb
119
153
  - lib/appwrite/services/health.rb
120
154
  - lib/appwrite/services/locale.rb
155
+ - lib/appwrite/services/messaging.rb
121
156
  - lib/appwrite/services/storage.rb
122
157
  - lib/appwrite/services/teams.rb
123
158
  - lib/appwrite/services/users.rb
@@ -136,9 +171,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
171
  version: '0'
137
172
  required_rubygems_version: !ruby/object:Gem::Requirement
138
173
  requirements:
139
- - - ">="
174
+ - - ">"
140
175
  - !ruby/object:Gem::Version
141
- version: '0'
176
+ version: 1.3.1
142
177
  requirements: []
143
178
  rubygems_version: 3.1.6
144
179
  signing_key: