appwrite 11.0.0.pre.rc.4 → 11.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #