@appwrite.io/console 1.8.0 → 1.10.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 (105) hide show
  1. package/.github/workflows/publish.yml +1 -1
  2. package/CHANGELOG.md +45 -6
  3. package/README.md +82 -2
  4. package/dist/cjs/sdk.js +532 -200
  5. package/dist/cjs/sdk.js.map +1 -1
  6. package/dist/esm/sdk.js +533 -201
  7. package/dist/esm/sdk.js.map +1 -1
  8. package/dist/iife/sdk.js +532 -200
  9. package/docs/examples/databases/create-document.md +1 -3
  10. package/docs/examples/databases/create-documents.md +1 -1
  11. package/docs/examples/databases/decrement-document-attribute.md +18 -0
  12. package/docs/examples/databases/increment-document-attribute.md +18 -0
  13. package/docs/examples/databases/upsert-documents.md +1 -1
  14. package/docs/examples/domains/create-record-a-a-a-a.md +1 -1
  15. package/docs/examples/domains/create-record-a.md +1 -1
  16. package/docs/examples/domains/create-record-alias.md +1 -1
  17. package/docs/examples/domains/create-record-c-a-a.md +1 -1
  18. package/docs/examples/domains/create-record-c-n-a-m-e.md +1 -1
  19. package/docs/examples/domains/create-record-h-t-t-p-s.md +1 -1
  20. package/docs/examples/domains/create-record-m-x.md +1 -1
  21. package/docs/examples/domains/create-record-n-s.md +1 -1
  22. package/docs/examples/domains/create-record-s-r-v.md +1 -1
  23. package/docs/examples/domains/create-record-t-x-t.md +1 -1
  24. package/docs/examples/domains/update-record-a-a-a-a.md +1 -1
  25. package/docs/examples/domains/update-record-a.md +1 -1
  26. package/docs/examples/domains/update-record-alias.md +1 -1
  27. package/docs/examples/domains/update-record-c-a-a.md +1 -1
  28. package/docs/examples/domains/update-record-c-n-a-m-e.md +1 -1
  29. package/docs/examples/domains/update-record-h-t-t-p-s.md +1 -1
  30. package/docs/examples/domains/update-record-m-x.md +1 -1
  31. package/docs/examples/domains/update-record-n-s.md +1 -1
  32. package/docs/examples/domains/update-record-s-r-v.md +1 -1
  33. package/docs/examples/domains/update-record-t-x-t.md +1 -1
  34. package/docs/examples/functions/create-execution.md +1 -1
  35. package/docs/examples/health/{get-queue-stats-usage-dump.md → get-queue-billing-project-aggregation.md} +2 -2
  36. package/docs/examples/health/{get-queue-billing-aggregation.md → get-queue-billing-team-aggregation.md} +1 -1
  37. package/docs/examples/organizations/cancel-downgrade.md +13 -0
  38. package/docs/examples/organizations/estimation-create-organization.md +16 -0
  39. package/docs/examples/organizations/estimation-delete-organization.md +13 -0
  40. package/docs/examples/organizations/estimation-update-plan.md +16 -0
  41. package/docs/examples/organizations/get-available-credits.md +13 -0
  42. package/docs/examples/organizations/get-usage.md +1 -1
  43. package/docs/examples/organizations/update-projects.md +14 -0
  44. package/docs/examples/organizations/validate-payment.md +14 -0
  45. package/docs/examples/proxy/create-redirect-rule.md +4 -2
  46. package/docs/examples/vcs/get-repository-contents.md +2 -1
  47. package/package.json +1 -1
  48. package/src/client.ts +5 -4
  49. package/src/enums/build-runtime.ts +2 -0
  50. package/src/enums/image-format.ts +1 -0
  51. package/src/enums/proxy-resource-type.ts +4 -0
  52. package/src/enums/runtime.ts +2 -0
  53. package/src/index.ts +1 -0
  54. package/src/models.ts +513 -11
  55. package/src/services/account.ts +97 -36
  56. package/src/services/avatars.ts +26 -20
  57. package/src/services/backups.ts +11 -0
  58. package/src/services/console.ts +8 -1
  59. package/src/services/databases.ts +190 -31
  60. package/src/services/domains.ts +111 -69
  61. package/src/services/functions.ts +37 -8
  62. package/src/services/graphql.ts +1 -0
  63. package/src/services/health.ts +54 -4
  64. package/src/services/locale.ts +9 -2
  65. package/src/services/messaging.ts +53 -8
  66. package/src/services/migrations.ts +12 -0
  67. package/src/services/organizations.ts +301 -14
  68. package/src/services/project.ts +5 -0
  69. package/src/services/projects.ts +50 -0
  70. package/src/services/proxy.ts +23 -1
  71. package/src/services/sites.ts +32 -4
  72. package/src/services/storage.ts +23 -9
  73. package/src/services/teams.ts +30 -17
  74. package/src/services/tokens.ts +4 -0
  75. package/src/services/users.ts +69 -27
  76. package/src/services/vcs.ts +16 -4
  77. package/types/enums/build-runtime.d.ts +3 -1
  78. package/types/enums/image-format.d.ts +2 -1
  79. package/types/enums/proxy-resource-type.d.ts +4 -0
  80. package/types/enums/runtime.d.ts +3 -1
  81. package/types/index.d.ts +1 -0
  82. package/types/models.d.ts +494 -188
  83. package/types/services/account.d.ts +36 -36
  84. package/types/services/avatars.d.ts +20 -20
  85. package/types/services/console.d.ts +1 -1
  86. package/types/services/databases.d.ts +67 -31
  87. package/types/services/domains.d.ts +69 -69
  88. package/types/services/functions.d.ts +8 -8
  89. package/types/services/health.d.ts +11 -3
  90. package/types/services/locale.d.ts +2 -2
  91. package/types/services/messaging.d.ts +8 -8
  92. package/types/services/organizations.d.ts +88 -14
  93. package/types/services/proxy.d.ts +4 -1
  94. package/types/services/sites.d.ts +4 -4
  95. package/types/services/storage.d.ts +9 -9
  96. package/types/services/teams.d.ts +17 -17
  97. package/types/services/users.d.ts +27 -27
  98. package/types/services/vcs.d.ts +4 -4
  99. package/docs/examples/functions/create-build.md +0 -15
  100. package/docs/examples/functions/get-function-usage.md +0 -14
  101. package/docs/examples/functions/update-deployment-build.md +0 -14
  102. package/docs/examples/functions/update-deployment.md +0 -14
  103. package/docs/examples/proxy/create-rule.md +0 -15
  104. package/src/enums/resource-type.ts +0 -4
  105. package/types/enums/resource-type.d.ts +0 -4
package/dist/iife/sdk.js CHANGED
@@ -281,7 +281,7 @@
281
281
  'x-sdk-name': 'Console',
282
282
  'x-sdk-platform': 'console',
283
283
  'x-sdk-language': 'web',
284
- 'x-sdk-version': '1.8.0',
284
+ 'x-sdk-version': '1.10.0',
285
285
  'X-Appwrite-Response-Format': '1.7.0',
286
286
  };
287
287
  this.realtime = {
@@ -616,9 +616,10 @@
616
616
  return { uri: url.toString(), options };
617
617
  }
618
618
  chunkedUpload(method, url, headers = {}, originalPayload = {}, onProgress) {
619
+ var _a;
619
620
  return __awaiter(this, void 0, void 0, function* () {
620
- const file = Object.values(originalPayload).find((value) => value instanceof File);
621
- if (!file) {
621
+ const [fileParam, file] = (_a = Object.entries(originalPayload).find(([_, value]) => value instanceof File)) !== null && _a !== void 0 ? _a : [];
622
+ if (!file || !fileParam) {
622
623
  throw new Error('File not found in payload');
623
624
  }
624
625
  if (file.size <= Client.CHUNK_SIZE) {
@@ -633,7 +634,8 @@
633
634
  }
634
635
  headers['content-range'] = `bytes ${start}-${end - 1}/${file.size}`;
635
636
  const chunk = file.slice(start, end);
636
- let payload = Object.assign(Object.assign({}, originalPayload), { file: new File([chunk], file.name) });
637
+ let payload = Object.assign({}, originalPayload);
638
+ payload[fileParam] = new File([chunk], file.name);
637
639
  response = yield this.call(method, url, headers, payload);
638
640
  if (onProgress && typeof onProgress === 'function') {
639
641
  onProgress({
@@ -989,8 +991,8 @@
989
991
  }
990
992
  /**
991
993
  * Update currently logged in user account email address. After changing user address, the user confirmation status will get reset. A new confirmation email is not sent automatically however you can use the send confirmation email endpoint again to send the confirmation email. For security measures, user password is required to complete this request.
992
- This endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password.
993
-
994
+ * This endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password.
995
+ *
994
996
  *
995
997
  * @param {string} email
996
998
  * @param {string} password
@@ -1592,8 +1594,8 @@
1592
1594
  }
1593
1595
  /**
1594
1596
  * Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/recovery](https://appwrite.io/docs/references/cloud/client-web/account#createRecovery) endpoint.
1595
-
1596
- Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
1597
+ *
1598
+ * Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
1597
1599
  *
1598
1600
  * @param {string} userId
1599
1601
  * @param {string} secret
@@ -1673,8 +1675,8 @@
1673
1675
  }
1674
1676
  /**
1675
1677
  * Allow the user to login into their account by providing a valid email and password combination. This route will create a new session for the user.
1676
-
1677
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1678
+ *
1679
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1678
1680
  *
1679
1681
  * @param {string} email
1680
1682
  * @param {string} password
@@ -1733,11 +1735,11 @@
1733
1735
  }
1734
1736
  /**
1735
1737
  * Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL&#039;s back to your app when login is completed.
1736
-
1737
- If there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user.
1738
-
1739
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1740
-
1738
+ *
1739
+ * If there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user.
1740
+ *
1741
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1742
+ *
1741
1743
  *
1742
1744
  * @param {OAuthProvider} provider
1743
1745
  * @param {string} success
@@ -1982,8 +1984,8 @@
1982
1984
  }
1983
1985
  /**
1984
1986
  * Sends the user an email with a secret key for creating a session. If the provided user ID has not be registered, a new user will be created. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user&#039;s email is valid for 15 minutes.
1985
-
1986
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1987
+ *
1988
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
1987
1989
  *
1988
1990
  * @param {string} userId
1989
1991
  * @param {string} email
@@ -2017,9 +2019,9 @@
2017
2019
  }
2018
2020
  /**
2019
2021
  * Sends the user an email with a secret key for creating a session. If the provided user ID has not been registered, a new user will be created. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The link sent to the user&#039;s email address is valid for 1 hour.
2020
-
2021
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2022
-
2022
+ *
2023
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2024
+ *
2023
2025
  *
2024
2026
  * @param {string} userId
2025
2027
  * @param {string} email
@@ -2057,10 +2059,10 @@
2057
2059
  }
2058
2060
  /**
2059
2061
  * Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL&#039;s back to your app when login is completed.
2060
-
2061
- If authentication succeeds, `userId` and `secret` of a token will be appended to the success URL as query parameters. These can be used to create a new session using the [Create session](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint.
2062
-
2063
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2062
+ *
2063
+ * If authentication succeeds, `userId` and `secret` of a token will be appended to the success URL as query parameters. These can be used to create a new session using the [Create session](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint.
2064
+ *
2065
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2064
2066
  *
2065
2067
  * @param {OAuthProvider} provider
2066
2068
  * @param {string} success
@@ -2099,8 +2101,8 @@
2099
2101
  }
2100
2102
  /**
2101
2103
  * Sends the user an SMS with a secret key for creating a session. If the provided user ID has not be registered, a new user will be created. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user&#039;s phone is valid for 15 minutes.
2102
-
2103
- A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2104
+ *
2105
+ * A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
2104
2106
  *
2105
2107
  * @param {string} userId
2106
2108
  * @param {string} phone
@@ -2130,9 +2132,9 @@
2130
2132
  }
2131
2133
  /**
2132
2134
  * Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updateVerification). The verification link sent to the user&#039;s email address is valid for 7 days.
2133
-
2134
- Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
2135
-
2135
+ *
2136
+ * Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
2137
+ *
2136
2138
  *
2137
2139
  * @param {string} url
2138
2140
  * @throws {AppwriteException}
@@ -2234,8 +2236,8 @@
2234
2236
  }
2235
2237
  /**
2236
2238
  * You can use this endpoint to show different browser icons to your users. The code argument receives the browser code as it appears in your user [GET /account/sessions](https://appwrite.io/docs/references/cloud/client-web/account#getSessions) endpoint. Use width, height and quality arguments to change the output settings.
2237
-
2238
- When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2239
+ *
2240
+ * When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2239
2241
  *
2240
2242
  * @param {Browser} code
2241
2243
  * @param {number} width
@@ -2268,9 +2270,9 @@
2268
2270
  }
2269
2271
  /**
2270
2272
  * The credit card endpoint will return you the icon of the credit card provider you need. Use width, height and quality arguments to change the output settings.
2271
-
2272
- When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2273
-
2273
+ *
2274
+ * When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2275
+ *
2274
2276
  *
2275
2277
  * @param {CreditCard} code
2276
2278
  * @param {number} width
@@ -2303,8 +2305,8 @@
2303
2305
  }
2304
2306
  /**
2305
2307
  * Use this endpoint to fetch the favorite icon (AKA favicon) of any remote website URL.
2306
-
2307
- This endpoint does not follow HTTP redirects.
2308
+ *
2309
+ * This endpoint does not follow HTTP redirects.
2308
2310
  *
2309
2311
  * @param {string} url
2310
2312
  * @throws {AppwriteException}
@@ -2328,9 +2330,9 @@
2328
2330
  }
2329
2331
  /**
2330
2332
  * You can use this endpoint to show different country flags icons to your users. The code argument receives the 2 letter country code. Use width, height and quality arguments to change the output settings. Country codes follow the [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) standard.
2331
-
2332
- When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2333
-
2333
+ *
2334
+ * When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2335
+ *
2334
2336
  *
2335
2337
  * @param {Flag} code
2336
2338
  * @param {number} width
@@ -2363,10 +2365,10 @@
2363
2365
  }
2364
2366
  /**
2365
2367
  * Use this endpoint to fetch a remote image URL and crop it to any image size you want. This endpoint is very useful if you need to crop and display remote images in your app or in case you want to make sure a 3rd party image is properly served using a TLS protocol.
2366
-
2367
- When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 400x400px.
2368
-
2369
- This endpoint does not follow HTTP redirects.
2368
+ *
2369
+ * When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 400x400px.
2370
+ *
2371
+ * This endpoint does not follow HTTP redirects.
2370
2372
  *
2371
2373
  * @param {string} url
2372
2374
  * @param {number} width
@@ -2398,11 +2400,11 @@
2398
2400
  }
2399
2401
  /**
2400
2402
  * Use this endpoint to show your user initials avatar icon on your website or app. By default, this route will try to print your logged-in user name or email initials. You can also overwrite the user name if you pass the &#039;name&#039; parameter. If no name is given and no user is logged, an empty avatar will be returned.
2401
-
2402
- You can use the color and background params to change the avatar colors. By default, a random theme will be selected. The random theme will persist for the user&#039;s initials when reloading the same theme will always return for the same initials.
2403
-
2404
- When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2405
-
2403
+ *
2404
+ * You can use the color and background params to change the avatar colors. By default, a random theme will be selected. The random theme will persist for the user&#039;s initials when reloading the same theme will always return for the same initials.
2405
+ *
2406
+ * When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.
2407
+ *
2406
2408
  *
2407
2409
  * @param {string} name
2408
2410
  * @param {number} width
@@ -2435,7 +2437,7 @@
2435
2437
  }
2436
2438
  /**
2437
2439
  * Converts a given plain text to a QR code image. You can use the query parameters to change the size and style of the resulting image.
2438
-
2440
+ *
2439
2441
  *
2440
2442
  * @param {string} text
2441
2443
  * @param {number} size
@@ -2985,7 +2987,7 @@
2985
2987
  }
2986
2988
  /**
2987
2989
  * Create a new Database.
2988
-
2990
+ *
2989
2991
  *
2990
2992
  * @param {string} databaseId
2991
2993
  * @param {string} name
@@ -3283,7 +3285,7 @@
3283
3285
  }
3284
3286
  /**
3285
3287
  * Create a boolean attribute.
3286
-
3288
+ *
3287
3289
  *
3288
3290
  * @param {string} databaseId
3289
3291
  * @param {string} collectionId
@@ -3464,7 +3466,7 @@
3464
3466
  }
3465
3467
  /**
3466
3468
  * Create an email attribute.
3467
-
3469
+ *
3468
3470
  *
3469
3471
  * @param {string} databaseId
3470
3472
  * @param {string} collectionId
@@ -3510,7 +3512,7 @@
3510
3512
  }
3511
3513
  /**
3512
3514
  * Update an email attribute. Changing the `default` value will not update already existing documents.
3513
-
3515
+ *
3514
3516
  *
3515
3517
  * @param {string} databaseId
3516
3518
  * @param {string} collectionId
@@ -3556,7 +3558,7 @@
3556
3558
  }
3557
3559
  /**
3558
3560
  * Create an enumeration attribute. The `elements` param acts as a white-list of accepted values for this attribute.
3559
-
3561
+ *
3560
3562
  *
3561
3563
  * @param {string} databaseId
3562
3564
  * @param {string} collectionId
@@ -3609,7 +3611,7 @@
3609
3611
  }
3610
3612
  /**
3611
3613
  * Update an enum attribute. Changing the `default` value will not update already existing documents.
3612
-
3614
+ *
3613
3615
  *
3614
3616
  * @param {string} databaseId
3615
3617
  * @param {string} collectionId
@@ -3662,7 +3664,7 @@
3662
3664
  }
3663
3665
  /**
3664
3666
  * Create a float attribute. Optionally, minimum and maximum values can be provided.
3665
-
3667
+ *
3666
3668
  *
3667
3669
  * @param {string} databaseId
3668
3670
  * @param {string} collectionId
@@ -3716,7 +3718,7 @@
3716
3718
  }
3717
3719
  /**
3718
3720
  * Update a float attribute. Changing the `default` value will not update already existing documents.
3719
-
3721
+ *
3720
3722
  *
3721
3723
  * @param {string} databaseId
3722
3724
  * @param {string} collectionId
@@ -3770,7 +3772,7 @@
3770
3772
  }
3771
3773
  /**
3772
3774
  * Create an integer attribute. Optionally, minimum and maximum values can be provided.
3773
-
3775
+ *
3774
3776
  *
3775
3777
  * @param {string} databaseId
3776
3778
  * @param {string} collectionId
@@ -3824,7 +3826,7 @@
3824
3826
  }
3825
3827
  /**
3826
3828
  * Update an integer attribute. Changing the `default` value will not update already existing documents.
3827
-
3829
+ *
3828
3830
  *
3829
3831
  * @param {string} databaseId
3830
3832
  * @param {string} collectionId
@@ -3878,7 +3880,7 @@
3878
3880
  }
3879
3881
  /**
3880
3882
  * Create IP address attribute.
3881
-
3883
+ *
3882
3884
  *
3883
3885
  * @param {string} databaseId
3884
3886
  * @param {string} collectionId
@@ -3924,7 +3926,7 @@
3924
3926
  }
3925
3927
  /**
3926
3928
  * Update an ip attribute. Changing the `default` value will not update already existing documents.
3927
-
3929
+ *
3928
3930
  *
3929
3931
  * @param {string} databaseId
3930
3932
  * @param {string} collectionId
@@ -3970,7 +3972,7 @@
3970
3972
  }
3971
3973
  /**
3972
3974
  * Create relationship attribute. [Learn more about relationship attributes](https://appwrite.io/docs/databases-relationships#relationship-attributes).
3973
-
3975
+ *
3974
3976
  *
3975
3977
  * @param {string} databaseId
3976
3978
  * @param {string} collectionId
@@ -4024,7 +4026,7 @@
4024
4026
  }
4025
4027
  /**
4026
4028
  * Create a string attribute.
4027
-
4029
+ *
4028
4030
  *
4029
4031
  * @param {string} databaseId
4030
4032
  * @param {string} collectionId
@@ -4081,7 +4083,7 @@
4081
4083
  }
4082
4084
  /**
4083
4085
  * Update a string attribute. Changing the `default` value will not update already existing documents.
4084
-
4086
+ *
4085
4087
  *
4086
4088
  * @param {string} databaseId
4087
4089
  * @param {string} collectionId
@@ -4131,7 +4133,7 @@
4131
4133
  }
4132
4134
  /**
4133
4135
  * Create a URL attribute.
4134
-
4136
+ *
4135
4137
  *
4136
4138
  * @param {string} databaseId
4137
4139
  * @param {string} collectionId
@@ -4177,7 +4179,7 @@
4177
4179
  }
4178
4180
  /**
4179
4181
  * Update an url attribute. Changing the `default` value will not update already existing documents.
4180
-
4182
+ *
4181
4183
  *
4182
4184
  * @param {string} databaseId
4183
4185
  * @param {string} collectionId
@@ -4275,7 +4277,7 @@
4275
4277
  }
4276
4278
  /**
4277
4279
  * Update relationship attribute. [Learn more about relationship attributes](https://appwrite.io/docs/databases-relationships#relationship-attributes).
4278
-
4280
+ *
4279
4281
  *
4280
4282
  * @param {string} databaseId
4281
4283
  * @param {string} collectionId
@@ -4340,7 +4342,7 @@
4340
4342
  * @param {string} databaseId
4341
4343
  * @param {string} collectionId
4342
4344
  * @param {string} documentId
4343
- * @param {Omit<Document, keyof Models.Document>} data
4345
+ * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Omit<Document, keyof Models.Document>} data
4344
4346
  * @param {string[]} permissions
4345
4347
  * @throws {AppwriteException}
4346
4348
  * @returns {Promise<Document>}
@@ -4376,6 +4378,8 @@
4376
4378
  return this.client.call('post', uri, apiHeaders, payload);
4377
4379
  }
4378
4380
  /**
4381
+ * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
4382
+ *
4379
4383
  * Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
4380
4384
  *
4381
4385
  * @param {string} databaseId
@@ -4406,8 +4410,10 @@
4406
4410
  return this.client.call('post', uri, apiHeaders, payload);
4407
4411
  }
4408
4412
  /**
4413
+ * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
4414
+ *
4409
4415
  * Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
4410
-
4416
+ *
4411
4417
  *
4412
4418
  * @param {string} databaseId
4413
4419
  * @param {string} collectionId
@@ -4422,6 +4428,9 @@
4422
4428
  if (typeof collectionId === 'undefined') {
4423
4429
  throw new AppwriteException('Missing required parameter: "collectionId"');
4424
4430
  }
4431
+ if (typeof documents === 'undefined') {
4432
+ throw new AppwriteException('Missing required parameter: "documents"');
4433
+ }
4425
4434
  const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);
4426
4435
  const payload = {};
4427
4436
  if (typeof documents !== 'undefined') {
@@ -4434,6 +4443,8 @@
4434
4443
  return this.client.call('put', uri, apiHeaders, payload);
4435
4444
  }
4436
4445
  /**
4446
+ * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
4447
+ *
4437
4448
  * Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.
4438
4449
  *
4439
4450
  * @param {string} databaseId
@@ -4465,6 +4476,8 @@
4465
4476
  return this.client.call('patch', uri, apiHeaders, payload);
4466
4477
  }
4467
4478
  /**
4479
+ * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
4480
+ *
4468
4481
  * Bulk delete documents using queries, if no queries are passed then all documents are deleted.
4469
4482
  *
4470
4483
  * @param {string} databaseId
@@ -4521,6 +4534,8 @@
4521
4534
  return this.client.call('get', uri, apiHeaders, payload);
4522
4535
  }
4523
4536
  /**
4537
+ * **WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
4538
+ *
4524
4539
  * Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
4525
4540
  *
4526
4541
  * @param {string} databaseId
@@ -4564,7 +4579,7 @@
4564
4579
  * @param {string} databaseId
4565
4580
  * @param {string} collectionId
4566
4581
  * @param {string} documentId
4567
- * @param {Partial<Omit<Document, keyof Models.Document>>} data
4582
+ * @param {Document extends Models.DefaultDocument ? Partial<Models.Document> & Record<string, any> : Partial<Models.Document> & Partial<Omit<Document, keyof Models.Document>>} data
4568
4583
  * @param {string[]} permissions
4569
4584
  * @throws {AppwriteException}
4570
4585
  * @returns {Promise<Document>}
@@ -4649,6 +4664,84 @@
4649
4664
  const apiHeaders = {};
4650
4665
  return this.client.call('get', uri, apiHeaders, payload);
4651
4666
  }
4667
+ /**
4668
+ * Decrement a specific attribute of a document by a given value.
4669
+ *
4670
+ * @param {string} databaseId
4671
+ * @param {string} collectionId
4672
+ * @param {string} documentId
4673
+ * @param {string} attribute
4674
+ * @param {number} value
4675
+ * @param {number} min
4676
+ * @throws {AppwriteException}
4677
+ * @returns {Promise<Document>}
4678
+ */
4679
+ decrementDocumentAttribute(databaseId, collectionId, documentId, attribute, value, min) {
4680
+ if (typeof databaseId === 'undefined') {
4681
+ throw new AppwriteException('Missing required parameter: "databaseId"');
4682
+ }
4683
+ if (typeof collectionId === 'undefined') {
4684
+ throw new AppwriteException('Missing required parameter: "collectionId"');
4685
+ }
4686
+ if (typeof documentId === 'undefined') {
4687
+ throw new AppwriteException('Missing required parameter: "documentId"');
4688
+ }
4689
+ if (typeof attribute === 'undefined') {
4690
+ throw new AppwriteException('Missing required parameter: "attribute"');
4691
+ }
4692
+ const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);
4693
+ const payload = {};
4694
+ if (typeof value !== 'undefined') {
4695
+ payload['value'] = value;
4696
+ }
4697
+ if (typeof min !== 'undefined') {
4698
+ payload['min'] = min;
4699
+ }
4700
+ const uri = new URL(this.client.config.endpoint + apiPath);
4701
+ const apiHeaders = {
4702
+ 'content-type': 'application/json',
4703
+ };
4704
+ return this.client.call('patch', uri, apiHeaders, payload);
4705
+ }
4706
+ /**
4707
+ * Increment a specific attribute of a document by a given value.
4708
+ *
4709
+ * @param {string} databaseId
4710
+ * @param {string} collectionId
4711
+ * @param {string} documentId
4712
+ * @param {string} attribute
4713
+ * @param {number} value
4714
+ * @param {number} max
4715
+ * @throws {AppwriteException}
4716
+ * @returns {Promise<Document>}
4717
+ */
4718
+ incrementDocumentAttribute(databaseId, collectionId, documentId, attribute, value, max) {
4719
+ if (typeof databaseId === 'undefined') {
4720
+ throw new AppwriteException('Missing required parameter: "databaseId"');
4721
+ }
4722
+ if (typeof collectionId === 'undefined') {
4723
+ throw new AppwriteException('Missing required parameter: "collectionId"');
4724
+ }
4725
+ if (typeof documentId === 'undefined') {
4726
+ throw new AppwriteException('Missing required parameter: "documentId"');
4727
+ }
4728
+ if (typeof attribute === 'undefined') {
4729
+ throw new AppwriteException('Missing required parameter: "attribute"');
4730
+ }
4731
+ const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);
4732
+ const payload = {};
4733
+ if (typeof value !== 'undefined') {
4734
+ payload['value'] = value;
4735
+ }
4736
+ if (typeof max !== 'undefined') {
4737
+ payload['max'] = max;
4738
+ }
4739
+ const uri = new URL(this.client.config.endpoint + apiPath);
4740
+ const apiHeaders = {
4741
+ 'content-type': 'application/json',
4742
+ };
4743
+ return this.client.call('patch', uri, apiHeaders, payload);
4744
+ }
4652
4745
  /**
4653
4746
  * List indexes in the collection.
4654
4747
  *
@@ -4676,7 +4769,7 @@
4676
4769
  }
4677
4770
  /**
4678
4771
  * Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.
4679
- Attributes can be `key`, `fulltext`, and `unique`.
4772
+ * Attributes can be `key`, `fulltext`, and `unique`.
4680
4773
  *
4681
4774
  * @param {string} databaseId
4682
4775
  * @param {string} collectionId
@@ -4946,7 +5039,7 @@
4946
5039
  }
4947
5040
  /**
4948
5041
  * Delete a domain by its unique ID. This endpoint can be used to delete a domain from your project.
4949
- Once deleted, the domain will no longer be available for use and all associated resources will be removed.
5042
+ * Once deleted, the domain will no longer be available for use and all associated resources will be removed.
4950
5043
  *
4951
5044
  * @param {string} domainId
4952
5045
  * @throws {AppwriteException}
@@ -4966,8 +5059,8 @@
4966
5059
  }
4967
5060
  /**
4968
5061
  * Verify which NS records are used and update the domain accordingly. This will check the domain&#039;s
4969
- nameservers and update the domain&#039;s status based on whether the nameservers match the expected
4970
- Appwrite nameservers.
5062
+ * nameservers and update the domain&#039;s status based on whether the nameservers match the expected
5063
+ * Appwrite nameservers.
4971
5064
  *
4972
5065
  * @param {string} domainId
4973
5066
  * @throws {AppwriteException}
@@ -5004,7 +5097,7 @@
5004
5097
  }
5005
5098
  /**
5006
5099
  * Add Google Workspace DNS records to the domain. This will create the required MX records
5007
- for Google Workspace email hosting.
5100
+ * for Google Workspace email hosting.
5008
5101
  *
5009
5102
  * @param {string} domainId
5010
5103
  * @throws {AppwriteException}
@@ -5041,7 +5134,7 @@
5041
5134
  }
5042
5135
  /**
5043
5136
  * Add iCloud DNS records to the domain. This will create the required MX and SPF records
5044
- for using iCloud email services with your domain.
5137
+ * for using iCloud email services with your domain.
5045
5138
  *
5046
5139
  * @param {string} domainId
5047
5140
  * @throws {AppwriteException}
@@ -5078,7 +5171,7 @@
5078
5171
  }
5079
5172
  /**
5080
5173
  * Add Mailgun DNS records to the domain. This endpoint will create the required DNS records
5081
- for Mailgun in the specified domain.
5174
+ * for Mailgun in the specified domain.
5082
5175
  *
5083
5176
  * @param {string} domainId
5084
5177
  * @throws {AppwriteException}
@@ -5115,7 +5208,7 @@
5115
5208
  }
5116
5209
  /**
5117
5210
  * Add Outlook DNS records to the domain. This will create the required MX records
5118
- for setting up Outlook email hosting for your domain.
5211
+ * for setting up Outlook email hosting for your domain.
5119
5212
  *
5120
5213
  * @param {string} domainId
5121
5214
  * @throws {AppwriteException}
@@ -5152,7 +5245,7 @@
5152
5245
  }
5153
5246
  /**
5154
5247
  * Add ProtonMail DNS records to the domain. This will create the required MX records
5155
- for using ProtonMail with your custom domain.
5248
+ * for using ProtonMail with your custom domain.
5156
5249
  *
5157
5250
  * @param {string} domainId
5158
5251
  * @throws {AppwriteException}
@@ -5189,7 +5282,7 @@
5189
5282
  }
5190
5283
  /**
5191
5284
  * Add Zoho Mail DNS records to the domain. This will create the required MX records
5192
- for setting up Zoho Mail on your domain.
5285
+ * for setting up Zoho Mail on your domain.
5193
5286
  *
5194
5287
  * @param {string} domainId
5195
5288
  * @throws {AppwriteException}
@@ -5209,7 +5302,7 @@
5209
5302
  }
5210
5303
  /**
5211
5304
  * List DNS records for a given domain. You can use this endpoint to list all the DNS records
5212
- associated with your domain.
5305
+ * associated with your domain.
5213
5306
  *
5214
5307
  * @param {string} domainId
5215
5308
  * @param {string[]} queries
@@ -5231,7 +5324,7 @@
5231
5324
  }
5232
5325
  /**
5233
5326
  * Create a new A record for the given domain. A records are used to point a domain name
5234
- to an IPv4 address. The record value should be a valid IPv4 address.
5327
+ * to an IPv4 address. The record value should be a valid IPv4 address.
5235
5328
  *
5236
5329
  * @param {string} domainId
5237
5330
  * @param {string} name
@@ -5276,8 +5369,8 @@
5276
5369
  }
5277
5370
  /**
5278
5371
  * Update an existing A record for the given domain. This endpoint allows you to modify
5279
- the properties of an A record including its name (subdomain), IPv4 address, TTL,
5280
- and optional comment.
5372
+ * the properties of an A record including its name (subdomain), IPv4 address, TTL,
5373
+ * and optional comment.
5281
5374
  *
5282
5375
  * @param {string} domainId
5283
5376
  * @param {string} recordId
@@ -5326,7 +5419,7 @@
5326
5419
  }
5327
5420
  /**
5328
5421
  * Create a new AAAA record for the given domain. This endpoint allows you to add a new IPv6 DNS record
5329
- to your domain. The record will be used to point a hostname to an IPv6 address.
5422
+ * to your domain. The record will be used to point a hostname to an IPv6 address.
5330
5423
  *
5331
5424
  * @param {string} domainId
5332
5425
  * @param {string} name
@@ -5371,8 +5464,8 @@
5371
5464
  }
5372
5465
  /**
5373
5466
  * Update an existing AAAA record for the given domain. This endpoint allows you to modify
5374
- the properties of an existing AAAA record, including its name (subdomain), IPv6 address,
5375
- TTL, and optional comment.
5467
+ * the properties of an existing AAAA record, including its name (subdomain), IPv6 address,
5468
+ * TTL, and optional comment.
5376
5469
  *
5377
5470
  * @param {string} domainId
5378
5471
  * @param {string} recordId
@@ -5421,8 +5514,8 @@
5421
5514
  }
5422
5515
  /**
5423
5516
  * Create a new ALIAS record for the given domain. This record type can be used to point your domain
5424
- to another domain name that will serve as an alias. This is particularly useful when you want to
5425
- map your domain to a target domain that may change its IP address.
5517
+ * to another domain name that will serve as an alias. This is particularly useful when you want to
5518
+ * map your domain to a target domain that may change its IP address.
5426
5519
  *
5427
5520
  * @param {string} domainId
5428
5521
  * @param {string} name
@@ -5467,10 +5560,10 @@
5467
5560
  }
5468
5561
  /**
5469
5562
  * Update an existing ALIAS record for the specified domain. This endpoint allows you to modify
5470
- the properties of an existing ALIAS record including its name, target domain, TTL, and comment.
5471
-
5472
- The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).
5473
- It provides a way to map one domain name to another.
5563
+ * the properties of an existing ALIAS record including its name, target domain, TTL, and comment.
5564
+ *
5565
+ * The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).
5566
+ * It provides a way to map one domain name to another.
5474
5567
  *
5475
5568
  * @param {string} domainId
5476
5569
  * @param {string} recordId
@@ -5519,7 +5612,7 @@
5519
5612
  }
5520
5613
  /**
5521
5614
  * Create a new CAA record for the given domain. CAA records are used to specify which
5522
- Certificate Authorities (CAs) are allowed to issue SSL/TLS certificates for your domain.
5615
+ * Certificate Authorities (CAs) are allowed to issue SSL/TLS certificates for your domain.
5523
5616
  *
5524
5617
  * @param {string} domainId
5525
5618
  * @param {string} name
@@ -5564,8 +5657,8 @@
5564
5657
  }
5565
5658
  /**
5566
5659
  * Update an existing CAA record for the given domain. A CAA (Certification Authority Authorization)
5567
- record is used to specify which certificate authorities (CAs) are authorized to issue certificates
5568
- for a domain.
5660
+ * record is used to specify which certificate authorities (CAs) are authorized to issue certificates
5661
+ * for a domain.
5569
5662
  *
5570
5663
  * @param {string} domainId
5571
5664
  * @param {string} recordId
@@ -5614,10 +5707,10 @@
5614
5707
  }
5615
5708
  /**
5616
5709
  * Create a new CNAME record for the given domain.
5617
-
5618
- A CNAME record maps a subdomain to another domain name, allowing you to create aliases
5619
- for your domain. For example, you can create a CNAME record to point &#039;blog.example.com&#039;
5620
- to &#039;example.wordpress.com&#039;.
5710
+ *
5711
+ * A CNAME record maps a subdomain to another domain name, allowing you to create aliases
5712
+ * for your domain. For example, you can create a CNAME record to point &#039;blog.example.com&#039;
5713
+ * to &#039;example.wordpress.com&#039;.
5621
5714
  *
5622
5715
  * @param {string} domainId
5623
5716
  * @param {string} name
@@ -5710,7 +5803,7 @@
5710
5803
  }
5711
5804
  /**
5712
5805
  * Create a new HTTPS record for the given domain. This record is used to configure HTTPS
5713
- settings for your domain, enabling secure communication over SSL/TLS.
5806
+ * settings for your domain, enabling secure communication over SSL/TLS.
5714
5807
  *
5715
5808
  * @param {string} domainId
5716
5809
  * @param {string} name
@@ -5755,8 +5848,8 @@
5755
5848
  }
5756
5849
  /**
5757
5850
  * Update an existing HTTPS record for the given domain. This endpoint allows you to modify
5758
- the properties of an HTTPS record associated with your domain, including the name (subdomain),
5759
- target value, TTL, and optional comment.
5851
+ * the properties of an HTTPS record associated with your domain, including the name (subdomain),
5852
+ * target value, TTL, and optional comment.
5760
5853
  *
5761
5854
  * @param {string} domainId
5762
5855
  * @param {string} recordId
@@ -5805,9 +5898,9 @@
5805
5898
  }
5806
5899
  /**
5807
5900
  * Create a new MX record for the given domain. MX records are used to define the mail servers responsible
5808
- for accepting email messages for the domain. Multiple MX records can be created with different priorities.
5809
- The priority parameter determines the order in which mail servers are used, with lower values indicating
5810
- higher priority.
5901
+ * for accepting email messages for the domain. Multiple MX records can be created with different priorities.
5902
+ * The priority parameter determines the order in which mail servers are used, with lower values indicating
5903
+ * higher priority.
5811
5904
  *
5812
5905
  * @param {string} domainId
5813
5906
  * @param {string} name
@@ -5914,7 +6007,7 @@
5914
6007
  }
5915
6008
  /**
5916
6009
  * Create a new NS record for the given domain. NS records specify the nameservers that are used
5917
- to resolve the domain name to IP addresses. Each domain can have multiple NS records.
6010
+ * to resolve the domain name to IP addresses. Each domain can have multiple NS records.
5918
6011
  *
5919
6012
  * @param {string} domainId
5920
6013
  * @param {string} name
@@ -5959,9 +6052,9 @@
5959
6052
  }
5960
6053
  /**
5961
6054
  * Update an existing NS record for the given domain. This endpoint allows you to modify
5962
- the properties of an NS (nameserver) record associated with your domain. You can update
5963
- the record name (subdomain), target nameserver value, TTL, and add or modify comments
5964
- for better record management.
6055
+ * the properties of an NS (nameserver) record associated with your domain. You can update
6056
+ * the record name (subdomain), target nameserver value, TTL, and add or modify comments
6057
+ * for better record management.
5965
6058
  *
5966
6059
  * @param {string} domainId
5967
6060
  * @param {string} recordId
@@ -6010,8 +6103,8 @@
6010
6103
  }
6011
6104
  /**
6012
6105
  * Create a new SRV record for the given domain. SRV records are used to define the location
6013
- of servers for specific services. For example, they can be used to specify which server
6014
- handles a specific service like SIP or XMPP for the domain.
6106
+ * of servers for specific services. For example, they can be used to specify which server
6107
+ * handles a specific service like SIP or XMPP for the domain.
6015
6108
  *
6016
6109
  * @param {string} domainId
6017
6110
  * @param {string} name
@@ -6077,19 +6170,19 @@
6077
6170
  }
6078
6171
  /**
6079
6172
  * Update an existing SRV record for the given domain.
6080
-
6081
- Required parameters:
6082
- - domainId: Domain unique ID
6083
- - recordId: DNS record unique ID
6084
- - name: Record name (service name)
6085
- - value: Target hostname for this SRV record
6086
- - ttl: Time to live, in seconds
6087
- - priority: Record priority
6088
- - weight: Record weight
6089
- - port: Port number for the service
6090
-
6091
- Optional parameters:
6092
- - comment: A comment for this record
6173
+ *
6174
+ * Required parameters:
6175
+ * - domainId: Domain unique ID
6176
+ * - recordId: DNS record unique ID
6177
+ * - name: Record name (service name)
6178
+ * - value: Target hostname for this SRV record
6179
+ * - ttl: Time to live, in seconds
6180
+ * - priority: Record priority
6181
+ * - weight: Record weight
6182
+ * - port: Port number for the service
6183
+ *
6184
+ * Optional parameters:
6185
+ * - comment: A comment for this record
6093
6186
  *
6094
6187
  * @param {string} domainId
6095
6188
  * @param {string} recordId
@@ -6159,8 +6252,8 @@
6159
6252
  }
6160
6253
  /**
6161
6254
  * Create a new TXT record for the given domain. TXT records can be used
6162
- to provide additional information about your domain, such as domain
6163
- verification records, SPF records, or DKIM records.
6255
+ * to provide additional information about your domain, such as domain
6256
+ * verification records, SPF records, or DKIM records.
6164
6257
  *
6165
6258
  * @param {string} domainId
6166
6259
  * @param {string} name
@@ -6202,9 +6295,9 @@
6202
6295
  }
6203
6296
  /**
6204
6297
  * Update an existing TXT record for the given domain.
6205
-
6206
- Update the TXT record details for a specific domain by providing the domain ID,
6207
- record ID, and the new record configuration including name, value, TTL, and an optional comment.
6298
+ *
6299
+ * Update the TXT record details for a specific domain by providing the domain ID,
6300
+ * record ID, and the new record configuration including name, value, TTL, and an optional comment.
6208
6301
  *
6209
6302
  * @param {string} domainId
6210
6303
  * @param {string} recordId
@@ -6253,10 +6346,10 @@
6253
6346
  }
6254
6347
  /**
6255
6348
  * Get a single DNS record for a given domain by record ID.
6256
-
6257
- This endpoint allows you to retrieve a specific DNS record associated with a domain
6258
- using its unique identifier. The record contains information about the DNS configuration
6259
- such as type, value, and TTL settings.
6349
+ *
6350
+ * This endpoint allows you to retrieve a specific DNS record associated with a domain
6351
+ * using its unique identifier. The record contains information about the DNS configuration
6352
+ * such as type, value, and TTL settings.
6260
6353
  *
6261
6354
  * @param {string} domainId
6262
6355
  * @param {string} recordId
@@ -6278,7 +6371,7 @@
6278
6371
  }
6279
6372
  /**
6280
6373
  * Delete a DNS record for the given domain. This endpoint allows you to delete an existing DNS record
6281
- from a specific domain.
6374
+ * from a specific domain.
6282
6375
  *
6283
6376
  * @param {string} domainId
6284
6377
  * @param {string} recordId
@@ -6302,9 +6395,9 @@
6302
6395
  }
6303
6396
  /**
6304
6397
  * Update the team ID for a specific domain. This endpoint requires admin access.
6305
-
6306
- Updating the team ID will transfer ownership and access control of the domain
6307
- and all its DNS records to the new team.
6398
+ *
6399
+ * Updating the team ID will transfer ownership and access control of the domain
6400
+ * and all its DNS records to the new team.
6308
6401
  *
6309
6402
  * @param {string} domainId
6310
6403
  * @param {string} teamId
@@ -6331,7 +6424,7 @@
6331
6424
  }
6332
6425
  /**
6333
6426
  * Retrieve the DNS zone file for the given domain. This endpoint will return the DNS
6334
- zone file in a standardized format that can be used to configure DNS servers.
6427
+ * zone file in a standardized format that can be used to configure DNS servers.
6335
6428
  *
6336
6429
  * @param {string} domainId
6337
6430
  * @throws {AppwriteException}
@@ -6349,7 +6442,7 @@
6349
6442
  }
6350
6443
  /**
6351
6444
  * Update the DNS zone for the given domain using the provided zone file content.
6352
- All parsed records are imported and then the main domain document is returned.
6445
+ * All parsed records are imported and then the main domain document is returned.
6353
6446
  *
6354
6447
  * @param {string} domainId
6355
6448
  * @param {string} content
@@ -6765,10 +6858,10 @@
6765
6858
  }
6766
6859
  /**
6767
6860
  * Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you&#039;ll need to update the function&#039;s deployment to use your new deployment UID.
6768
-
6769
- This endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https://appwrite.io/docs/functions).
6770
-
6771
- Use the &quot;command&quot; param to set the entrypoint used to execute your code.
6861
+ *
6862
+ * This endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https://appwrite.io/docs/functions).
6863
+ *
6864
+ * Use the &quot;command&quot; param to set the entrypoint used to execute your code.
6772
6865
  *
6773
6866
  * @param {string} functionId
6774
6867
  * @param {File} code
@@ -6840,8 +6933,8 @@
6840
6933
  }
6841
6934
  /**
6842
6935
  * Create a deployment based on a template.
6843
-
6844
- Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/server/functions#listTemplates) to find the template details.
6936
+ *
6937
+ * Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/server/functions#listTemplates) to find the template details.
6845
6938
  *
6846
6939
  * @param {string} functionId
6847
6940
  * @param {string} repository
@@ -6893,8 +6986,8 @@
6893
6986
  }
6894
6987
  /**
6895
6988
  * Create a deployment when a function is connected to VCS.
6896
-
6897
- This endpoint lets you create deployment from a branch, commit, or a tag.
6989
+ *
6990
+ * This endpoint lets you create deployment from a branch, commit, or a tag.
6898
6991
  *
6899
6992
  * @param {string} functionId
6900
6993
  * @param {VCSDeploymentType} type
@@ -7431,14 +7524,31 @@
7431
7524
  return this.client.call('get', uri, apiHeaders, payload);
7432
7525
  }
7433
7526
  /**
7434
- * Get billing aggregation queue
7527
+ * Get billing project aggregation queue
7528
+ *
7529
+ * @param {number} threshold
7530
+ * @throws {AppwriteException}
7531
+ * @returns {Promise<Models.HealthQueue>}
7532
+ */
7533
+ getQueueBillingProjectAggregation(threshold) {
7534
+ const apiPath = '/health/queue/billing-project-aggregation';
7535
+ const payload = {};
7536
+ if (typeof threshold !== 'undefined') {
7537
+ payload['threshold'] = threshold;
7538
+ }
7539
+ const uri = new URL(this.client.config.endpoint + apiPath);
7540
+ const apiHeaders = {};
7541
+ return this.client.call('get', uri, apiHeaders, payload);
7542
+ }
7543
+ /**
7544
+ * Get billing team aggregation queue
7435
7545
  *
7436
7546
  * @param {number} threshold
7437
7547
  * @throws {AppwriteException}
7438
7548
  * @returns {Promise<Models.HealthQueue>}
7439
7549
  */
7440
- getQueueBillingAggregation(threshold) {
7441
- const apiPath = '/health/queue/billing-aggregation';
7550
+ getQueueBillingTeamAggregation(threshold) {
7551
+ const apiPath = '/health/queue/billing-team-aggregation';
7442
7552
  const payload = {};
7443
7553
  if (typeof threshold !== 'undefined') {
7444
7554
  payload['threshold'] = threshold;
@@ -7538,7 +7648,7 @@
7538
7648
  }
7539
7649
  /**
7540
7650
  * Returns the amount of failed jobs in a given queue.
7541
-
7651
+ *
7542
7652
  *
7543
7653
  * @param {Name} name
7544
7654
  * @param {number} threshold
@@ -7758,8 +7868,8 @@
7758
7868
  }
7759
7869
  /**
7760
7870
  * Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.
7761
-
7762
- ([IP Geolocation by DB-IP](https://db-ip.com))
7871
+ *
7872
+ * ([IP Geolocation by DB-IP](https://db-ip.com))
7763
7873
  *
7764
7874
  * @throws {AppwriteException}
7765
7875
  * @returns {Promise<Models.Locale>}
@@ -7963,7 +8073,7 @@
7963
8073
  }
7964
8074
  /**
7965
8075
  * Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
7966
-
8076
+ *
7967
8077
  *
7968
8078
  * @param {string} messageId
7969
8079
  * @param {string[]} topics
@@ -8121,7 +8231,7 @@
8121
8231
  }
8122
8232
  /**
8123
8233
  * Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
8124
-
8234
+ *
8125
8235
  *
8126
8236
  * @param {string} messageId
8127
8237
  * @param {string[]} topics
@@ -8262,7 +8372,7 @@
8262
8372
  }
8263
8373
  /**
8264
8374
  * Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
8265
-
8375
+ *
8266
8376
  *
8267
8377
  * @param {string} messageId
8268
8378
  * @param {string[]} topics
@@ -8306,7 +8416,7 @@
8306
8416
  }
8307
8417
  /**
8308
8418
  * Get a message by its unique ID.
8309
-
8419
+ *
8310
8420
  *
8311
8421
  * @param {string} messageId
8312
8422
  * @throws {AppwriteException}
@@ -9361,7 +9471,7 @@
9361
9471
  }
9362
9472
  /**
9363
9473
  * Get a provider by its unique ID.
9364
-
9474
+ *
9365
9475
  *
9366
9476
  * @param {string} providerId
9367
9477
  * @throws {AppwriteException}
@@ -9494,7 +9604,7 @@
9494
9604
  }
9495
9605
  /**
9496
9606
  * Get a topic by its unique ID.
9497
-
9607
+ *
9498
9608
  *
9499
9609
  * @param {string} topicId
9500
9610
  * @throws {AppwriteException}
@@ -9512,7 +9622,7 @@
9512
9622
  }
9513
9623
  /**
9514
9624
  * Update a topic by its unique ID.
9515
-
9625
+ *
9516
9626
  *
9517
9627
  * @param {string} topicId
9518
9628
  * @param {string} name
@@ -9638,7 +9748,7 @@
9638
9748
  }
9639
9749
  /**
9640
9750
  * Get a subscriber by its unique ID.
9641
-
9751
+ *
9642
9752
  *
9643
9753
  * @param {string} topicId
9644
9754
  * @param {string} subscriberId
@@ -10222,7 +10332,7 @@
10222
10332
  }
10223
10333
  /**
10224
10334
  * Create a new organization.
10225
-
10335
+ *
10226
10336
  *
10227
10337
  * @param {string} organizationId
10228
10338
  * @param {string} name
@@ -10281,6 +10391,40 @@
10281
10391
  };
10282
10392
  return this.client.call('post', uri, apiHeaders, payload);
10283
10393
  }
10394
+ /**
10395
+ * Get estimation for creating an organization.
10396
+ *
10397
+ * @param {BillingPlan} billingPlan
10398
+ * @param {string} paymentMethodId
10399
+ * @param {string[]} invites
10400
+ * @param {string} couponId
10401
+ * @throws {AppwriteException}
10402
+ * @returns {Promise<Models.Estimation>}
10403
+ */
10404
+ estimationCreateOrganization(billingPlan, paymentMethodId, invites, couponId) {
10405
+ if (typeof billingPlan === 'undefined') {
10406
+ throw new AppwriteException('Missing required parameter: "billingPlan"');
10407
+ }
10408
+ const apiPath = '/organizations/estimations/create-organization';
10409
+ const payload = {};
10410
+ if (typeof billingPlan !== 'undefined') {
10411
+ payload['billingPlan'] = billingPlan;
10412
+ }
10413
+ if (typeof paymentMethodId !== 'undefined') {
10414
+ payload['paymentMethodId'] = paymentMethodId;
10415
+ }
10416
+ if (typeof invites !== 'undefined') {
10417
+ payload['invites'] = invites;
10418
+ }
10419
+ if (typeof couponId !== 'undefined') {
10420
+ payload['couponId'] = couponId;
10421
+ }
10422
+ const uri = new URL(this.client.config.endpoint + apiPath);
10423
+ const apiHeaders = {
10424
+ 'content-type': 'application/json',
10425
+ };
10426
+ return this.client.call('patch', uri, apiHeaders, payload);
10427
+ }
10284
10428
  /**
10285
10429
  * Delete an organization.
10286
10430
  *
@@ -10466,7 +10610,7 @@
10466
10610
  }
10467
10611
  /**
10468
10612
  * List all credits for an organization.
10469
-
10613
+ *
10470
10614
  *
10471
10615
  * @param {string} organizationId
10472
10616
  * @param {string[]} queries
@@ -10512,6 +10656,23 @@
10512
10656
  };
10513
10657
  return this.client.call('post', uri, apiHeaders, payload);
10514
10658
  }
10659
+ /**
10660
+ * Get total available valid credits for an organization.
10661
+ *
10662
+ * @param {string} organizationId
10663
+ * @throws {AppwriteException}
10664
+ * @returns {Promise<Models.CreditAvailable>}
10665
+ */
10666
+ getAvailableCredits(organizationId) {
10667
+ if (typeof organizationId === 'undefined') {
10668
+ throw new AppwriteException('Missing required parameter: "organizationId"');
10669
+ }
10670
+ const apiPath = '/organizations/{organizationId}/credits/available'.replace('{organizationId}', organizationId);
10671
+ const payload = {};
10672
+ const uri = new URL(this.client.config.endpoint + apiPath);
10673
+ const apiHeaders = {};
10674
+ return this.client.call('get', uri, apiHeaders, payload);
10675
+ }
10515
10676
  /**
10516
10677
  * Get credit details.
10517
10678
  *
@@ -10533,6 +10694,59 @@
10533
10694
  const apiHeaders = {};
10534
10695
  return this.client.call('get', uri, apiHeaders, payload);
10535
10696
  }
10697
+ /**
10698
+ * Get estimation for deleting an organization.
10699
+ *
10700
+ * @param {string} organizationId
10701
+ * @throws {AppwriteException}
10702
+ * @returns {Promise<Models.EstimationDeleteOrganization>}
10703
+ */
10704
+ estimationDeleteOrganization(organizationId) {
10705
+ if (typeof organizationId === 'undefined') {
10706
+ throw new AppwriteException('Missing required parameter: "organizationId"');
10707
+ }
10708
+ const apiPath = '/organizations/{organizationId}/estimations/delete-organization'.replace('{organizationId}', organizationId);
10709
+ const payload = {};
10710
+ const uri = new URL(this.client.config.endpoint + apiPath);
10711
+ const apiHeaders = {
10712
+ 'content-type': 'application/json',
10713
+ };
10714
+ return this.client.call('patch', uri, apiHeaders, payload);
10715
+ }
10716
+ /**
10717
+ * Get estimation for updating the organization plan.
10718
+ *
10719
+ * @param {string} organizationId
10720
+ * @param {BillingPlan} billingPlan
10721
+ * @param {string[]} invites
10722
+ * @param {string} couponId
10723
+ * @throws {AppwriteException}
10724
+ * @returns {Promise<Models.EstimationUpdatePlan>}
10725
+ */
10726
+ estimationUpdatePlan(organizationId, billingPlan, invites, couponId) {
10727
+ if (typeof organizationId === 'undefined') {
10728
+ throw new AppwriteException('Missing required parameter: "organizationId"');
10729
+ }
10730
+ if (typeof billingPlan === 'undefined') {
10731
+ throw new AppwriteException('Missing required parameter: "billingPlan"');
10732
+ }
10733
+ const apiPath = '/organizations/{organizationId}/estimations/update-plan'.replace('{organizationId}', organizationId);
10734
+ const payload = {};
10735
+ if (typeof billingPlan !== 'undefined') {
10736
+ payload['billingPlan'] = billingPlan;
10737
+ }
10738
+ if (typeof invites !== 'undefined') {
10739
+ payload['invites'] = invites;
10740
+ }
10741
+ if (typeof couponId !== 'undefined') {
10742
+ payload['couponId'] = couponId;
10743
+ }
10744
+ const uri = new URL(this.client.config.endpoint + apiPath);
10745
+ const apiHeaders = {
10746
+ 'content-type': 'application/json',
10747
+ };
10748
+ return this.client.call('patch', uri, apiHeaders, payload);
10749
+ }
10536
10750
  /**
10537
10751
  * List all invoices for an organization.
10538
10752
  *
@@ -10717,7 +10931,7 @@
10717
10931
  }
10718
10932
  /**
10719
10933
  * Set an organization&#039;s backup payment method.
10720
-
10934
+ *
10721
10935
  *
10722
10936
  * @param {string} organizationId
10723
10937
  * @param {string} paymentMethodId
@@ -10849,6 +11063,48 @@
10849
11063
  };
10850
11064
  return this.client.call('patch', uri, apiHeaders, payload);
10851
11065
  }
11066
+ /**
11067
+ * Cancel the downgrade initiated for an organization.
11068
+ *
11069
+ * @param {string} organizationId
11070
+ * @throws {AppwriteException}
11071
+ * @returns {Promise<Models.Organization<Preferences>>}
11072
+ */
11073
+ cancelDowngrade(organizationId) {
11074
+ if (typeof organizationId === 'undefined') {
11075
+ throw new AppwriteException('Missing required parameter: "organizationId"');
11076
+ }
11077
+ const apiPath = '/organizations/{organizationId}/plan/cancel'.replace('{organizationId}', organizationId);
11078
+ const payload = {};
11079
+ const uri = new URL(this.client.config.endpoint + apiPath);
11080
+ const apiHeaders = {
11081
+ 'content-type': 'application/json',
11082
+ };
11083
+ return this.client.call('patch', uri, apiHeaders, payload);
11084
+ }
11085
+ /**
11086
+ * Update selected projects to keep in the organization.
11087
+ *
11088
+ * @param {string} organizationId
11089
+ * @param {string[]} projects
11090
+ * @throws {AppwriteException}
11091
+ * @returns {Promise<Models.Organization<Preferences>>}
11092
+ */
11093
+ updateProjects(organizationId, projects) {
11094
+ if (typeof organizationId === 'undefined') {
11095
+ throw new AppwriteException('Missing required parameter: "organizationId"');
11096
+ }
11097
+ const apiPath = '/organizations/{organizationId}/projects'.replace('{organizationId}', organizationId);
11098
+ const payload = {};
11099
+ if (typeof projects !== 'undefined') {
11100
+ payload['projects'] = projects;
11101
+ }
11102
+ const uri = new URL(this.client.config.endpoint + apiPath);
11103
+ const apiHeaders = {
11104
+ 'content-type': 'application/json',
11105
+ };
11106
+ return this.client.call('patch', uri, apiHeaders, payload);
11107
+ }
10852
11108
  /**
10853
11109
  * Get Scopes
10854
11110
  *
@@ -10892,6 +11148,54 @@
10892
11148
  };
10893
11149
  return this.client.call('patch', uri, apiHeaders, payload);
10894
11150
  }
11151
+ /**
11152
+ * Get the usage data for an organization.
11153
+ *
11154
+ * @param {string} organizationId
11155
+ * @param {string} startDate
11156
+ * @param {string} endDate
11157
+ * @throws {AppwriteException}
11158
+ * @returns {Promise<Models.UsageOrganization>}
11159
+ */
11160
+ getUsage(organizationId, startDate, endDate) {
11161
+ if (typeof organizationId === 'undefined') {
11162
+ throw new AppwriteException('Missing required parameter: "organizationId"');
11163
+ }
11164
+ const apiPath = '/organizations/{organizationId}/usage'.replace('{organizationId}', organizationId);
11165
+ const payload = {};
11166
+ if (typeof startDate !== 'undefined') {
11167
+ payload['startDate'] = startDate;
11168
+ }
11169
+ if (typeof endDate !== 'undefined') {
11170
+ payload['endDate'] = endDate;
11171
+ }
11172
+ const uri = new URL(this.client.config.endpoint + apiPath);
11173
+ const apiHeaders = {};
11174
+ return this.client.call('get', uri, apiHeaders, payload);
11175
+ }
11176
+ /**
11177
+ * Validate payment for team after creation or upgrade.
11178
+ *
11179
+ * @param {string} organizationId
11180
+ * @param {string[]} invites
11181
+ * @throws {AppwriteException}
11182
+ * @returns {Promise<Models.Organization<Preferences>>}
11183
+ */
11184
+ validatePayment(organizationId, invites) {
11185
+ if (typeof organizationId === 'undefined') {
11186
+ throw new AppwriteException('Missing required parameter: "organizationId"');
11187
+ }
11188
+ const apiPath = '/organizations/{organizationId}/validate'.replace('{organizationId}', organizationId);
11189
+ const payload = {};
11190
+ if (typeof invites !== 'undefined') {
11191
+ payload['invites'] = invites;
11192
+ }
11193
+ const uri = new URL(this.client.config.endpoint + apiPath);
11194
+ const apiHeaders = {
11195
+ 'content-type': 'application/json',
11196
+ };
11197
+ return this.client.call('patch', uri, apiHeaders, payload);
11198
+ }
10895
11199
  }
10896
11200
 
10897
11201
  class Project {
@@ -12768,10 +13072,12 @@
12768
13072
  * @param {string} domain
12769
13073
  * @param {string} url
12770
13074
  * @param {StatusCode} statusCode
13075
+ * @param {string} resourceId
13076
+ * @param {ProxyResourceType} resourceType
12771
13077
  * @throws {AppwriteException}
12772
13078
  * @returns {Promise<Models.ProxyRule>}
12773
13079
  */
12774
- createRedirectRule(domain, url, statusCode) {
13080
+ createRedirectRule(domain, url, statusCode, resourceId, resourceType) {
12775
13081
  if (typeof domain === 'undefined') {
12776
13082
  throw new AppwriteException('Missing required parameter: "domain"');
12777
13083
  }
@@ -12781,6 +13087,12 @@
12781
13087
  if (typeof statusCode === 'undefined') {
12782
13088
  throw new AppwriteException('Missing required parameter: "statusCode"');
12783
13089
  }
13090
+ if (typeof resourceId === 'undefined') {
13091
+ throw new AppwriteException('Missing required parameter: "resourceId"');
13092
+ }
13093
+ if (typeof resourceType === 'undefined') {
13094
+ throw new AppwriteException('Missing required parameter: "resourceType"');
13095
+ }
12784
13096
  const apiPath = '/proxy/rules/redirect';
12785
13097
  const payload = {};
12786
13098
  if (typeof domain !== 'undefined') {
@@ -12792,6 +13104,12 @@
12792
13104
  if (typeof statusCode !== 'undefined') {
12793
13105
  payload['statusCode'] = statusCode;
12794
13106
  }
13107
+ if (typeof resourceId !== 'undefined') {
13108
+ payload['resourceId'] = resourceId;
13109
+ }
13110
+ if (typeof resourceType !== 'undefined') {
13111
+ payload['resourceType'] = resourceType;
13112
+ }
12795
13113
  const uri = new URL(this.client.config.endpoint + apiPath);
12796
13114
  const apiHeaders = {
12797
13115
  'content-type': 'application/json',
@@ -13354,8 +13672,8 @@
13354
13672
  }
13355
13673
  /**
13356
13674
  * Create a deployment based on a template.
13357
-
13358
- Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/server/sites#listTemplates) to find the template details.
13675
+ *
13676
+ * Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/server/sites#listTemplates) to find the template details.
13359
13677
  *
13360
13678
  * @param {string} siteId
13361
13679
  * @param {string} repository
@@ -13407,8 +13725,8 @@
13407
13725
  }
13408
13726
  /**
13409
13727
  * Create a deployment when a site is connected to VCS.
13410
-
13411
- This endpoint lets you create deployment from a branch, commit, or a tag.
13728
+ *
13729
+ * This endpoint lets you create deployment from a branch, commit, or a tag.
13412
13730
  *
13413
13731
  * @param {string} siteId
13414
13732
  * @param {VCSDeploymentType} type
@@ -13970,13 +14288,13 @@
13970
14288
  }
13971
14289
  /**
13972
14290
  * Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https://appwrite.io/docs/server/storage#storageCreateBucket) API or directly from your Appwrite console.
13973
-
13974
- Larger files should be uploaded using multiple requests with the [content-range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.
13975
-
13976
- When the first request is sent, the server will return the **File** object, and the subsequent part request must include the file&#039;s **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.
13977
-
13978
- If you&#039;re creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.
13979
-
14291
+ *
14292
+ * Larger files should be uploaded using multiple requests with the [content-range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.
14293
+ *
14294
+ * When the first request is sent, the server will return the **File** object, and the subsequent part request must include the file&#039;s **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.
14295
+ *
14296
+ * If you&#039;re creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.
14297
+ *
13980
14298
  *
13981
14299
  * @param {string} bucketId
13982
14300
  * @param {string} fileId
@@ -14217,7 +14535,7 @@
14217
14535
  }
14218
14536
  /**
14219
14537
  * Get usage metrics and statistics for all buckets in the project. You can view the total number of buckets, files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.
14220
-
14538
+ *
14221
14539
  *
14222
14540
  * @param {StorageUsageRange} range
14223
14541
  * @throws {AppwriteException}
@@ -14235,7 +14553,7 @@
14235
14553
  }
14236
14554
  /**
14237
14555
  * Get usage metrics and statistics a specific bucket in the project. You can view the total number of files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.
14238
-
14556
+ *
14239
14557
  *
14240
14558
  * @param {string} bucketId
14241
14559
  * @param {StorageUsageRange} range
@@ -14425,13 +14743,13 @@
14425
14743
  }
14426
14744
  /**
14427
14745
  * Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn&#039;t exist. If initiated from a Server SDK, the new member will be added automatically to the team.
14428
-
14429
- You only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID &gt; email &gt; phone number if you provide more than one of these parameters.
14430
-
14431
- Use the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https://appwrite.io/docs/references/cloud/client-web/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team.
14432
-
14433
- Please note that to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.
14434
-
14746
+ *
14747
+ * You only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID &gt; email &gt; phone number if you provide more than one of these parameters.
14748
+ *
14749
+ * Use the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https://appwrite.io/docs/references/cloud/client-web/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team.
14750
+ *
14751
+ * Please note that to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.
14752
+ *
14435
14753
  *
14436
14754
  * @param {string} teamId
14437
14755
  * @param {string[]} roles
@@ -14499,7 +14817,7 @@
14499
14817
  }
14500
14818
  /**
14501
14819
  * Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https://appwrite.io/docs/permissions).
14502
-
14820
+ *
14503
14821
  *
14504
14822
  * @param {string} teamId
14505
14823
  * @param {string} membershipId
@@ -14553,9 +14871,9 @@
14553
14871
  }
14554
14872
  /**
14555
14873
  * Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.
14556
-
14557
- If the request is successful, a session for the user is automatically created.
14558
-
14874
+ *
14875
+ * If the request is successful, a session for the user is automatically created.
14876
+ *
14559
14877
  *
14560
14878
  * @param {string} teamId
14561
14879
  * @param {string} membershipId
@@ -15198,7 +15516,7 @@
15198
15516
  }
15199
15517
  /**
15200
15518
  * Get usage metrics and statistics for all users in the project. You can view the total number of users and sessions. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.
15201
-
15519
+ *
15202
15520
  *
15203
15521
  * @param {UserUsageRange} range
15204
15522
  * @throws {AppwriteException}
@@ -15305,8 +15623,8 @@
15305
15623
  }
15306
15624
  /**
15307
15625
  * Update the user labels by its unique ID.
15308
-
15309
- Labels can be used to grant access to resources. While teams are a way for user&#039;s to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https://appwrite.io/docs/permissions) for more info.
15626
+ *
15627
+ * Labels can be used to grant access to resources. While teams are a way for user&#039;s to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https://appwrite.io/docs/permissions) for more info.
15310
15628
  *
15311
15629
  * @param {string} userId
15312
15630
  * @param {string[]} labels
@@ -15638,8 +15956,8 @@
15638
15956
  }
15639
15957
  /**
15640
15958
  * Creates a session for a user. Returns an immediately usable session object.
15641
-
15642
- If you want to generate a token for a custom authentication flow, use the [POST /users/{userId}/tokens](https://appwrite.io/docs/server/users#createToken) endpoint.
15959
+ *
15960
+ * If you want to generate a token for a custom authentication flow, use the [POST /users/{userId}/tokens](https://appwrite.io/docs/server/users#createToken) endpoint.
15643
15961
  *
15644
15962
  * @param {string} userId
15645
15963
  * @throws {AppwriteException}
@@ -15875,7 +16193,7 @@
15875
16193
  }
15876
16194
  /**
15877
16195
  * Returns a token with a secret key for creating a session. Use the user ID and secret and submit a request to the [PUT /account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process.
15878
-
16196
+ *
15879
16197
  *
15880
16198
  * @param {string} userId
15881
16199
  * @param {number} length
@@ -16080,7 +16398,7 @@
16080
16398
  }
16081
16399
  /**
16082
16400
  * Get a list of all branches from a GitHub repository in your installation. This endpoint returns the names of all branches in the repository and their total count. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
16083
-
16401
+ *
16084
16402
  *
16085
16403
  * @param {string} installationId
16086
16404
  * @param {string} providerRepositoryId
@@ -16102,15 +16420,15 @@
16102
16420
  }
16103
16421
  /**
16104
16422
  * Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.
16105
-
16106
16423
  *
16107
16424
  * @param {string} installationId
16108
16425
  * @param {string} providerRepositoryId
16109
16426
  * @param {string} providerRootDirectory
16427
+ * @param {string} providerReference
16110
16428
  * @throws {AppwriteException}
16111
16429
  * @returns {Promise<Models.VcsContentList>}
16112
16430
  */
16113
- getRepositoryContents(installationId, providerRepositoryId, providerRootDirectory) {
16431
+ getRepositoryContents(installationId, providerRepositoryId, providerRootDirectory, providerReference) {
16114
16432
  if (typeof installationId === 'undefined') {
16115
16433
  throw new AppwriteException('Missing required parameter: "installationId"');
16116
16434
  }
@@ -16122,6 +16440,9 @@
16122
16440
  if (typeof providerRootDirectory !== 'undefined') {
16123
16441
  payload['providerRootDirectory'] = providerRootDirectory;
16124
16442
  }
16443
+ if (typeof providerReference !== 'undefined') {
16444
+ payload['providerReference'] = providerReference;
16445
+ }
16125
16446
  const uri = new URL(this.client.config.endpoint + apiPath);
16126
16447
  const apiHeaders = {};
16127
16448
  return this.client.call('get', uri, apiHeaders, payload);
@@ -16158,7 +16479,7 @@
16158
16479
  }
16159
16480
  /**
16160
16481
  * List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.
16161
-
16482
+ *
16162
16483
  *
16163
16484
  * @param {string[]} queries
16164
16485
  * @param {string} search
@@ -16769,6 +17090,7 @@
16769
17090
  Runtime["Dart31"] = "dart-3.1";
16770
17091
  Runtime["Dart33"] = "dart-3.3";
16771
17092
  Runtime["Dart35"] = "dart-3.5";
17093
+ Runtime["Dart38"] = "dart-3.8";
16772
17094
  Runtime["Dotnet60"] = "dotnet-6.0";
16773
17095
  Runtime["Dotnet70"] = "dotnet-7.0";
16774
17096
  Runtime["Dotnet80"] = "dotnet-8.0";
@@ -16795,6 +17117,7 @@
16795
17117
  Runtime["Flutter324"] = "flutter-3.24";
16796
17118
  Runtime["Flutter327"] = "flutter-3.27";
16797
17119
  Runtime["Flutter329"] = "flutter-3.29";
17120
+ Runtime["Flutter332"] = "flutter-3.32";
16798
17121
  })(exports.Runtime || (exports.Runtime = {}));
16799
17122
 
16800
17123
  exports.FunctionUsageRange = void 0;
@@ -17232,6 +17555,12 @@
17232
17555
  StatusCode["PermanentRedirect308"] = "308";
17233
17556
  })(exports.StatusCode || (exports.StatusCode = {}));
17234
17557
 
17558
+ exports.ProxyResourceType = void 0;
17559
+ (function (ProxyResourceType) {
17560
+ ProxyResourceType["Site"] = "site";
17561
+ ProxyResourceType["Function"] = "function";
17562
+ })(exports.ProxyResourceType || (exports.ProxyResourceType = {}));
17563
+
17235
17564
  exports.Framework = void 0;
17236
17565
  (function (Framework) {
17237
17566
  Framework["Analog"] = "analog";
@@ -17286,6 +17615,7 @@
17286
17615
  BuildRuntime["Dart31"] = "dart-3.1";
17287
17616
  BuildRuntime["Dart33"] = "dart-3.3";
17288
17617
  BuildRuntime["Dart35"] = "dart-3.5";
17618
+ BuildRuntime["Dart38"] = "dart-3.8";
17289
17619
  BuildRuntime["Dotnet60"] = "dotnet-6.0";
17290
17620
  BuildRuntime["Dotnet70"] = "dotnet-7.0";
17291
17621
  BuildRuntime["Dotnet80"] = "dotnet-8.0";
@@ -17312,6 +17642,7 @@
17312
17642
  BuildRuntime["Flutter324"] = "flutter-3.24";
17313
17643
  BuildRuntime["Flutter327"] = "flutter-3.27";
17314
17644
  BuildRuntime["Flutter329"] = "flutter-3.29";
17645
+ BuildRuntime["Flutter332"] = "flutter-3.32";
17315
17646
  })(exports.BuildRuntime || (exports.BuildRuntime = {}));
17316
17647
 
17317
17648
  exports.Adapter = void 0;
@@ -17355,6 +17686,7 @@
17355
17686
  ImageFormat["Webp"] = "webp";
17356
17687
  ImageFormat["Heic"] = "heic";
17357
17688
  ImageFormat["Avif"] = "avif";
17689
+ ImageFormat["Gif"] = "gif";
17358
17690
  })(exports.ImageFormat || (exports.ImageFormat = {}));
17359
17691
 
17360
17692
  exports.StorageUsageRange = void 0;