appwrite 11.0.0.pre.rc.4 → 11.0.1

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.
@@ -234,7 +234,7 @@ module Appwrite
234
234
  end
235
235
 
236
236
 
237
- #
237
+ # Enable or disable MFA on an account.
238
238
  #
239
239
  # @param [] mfa Enable or disable MFA.
240
240
  #
@@ -264,12 +264,121 @@ module Appwrite
264
264
  end
265
265
 
266
266
 
267
- #
267
+ # Add an authenticator app to be used as an MFA factor. Verify the
268
+ # authenticator using the [verify
269
+ # authenticator](/docs/references/cloud/client-web/account#verifyAuthenticator)
270
+ # method.
271
+ #
272
+ # @param [AuthenticatorType] type Type of authenticator. Must be `totp`
273
+ #
274
+ # @return [MfaType]
275
+ def create_mfa_authenticator(type:)
276
+ api_path = '/account/mfa/authenticators/{type}'
277
+ .gsub('{type}', type)
278
+
279
+ if type.nil?
280
+ raise Appwrite::Exception.new('Missing required parameter: "type"')
281
+ end
282
+
283
+ api_params = {
284
+ }
285
+
286
+ api_headers = {
287
+ "content-type": 'application/json',
288
+ }
289
+
290
+ @client.call(
291
+ method: 'POST',
292
+ path: api_path,
293
+ headers: api_headers,
294
+ params: api_params,
295
+ response_type: Models::MfaType
296
+ )
297
+ end
298
+
299
+
300
+ # Verify an authenticator app after adding it using the [add
301
+ # authenticator](/docs/references/cloud/client-web/account#addAuthenticator)
302
+ # method.
303
+ #
304
+ # @param [AuthenticatorType] type Type of authenticator.
305
+ # @param [String] otp Valid verification token.
306
+ #
307
+ # @return [User]
308
+ def update_mfa_authenticator(type:, otp:)
309
+ api_path = '/account/mfa/authenticators/{type}'
310
+ .gsub('{type}', type)
311
+
312
+ if type.nil?
313
+ raise Appwrite::Exception.new('Missing required parameter: "type"')
314
+ end
315
+
316
+ if otp.nil?
317
+ raise Appwrite::Exception.new('Missing required parameter: "otp"')
318
+ end
319
+
320
+ api_params = {
321
+ otp: otp,
322
+ }
323
+
324
+ api_headers = {
325
+ "content-type": 'application/json',
326
+ }
327
+
328
+ @client.call(
329
+ method: 'PUT',
330
+ path: api_path,
331
+ headers: api_headers,
332
+ params: api_params,
333
+ response_type: Models::User
334
+ )
335
+ end
336
+
337
+
338
+ # Delete an authenticator for a user by ID.
268
339
  #
269
- # @param [AuthenticationFactor] factor Factor used for verification.
340
+ # @param [AuthenticatorType] type Type of authenticator.
341
+ # @param [String] otp Valid verification token.
342
+ #
343
+ # @return [User]
344
+ def delete_mfa_authenticator(type:, otp:)
345
+ api_path = '/account/mfa/authenticators/{type}'
346
+ .gsub('{type}', type)
347
+
348
+ if type.nil?
349
+ raise Appwrite::Exception.new('Missing required parameter: "type"')
350
+ end
351
+
352
+ if otp.nil?
353
+ raise Appwrite::Exception.new('Missing required parameter: "otp"')
354
+ end
355
+
356
+ api_params = {
357
+ otp: otp,
358
+ }
359
+
360
+ api_headers = {
361
+ "content-type": 'application/json',
362
+ }
363
+
364
+ @client.call(
365
+ method: 'DELETE',
366
+ path: api_path,
367
+ headers: api_headers,
368
+ params: api_params,
369
+ response_type: Models::User
370
+ )
371
+ end
372
+
373
+
374
+ # Begin the process of MFA verification after sign-in. Finish the flow with
375
+ # [updateMfaChallenge](/docs/references/cloud/client-web/account#updateMfaChallenge)
376
+ # method.
377
+ #
378
+ # @param [AuthenticationFactor] factor Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.
270
379
  #
271
380
  # @return [MfaChallenge]
272
- def create2_fa_challenge(factor:)
381
+ def create_mfa_challenge(factor:)
273
382
  api_path = '/account/mfa/challenge'
274
383
 
275
384
  if factor.nil?
@@ -294,13 +403,17 @@ module Appwrite
294
403
  end
295
404
 
296
405
 
297
- #
406
+ # Complete the MFA challenge by providing the one-time password. Finish the
407
+ # process of MFA verification by providing the one-time password. To begin
408
+ # the flow, use
409
+ # [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge)
410
+ # method.
298
411
  #
299
412
  # @param [String] challenge_id ID of the challenge.
300
413
  # @param [String] otp Valid verification token.
301
414
  #
302
415
  # @return []
303
- def update_challenge(challenge_id:, otp:)
416
+ def update_mfa_challenge(challenge_id:, otp:)
304
417
  api_path = '/account/mfa/challenge'
305
418
 
306
419
  if challenge_id.nil?
@@ -329,11 +442,11 @@ module Appwrite
329
442
  end
330
443
 
331
444
 
332
- #
445
+ # List the factors available on the account to be used as a MFA challange.
333
446
  #
334
447
  #
335
448
  # @return [MfaFactors]
336
- def list_factors()
449
+ def list_mfa_factors()
337
450
  api_path = '/account/mfa/factors'
338
451
 
339
452
  api_params = {
@@ -353,18 +466,15 @@ module Appwrite
353
466
  end
354
467
 
355
468
 
356
- #
469
+ # Get recovery codes that can be used as backup for MFA flow. Before getting
470
+ # codes, they must be generated using
471
+ # [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes)
472
+ # method. An OTP challenge is required to read recovery codes.
357
473
  #
358
- # @param [AuthenticatorType] type Type of authenticator.
359
474
  #
360
- # @return [MfaType]
361
- def add_authenticator(type:)
362
- api_path = '/account/mfa/{type}'
363
- .gsub('{type}', type)
364
-
365
- if type.nil?
366
- raise Appwrite::Exception.new('Missing required parameter: "type"')
367
- end
475
+ # @return [MfaRecoveryCodes]
476
+ def get_mfa_recovery_codes()
477
+ api_path = '/account/mfa/recovery-codes'
368
478
 
369
479
  api_params = {
370
480
  }
@@ -374,35 +484,27 @@ module Appwrite
374
484
  }
375
485
 
376
486
  @client.call(
377
- method: 'POST',
487
+ method: 'GET',
378
488
  path: api_path,
379
489
  headers: api_headers,
380
490
  params: api_params,
381
- response_type: Models::MfaType
491
+ response_type: Models::MfaRecoveryCodes
382
492
  )
383
493
  end
384
494
 
385
495
 
386
- #
496
+ # Generate recovery codes as backup for MFA flow. It's recommended to
497
+ # generate and show then immediately after user successfully adds their
498
+ # authehticator. Recovery codes can be used as a MFA verification type in
499
+ # [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge)
500
+ # method.
387
501
  #
388
- # @param [AuthenticatorType] type Type of authenticator.
389
- # @param [String] otp Valid verification token.
390
502
  #
391
- # @return [User]
392
- def verify_authenticator(type:, otp:)
393
- api_path = '/account/mfa/{type}'
394
- .gsub('{type}', type)
395
-
396
- if type.nil?
397
- raise Appwrite::Exception.new('Missing required parameter: "type"')
398
- end
399
-
400
- if otp.nil?
401
- raise Appwrite::Exception.new('Missing required parameter: "otp"')
402
- end
503
+ # @return [MfaRecoveryCodes]
504
+ def create_mfa_recovery_codes()
505
+ api_path = '/account/mfa/recovery-codes'
403
506
 
404
507
  api_params = {
405
- otp: otp,
406
508
  }
407
509
 
408
510
  api_headers = {
@@ -410,35 +512,26 @@ module Appwrite
410
512
  }
411
513
 
412
514
  @client.call(
413
- method: 'PUT',
515
+ method: 'POST',
414
516
  path: api_path,
415
517
  headers: api_headers,
416
518
  params: api_params,
417
- response_type: Models::User
519
+ response_type: Models::MfaRecoveryCodes
418
520
  )
419
521
  end
420
522
 
421
523
 
422
- #
524
+ # Regenerate recovery codes that can be used as backup for MFA flow. Before
525
+ # regenerating codes, they must be first generated using
526
+ # [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes)
527
+ # method. An OTP challenge is required to regenreate recovery codes.
423
528
  #
424
- # @param [AuthenticatorType] type Type of authenticator.
425
- # @param [String] otp Valid verification token.
426
529
  #
427
- # @return [User]
428
- def delete_authenticator(type:, otp:)
429
- api_path = '/account/mfa/{type}'
430
- .gsub('{type}', type)
431
-
432
- if type.nil?
433
- raise Appwrite::Exception.new('Missing required parameter: "type"')
434
- end
435
-
436
- if otp.nil?
437
- raise Appwrite::Exception.new('Missing required parameter: "otp"')
438
- end
530
+ # @return [MfaRecoveryCodes]
531
+ def update_mfa_recovery_codes()
532
+ api_path = '/account/mfa/recovery-codes'
439
533
 
440
534
  api_params = {
441
- otp: otp,
442
535
  }
443
536
 
444
537
  api_headers = {
@@ -446,11 +539,11 @@ module Appwrite
446
539
  }
447
540
 
448
541
  @client.call(
449
- method: 'DELETE',
542
+ method: 'PATCH',
450
543
  path: api_path,
451
544
  headers: api_headers,
452
545
  params: api_params,
453
- response_type: Models::User
546
+ response_type: Models::MfaRecoveryCodes
454
547
  )
455
548
  end
456
549
 
@@ -867,43 +960,28 @@ module Appwrite
867
960
  end
868
961
 
869
962
 
870
- # Allow the user to login to their account using the OAuth2 provider of their
871
- # choice. Each OAuth2 provider should be enabled from the Appwrite console
872
- # first. Use the success and failure arguments to provide a redirect URL's
873
- # back to your app when login is completed.
874
- #
875
- # If there is already an active session, the new session will be attached to
876
- # the logged-in account. If there are no active sessions, the server will
877
- # attempt to look for a user with the same email address as the email
878
- # received from the OAuth2 provider and attach the new session to the
879
- # existing user. If no matching user is found - the server will create a new
880
- # user.
881
- #
882
- # A user is limited to 10 active sessions at a time by default. [Learn more
883
- # about session
884
- # limits](https://appwrite.io/docs/authentication-security#limits).
885
- #
963
+ # Use this endpoint to create a session from token. Provide the **userId**
964
+ # and **secret** parameters from the successful response of authentication
965
+ # flows initiated by token creation. For example, magic URL and phone login.
886
966
  #
887
- # @param [OAuthProvider] provider OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, github, gitlab, google, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, yahoo, yammer, yandex, zoho, zoom.
888
- # @param [String] success URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
889
- # @param [String] failure URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
890
- # @param [] token Include token credentials in the final redirect, useful for server-side integrations, or when cookies are not available.
891
- # @param [Array] scopes A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.
967
+ # @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.
968
+ # @param [String] secret Valid verification token.
892
969
  #
893
- # @return []
894
- def create_o_auth2_session(provider:, success: nil, failure: nil, token: nil, scopes: nil)
895
- api_path = '/account/sessions/oauth2/{provider}'
896
- .gsub('{provider}', provider)
970
+ # @return [Session]
971
+ def update_phone_session(user_id:, secret:)
972
+ api_path = '/account/sessions/phone'
897
973
 
898
- if provider.nil?
899
- raise Appwrite::Exception.new('Missing required parameter: "provider"')
974
+ if user_id.nil?
975
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
976
+ end
977
+
978
+ if secret.nil?
979
+ raise Appwrite::Exception.new('Missing required parameter: "secret"')
900
980
  end
901
981
 
902
982
  api_params = {
903
- success: success,
904
- failure: failure,
905
- token: token,
906
- scopes: scopes,
983
+ userId: user_id,
984
+ secret: secret,
907
985
  }
908
986
 
909
987
  api_headers = {
@@ -911,10 +989,11 @@ module Appwrite
911
989
  }
912
990
 
913
991
  @client.call(
914
- method: 'GET',
992
+ method: 'PUT',
915
993
  path: api_path,
916
994
  headers: api_headers,
917
995
  params: api_params,
996
+ response_type: Models::Session
918
997
  )
919
998
  end
920
999
 
@@ -988,8 +1067,9 @@ module Appwrite
988
1067
  end
989
1068
 
990
1069
 
991
- # Extend session's expiry to increase it's lifespan. Extending a session is
992
- # useful when session length is short such as 5 minutes.
1070
+ # Use this endpoint to extend a session's length. Extending a session is
1071
+ # useful when session expiry is short. If the session was created using an
1072
+ # OAuth provider, this endpoint refreshes the access token from the provider.
993
1073
  #
994
1074
  # @param [String] session_id Session ID. Use the string 'current' to update the current device session.
995
1075
  #
@@ -1180,6 +1260,55 @@ module Appwrite
1180
1260
  end
1181
1261
 
1182
1262
 
1263
+ # Allow the user to login to their account using the OAuth2 provider of their
1264
+ # choice. Each OAuth2 provider should be enabled from the Appwrite console
1265
+ # first. Use the success and failure arguments to provide a redirect URL's
1266
+ # back to your app when login is completed.
1267
+ #
1268
+ # If authentication succeeds, `userId` and `secret` of a token will be
1269
+ # appended to the success URL as query parameters. These can be used to
1270
+ # create a new session using the [Create
1271
+ # session](https://appwrite.io/docs/references/cloud/client-web/account#createSession)
1272
+ # endpoint.
1273
+ #
1274
+ # A user is limited to 10 active sessions at a time by default. [Learn more
1275
+ # about session
1276
+ # limits](https://appwrite.io/docs/authentication-security#limits).
1277
+ #
1278
+ # @param [OAuthProvider] provider OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, github, gitlab, google, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, yahoo, yammer, yandex, zoho, zoom.
1279
+ # @param [String] success URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
1280
+ # @param [String] failure URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
1281
+ # @param [Array] scopes A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.
1282
+ #
1283
+ # @return []
1284
+ def create_o_auth2_token(provider:, success: nil, failure: nil, scopes: nil)
1285
+ api_path = '/account/tokens/oauth2/{provider}'
1286
+ .gsub('{provider}', provider)
1287
+
1288
+ if provider.nil?
1289
+ raise Appwrite::Exception.new('Missing required parameter: "provider"')
1290
+ end
1291
+
1292
+ api_params = {
1293
+ success: success,
1294
+ failure: failure,
1295
+ scopes: scopes,
1296
+ }
1297
+
1298
+ api_headers = {
1299
+ "content-type": 'application/json',
1300
+ }
1301
+
1302
+ @client.call(
1303
+ method: 'GET',
1304
+ path: api_path,
1305
+ headers: api_headers,
1306
+ params: api_params,
1307
+ response_type: "location"
1308
+ )
1309
+ end
1310
+
1311
+
1183
1312
  # Sends the user an SMS with a secret key for creating a session. If the
1184
1313
  # provided user ID has not be registered, a new user will be created. Use the
1185
1314
  # returned user ID and secret and submit a request to the [POST
@@ -381,7 +381,7 @@ module Appwrite
381
381
  end
382
382
 
383
383
 
384
- #
384
+ # List attributes in the collection.
385
385
  #
386
386
  # @param [String] database_id Database ID.
387
387
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -472,7 +472,8 @@ module Appwrite
472
472
  end
473
473
 
474
474
 
475
- #
475
+ # Update a boolean attribute. Changing the `default` value will not update
476
+ # already existing documents.
476
477
  #
477
478
  # @param [String] database_id Database ID.
478
479
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -526,7 +527,7 @@ module Appwrite
526
527
  end
527
528
 
528
529
 
529
- #
530
+ # Create a date time attribute according to the ISO 8601 standard.
530
531
  #
531
532
  # @param [String] database_id Database ID.
532
533
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -578,7 +579,8 @@ module Appwrite
578
579
  end
579
580
 
580
581
 
581
- #
582
+ # Update a date time attribute. Changing the `default` value will not update
583
+ # already existing documents.
582
584
  #
583
585
  # @param [String] database_id Database ID.
584
586
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -741,6 +743,8 @@ module Appwrite
741
743
  end
742
744
 
743
745
 
746
+ # Create an enumeration attribute. The `elements` param acts as a white-list
747
+ # of accepted values for this attribute.
744
748
  #
745
749
  #
746
750
  # @param [String] database_id Database ID.
@@ -1506,7 +1510,7 @@ module Appwrite
1506
1510
  end
1507
1511
 
1508
1512
 
1509
- #
1513
+ # Get attribute by ID.
1510
1514
  #
1511
1515
  # @param [String] database_id Database ID.
1512
1516
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -1547,7 +1551,7 @@ module Appwrite
1547
1551
  end
1548
1552
 
1549
1553
 
1550
- #
1554
+ # Deletes an attribute.
1551
1555
  #
1552
1556
  # @param [String] database_id Database ID.
1553
1557
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -1859,7 +1863,7 @@ module Appwrite
1859
1863
  end
1860
1864
 
1861
1865
 
1862
- #
1866
+ # List indexes in the collection.
1863
1867
  #
1864
1868
  # @param [String] database_id Database ID.
1865
1869
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -1897,7 +1901,9 @@ module Appwrite
1897
1901
  end
1898
1902
 
1899
1903
 
1900
- #
1904
+ # Creates an index on the attributes listed. Your index should include all
1905
+ # the attributes you will query in a single request.
1906
+ # Attributes can be `key`, `fulltext`, and `unique`.
1901
1907
  #
1902
1908
  # @param [String] database_id Database ID.
1903
1909
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -1953,7 +1959,7 @@ module Appwrite
1953
1959
  end
1954
1960
 
1955
1961
 
1956
- #
1962
+ # Get index by ID.
1957
1963
  #
1958
1964
  # @param [String] database_id Database ID.
1959
1965
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -1995,7 +2001,7 @@ module Appwrite
1995
2001
  end
1996
2002
 
1997
2003
 
1998
- #
2004
+ # Delete an index.
1999
2005
  #
2000
2006
  # @param [String] database_id Database ID.
2001
2007
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
@@ -323,7 +323,8 @@ module Appwrite
323
323
  end
324
324
 
325
325
 
326
- #
326
+ # Get the number of function executions that are waiting to be processed in
327
+ # the Appwrite internal queue server.
327
328
  #
328
329
  # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
329
330
  #
@@ -457,6 +458,60 @@ module Appwrite
457
458
  end
458
459
 
459
460
 
461
+ # Get the number of metrics that are waiting to be processed in the Appwrite
462
+ # internal queue server.
463
+ #
464
+ # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
465
+ #
466
+ # @return [HealthQueue]
467
+ def get_queue_usage(threshold: nil)
468
+ api_path = '/health/queue/usage'
469
+
470
+ api_params = {
471
+ threshold: threshold,
472
+ }
473
+
474
+ api_headers = {
475
+ "content-type": 'application/json',
476
+ }
477
+
478
+ @client.call(
479
+ method: 'GET',
480
+ path: api_path,
481
+ headers: api_headers,
482
+ params: api_params,
483
+ response_type: Models::HealthQueue
484
+ )
485
+ end
486
+
487
+
488
+ # Get the number of projects containing metrics that are waiting to be
489
+ # processed in the Appwrite internal queue server.
490
+ #
491
+ # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
492
+ #
493
+ # @return [HealthQueue]
494
+ def get_queue_usage_dump(threshold: nil)
495
+ api_path = '/health/queue/usage-dump'
496
+
497
+ api_params = {
498
+ threshold: threshold,
499
+ }
500
+
501
+ api_headers = {
502
+ "content-type": 'application/json',
503
+ }
504
+
505
+ @client.call(
506
+ method: 'GET',
507
+ path: api_path,
508
+ headers: api_headers,
509
+ params: api_params,
510
+ response_type: Models::HealthQueue
511
+ )
512
+ end
513
+
514
+
460
515
  # Get the number of webhooks that are waiting to be processed in the Appwrite
461
516
  # internal queue server.
462
517
  #
@@ -484,6 +539,30 @@ module Appwrite
484
539
  end
485
540
 
486
541
 
542
+ # Check the Appwrite storage device is up and connection is successful.
543
+ #
544
+ #
545
+ # @return [HealthStatus]
546
+ def get_storage()
547
+ api_path = '/health/storage'
548
+
549
+ api_params = {
550
+ }
551
+
552
+ api_headers = {
553
+ "content-type": 'application/json',
554
+ }
555
+
556
+ @client.call(
557
+ method: 'GET',
558
+ path: api_path,
559
+ headers: api_headers,
560
+ params: api_params,
561
+ response_type: Models::HealthStatus
562
+ )
563
+ end
564
+
565
+
487
566
  # Check the Appwrite local storage device is up and connection is successful.
488
567
  #
489
568
  #