mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge remote-tracking branch 'upstream/1.8.x' into spatial-type-attributes
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \
|
||||
--no-plugins --no-scripts --prefer-dist \
|
||||
`if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi`
|
||||
|
||||
FROM appwrite/base:0.10.3 AS final
|
||||
FROM appwrite/base:0.10.4 AS final
|
||||
|
||||
LABEL maintainer="team@appwrite.io"
|
||||
|
||||
|
||||
@@ -194,12 +194,18 @@ CLI::setResource('publisher', function (Group $pools) {
|
||||
CLI::setResource('publisherDatabases', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
CLI::setResource('publisherFunctions', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
CLI::setResource('publisherMigrations', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
CLI::setResource('publisherStatsUsage', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
CLI::setResource('publisherMessaging', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
CLI::setResource('queueForStatsUsage', function (Publisher $publisher) {
|
||||
return new StatsUsage($publisher);
|
||||
}, ['publisher']);
|
||||
|
||||
@@ -1,9 +1,24 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600&display=swap">
|
||||
<link rel="preconnect" href="https://assets.appwrite.io/" crossorigin>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
src: url('https://assets.appwrite.io/fonts/dm-sans/dm-sans-v16-latin-600.woff2') format('woff2');
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
@media (max-width:500px) {
|
||||
.mobile-full-width {
|
||||
|
||||
@@ -1,9 +1,32 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600&display=swap">
|
||||
<link rel="preconnect" href="https://assets.appwrite.io/" crossorigin>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
src: url('https://assets.appwrite.io/fonts/dm-sans/dm-sans-v16-latin-600.woff2') format('woff2');
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
src: url('https://assets.appwrite.io/fonts/poppins/poppins-v23-latin-regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
body {
|
||||
padding: 32px;
|
||||
@@ -15,6 +38,7 @@
|
||||
background-color: #ffffff;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 150%;
|
||||
}
|
||||
a {
|
||||
color: currentColor;
|
||||
@@ -67,58 +91,16 @@
|
||||
border: none;
|
||||
border-top: 1px solid #e8e9f0;
|
||||
}
|
||||
h* {
|
||||
font-family: 'Poppins', sans-serif;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<head>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600&display=swap"
|
||||
rel="stylesheet">
|
||||
<style>
|
||||
a { color:currentColor; word-break: break-all; }
|
||||
body {
|
||||
background-color: #ffffff;
|
||||
padding: 32px;
|
||||
color: #616B7C;
|
||||
font-size: 15px;
|
||||
font-family: 'Inter', sans-serif;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-spacing: 0 !important;
|
||||
}
|
||||
|
||||
table,
|
||||
tr,
|
||||
th,
|
||||
td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
h* {
|
||||
font-family: 'Poppins', sans-serif;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: none;
|
||||
border-top: 1px solid #E8E9F0;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="direction: {{direction}}">
|
||||
|
||||
<div style="display: none; overflow: hidden; max-height: 0; max-width: 0; opacity: 0; line-height: 1px;">
|
||||
|
||||
@@ -226,7 +226,7 @@ return [
|
||||
[
|
||||
'key' => 'cli',
|
||||
'name' => 'Command Line',
|
||||
'version' => '9.0.0',
|
||||
'version' => '9.0.1',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-cli',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite-cli',
|
||||
'enabled' => true,
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
"weight": 30,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-j-w-t.md",
|
||||
"demo": "account\/create-jwt.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md",
|
||||
"rate-limit": 100,
|
||||
"rate-time": 3600,
|
||||
@@ -498,7 +498,7 @@
|
||||
"weight": 45,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-m-f-a.md",
|
||||
"demo": "account\/update-mfa.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -581,7 +581,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -607,7 +607,7 @@
|
||||
"demo": "account\/create-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -630,7 +630,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](\/docs\/references\/cloud\/client-web\/account#updateMfaAuthenticator) method.",
|
||||
"demo": "account\/create-m-f-a-authenticator.md"
|
||||
"demo": "account\/create-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -701,7 +701,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -729,7 +729,7 @@
|
||||
"demo": "account\/update-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -754,7 +754,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Verify an authenticator app after adding it using the [add authenticator](\/docs\/references\/cloud\/client-web\/account#createMfaAuthenticator) method.",
|
||||
"demo": "account\/update-m-f-a-authenticator.md"
|
||||
"demo": "account\/update-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -837,7 +837,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -862,7 +862,7 @@
|
||||
"demo": "account\/delete-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -884,7 +884,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete an authenticator for a user by ID.",
|
||||
"demo": "account\/delete-m-f-a-authenticator.md"
|
||||
"demo": "account\/delete-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -957,7 +957,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -983,7 +983,7 @@
|
||||
"demo": "account\/create-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1006,7 +1006,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](\/docs\/references\/cloud\/client-web\/account#updateMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-challenge.md"
|
||||
"demo": "account\/create-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1085,7 +1085,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1113,7 +1113,7 @@
|
||||
"demo": "account\/update-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1138,7 +1138,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/update-m-f-a-challenge.md"
|
||||
"demo": "account\/update-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1219,7 +1219,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1241,7 +1241,7 @@
|
||||
"demo": "account\/list-mfa-factors.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1260,7 +1260,7 @@
|
||||
}
|
||||
],
|
||||
"description": "List the factors available on the account to be used as a MFA challange.",
|
||||
"demo": "account\/list-m-f-a-factors.md"
|
||||
"demo": "account\/list-mfa-factors.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1316,7 +1316,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1338,7 +1338,7 @@
|
||||
"demo": "account\/get-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1357,7 +1357,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.",
|
||||
"demo": "account\/get-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/get-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1411,7 +1411,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1433,7 +1433,7 @@
|
||||
"demo": "account\/create-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1452,7 +1452,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/create-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1506,7 +1506,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1528,7 +1528,7 @@
|
||||
"demo": "account\/update-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1547,7 +1547,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.",
|
||||
"demo": "account\/update-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/update-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -2305,7 +2305,7 @@
|
||||
"weight": 27,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-magic-u-r-l-session.md",
|
||||
"demo": "account\/update-magic-url-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
|
||||
"rate-limit": 10,
|
||||
"rate-time": 3600,
|
||||
@@ -2316,6 +2316,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -2372,7 +2376,7 @@
|
||||
"weight": 20,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2session.md",
|
||||
"demo": "account\/create-o-auth-2-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -2525,6 +2529,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -3082,7 +3090,7 @@
|
||||
"tags": [
|
||||
"account"
|
||||
],
|
||||
"description": "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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).",
|
||||
"description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. 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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n",
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Token",
|
||||
@@ -3133,7 +3141,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "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.",
|
||||
"description": "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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"email": {
|
||||
@@ -3184,7 +3192,7 @@
|
||||
"weight": 25,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-magic-u-r-l-token.md",
|
||||
"demo": "account\/create-magic-url-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 3600,
|
||||
@@ -3215,7 +3223,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"email": {
|
||||
@@ -3264,7 +3272,7 @@
|
||||
"weight": 24,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2token.md",
|
||||
"demo": "account\/create-o-auth-2-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -3437,7 +3445,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"phone": {
|
||||
@@ -4726,7 +4734,7 @@
|
||||
"weight": 65,
|
||||
"cookies": false,
|
||||
"type": "location",
|
||||
"demo": "avatars\/get-q-r.md",
|
||||
"demo": "avatars\/get-qr.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -6316,7 +6324,7 @@
|
||||
"weight": 73,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "locale\/list-countries-e-u.md",
|
||||
"demo": "locale\/list-countries-eu.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7485,7 +7493,7 @@
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/list-rows.md",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7570,7 +7578,7 @@
|
||||
"weight": 412,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/create-row.md",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7610,7 +7618,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/create-row.md"
|
||||
"demo": "tables-db\/create-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7712,7 +7720,7 @@
|
||||
"weight": 413,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/get-row.md",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7807,7 +7815,7 @@
|
||||
"weight": 416,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/upsert-row.md",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7846,7 +7854,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/upsert-row.md"
|
||||
"demo": "tables-db\/upsert-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7943,7 +7951,7 @@
|
||||
"weight": 414,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/update-row.md",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8042,7 +8050,7 @@
|
||||
"weight": 418,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/delete-row.md",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 60,
|
||||
@@ -8126,7 +8134,7 @@
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/decrement-row-column.md",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8241,7 +8249,7 @@
|
||||
"weight": 422,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/increment-row-column.md",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -11331,7 +11339,7 @@
|
||||
},
|
||||
"$updatedAt": {
|
||||
"type": "string",
|
||||
"description": "Execution upate date in ISO 8601 format.",
|
||||
"description": "Execution update date in ISO 8601 format.",
|
||||
"x-example": "2020-10-15T06:38:00.000+00:00"
|
||||
},
|
||||
"$permissions": {
|
||||
@@ -11349,6 +11357,11 @@
|
||||
"description": "Function ID.",
|
||||
"x-example": "5e5ea6g16897e"
|
||||
},
|
||||
"deploymentId": {
|
||||
"type": "string",
|
||||
"description": "Function's deployment ID used to create the execution.",
|
||||
"x-example": "5e5ea5c16897e"
|
||||
},
|
||||
"trigger": {
|
||||
"type": "string",
|
||||
"description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.",
|
||||
@@ -11433,6 +11446,7 @@
|
||||
"$updatedAt",
|
||||
"$permissions",
|
||||
"functionId",
|
||||
"deploymentId",
|
||||
"trigger",
|
||||
"status",
|
||||
"requestMethod",
|
||||
@@ -11453,6 +11467,7 @@
|
||||
"any"
|
||||
],
|
||||
"functionId": "5e5ea6g16897e",
|
||||
"deploymentId": "5e5ea5c16897e",
|
||||
"trigger": "http",
|
||||
"status": "processing",
|
||||
"requestMethod": "GET",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -383,7 +383,7 @@
|
||||
"weight": 30,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-j-w-t.md",
|
||||
"demo": "account\/create-jwt.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md",
|
||||
"rate-limit": 100,
|
||||
"rate-time": 3600,
|
||||
@@ -498,7 +498,7 @@
|
||||
"weight": 45,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-m-f-a.md",
|
||||
"demo": "account\/update-mfa.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -581,7 +581,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -607,7 +607,7 @@
|
||||
"demo": "account\/create-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -630,7 +630,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](\/docs\/references\/cloud\/client-web\/account#updateMfaAuthenticator) method.",
|
||||
"demo": "account\/create-m-f-a-authenticator.md"
|
||||
"demo": "account\/create-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -701,7 +701,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -729,7 +729,7 @@
|
||||
"demo": "account\/update-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -754,7 +754,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Verify an authenticator app after adding it using the [add authenticator](\/docs\/references\/cloud\/client-web\/account#createMfaAuthenticator) method.",
|
||||
"demo": "account\/update-m-f-a-authenticator.md"
|
||||
"demo": "account\/update-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -837,7 +837,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -862,7 +862,7 @@
|
||||
"demo": "account\/delete-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -884,7 +884,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete an authenticator for a user by ID.",
|
||||
"demo": "account\/delete-m-f-a-authenticator.md"
|
||||
"demo": "account\/delete-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -957,7 +957,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -983,7 +983,7 @@
|
||||
"demo": "account\/create-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1006,7 +1006,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](\/docs\/references\/cloud\/client-web\/account#updateMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-challenge.md"
|
||||
"demo": "account\/create-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1085,7 +1085,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1113,7 +1113,7 @@
|
||||
"demo": "account\/update-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1138,7 +1138,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/update-m-f-a-challenge.md"
|
||||
"demo": "account\/update-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1219,7 +1219,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1241,7 +1241,7 @@
|
||||
"demo": "account\/list-mfa-factors.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1260,7 +1260,7 @@
|
||||
}
|
||||
],
|
||||
"description": "List the factors available on the account to be used as a MFA challange.",
|
||||
"demo": "account\/list-m-f-a-factors.md"
|
||||
"demo": "account\/list-mfa-factors.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1316,7 +1316,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1338,7 +1338,7 @@
|
||||
"demo": "account\/get-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1357,7 +1357,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.",
|
||||
"demo": "account\/get-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/get-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1411,7 +1411,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1433,7 +1433,7 @@
|
||||
"demo": "account\/create-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1452,7 +1452,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/create-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1506,7 +1506,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1528,7 +1528,7 @@
|
||||
"demo": "account\/update-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1547,7 +1547,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.",
|
||||
"demo": "account\/update-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/update-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -2305,7 +2305,7 @@
|
||||
"weight": 27,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-magic-u-r-l-session.md",
|
||||
"demo": "account\/update-magic-url-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
|
||||
"rate-limit": 10,
|
||||
"rate-time": 3600,
|
||||
@@ -2316,6 +2316,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -2372,7 +2376,7 @@
|
||||
"weight": 20,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2session.md",
|
||||
"demo": "account\/create-o-auth-2-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -2525,6 +2529,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -3082,7 +3090,7 @@
|
||||
"tags": [
|
||||
"account"
|
||||
],
|
||||
"description": "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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).",
|
||||
"description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. 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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n",
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Token",
|
||||
@@ -3133,7 +3141,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "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.",
|
||||
"description": "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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"email": {
|
||||
@@ -3184,7 +3192,7 @@
|
||||
"weight": 25,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-magic-u-r-l-token.md",
|
||||
"demo": "account\/create-magic-url-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 3600,
|
||||
@@ -3215,7 +3223,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"email": {
|
||||
@@ -3264,7 +3272,7 @@
|
||||
"weight": 24,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2token.md",
|
||||
"demo": "account\/create-o-auth-2-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -3437,7 +3445,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.",
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
"phone": {
|
||||
@@ -4726,7 +4734,7 @@
|
||||
"weight": 65,
|
||||
"cookies": false,
|
||||
"type": "location",
|
||||
"demo": "avatars\/get-q-r.md",
|
||||
"demo": "avatars\/get-qr.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -6316,7 +6324,7 @@
|
||||
"weight": 73,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "locale\/list-countries-e-u.md",
|
||||
"demo": "locale\/list-countries-eu.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7485,7 +7493,7 @@
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/list-rows.md",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7570,7 +7578,7 @@
|
||||
"weight": 412,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/create-row.md",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7610,7 +7618,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/create-row.md"
|
||||
"demo": "tables-db\/create-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7712,7 +7720,7 @@
|
||||
"weight": 413,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/get-row.md",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7807,7 +7815,7 @@
|
||||
"weight": 416,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/upsert-row.md",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7846,7 +7854,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/upsert-row.md"
|
||||
"demo": "tables-db\/upsert-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7943,7 +7951,7 @@
|
||||
"weight": 414,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/update-row.md",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8042,7 +8050,7 @@
|
||||
"weight": 418,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/delete-row.md",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 60,
|
||||
@@ -8126,7 +8134,7 @@
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/decrement-row-column.md",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8241,7 +8249,7 @@
|
||||
"weight": 422,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/increment-row-column.md",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -11331,7 +11339,7 @@
|
||||
},
|
||||
"$updatedAt": {
|
||||
"type": "string",
|
||||
"description": "Execution upate date in ISO 8601 format.",
|
||||
"description": "Execution update date in ISO 8601 format.",
|
||||
"x-example": "2020-10-15T06:38:00.000+00:00"
|
||||
},
|
||||
"$permissions": {
|
||||
@@ -11349,6 +11357,11 @@
|
||||
"description": "Function ID.",
|
||||
"x-example": "5e5ea6g16897e"
|
||||
},
|
||||
"deploymentId": {
|
||||
"type": "string",
|
||||
"description": "Function's deployment ID used to create the execution.",
|
||||
"x-example": "5e5ea5c16897e"
|
||||
},
|
||||
"trigger": {
|
||||
"type": "string",
|
||||
"description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.",
|
||||
@@ -11433,6 +11446,7 @@
|
||||
"$updatedAt",
|
||||
"$permissions",
|
||||
"functionId",
|
||||
"deploymentId",
|
||||
"trigger",
|
||||
"status",
|
||||
"requestMethod",
|
||||
@@ -11453,6 +11467,7 @@
|
||||
"any"
|
||||
],
|
||||
"functionId": "5e5ea6g16897e",
|
||||
"deploymentId": "5e5ea5c16897e",
|
||||
"trigger": "http",
|
||||
"status": "processing",
|
||||
"requestMethod": "GET",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -442,7 +442,7 @@
|
||||
"weight": 30,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-j-w-t.md",
|
||||
"demo": "account\/create-jwt.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md",
|
||||
"rate-limit": 100,
|
||||
"rate-time": 3600,
|
||||
@@ -558,7 +558,7 @@
|
||||
"weight": 45,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-m-f-a.md",
|
||||
"demo": "account\/update-mfa.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -644,7 +644,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -670,7 +670,7 @@
|
||||
"demo": "account\/create-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -693,7 +693,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](\/docs\/references\/cloud\/client-web\/account#updateMfaAuthenticator) method.",
|
||||
"demo": "account\/create-m-f-a-authenticator.md"
|
||||
"demo": "account\/create-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -764,7 +764,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -792,7 +792,7 @@
|
||||
"demo": "account\/update-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -817,7 +817,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Verify an authenticator app after adding it using the [add authenticator](\/docs\/references\/cloud\/client-web\/account#createMfaAuthenticator) method.",
|
||||
"demo": "account\/update-m-f-a-authenticator.md"
|
||||
"demo": "account\/update-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -901,7 +901,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -926,7 +926,7 @@
|
||||
"demo": "account\/delete-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -948,7 +948,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete an authenticator for a user by ID.",
|
||||
"demo": "account\/delete-m-f-a-authenticator.md"
|
||||
"demo": "account\/delete-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1021,7 +1021,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1047,7 +1047,7 @@
|
||||
"demo": "account\/create-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1070,7 +1070,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](\/docs\/references\/cloud\/client-web\/account#updateMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-challenge.md"
|
||||
"demo": "account\/create-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1152,7 +1152,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1180,7 +1180,7 @@
|
||||
"demo": "account\/update-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1205,7 +1205,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/update-m-f-a-challenge.md"
|
||||
"demo": "account\/update-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1288,7 +1288,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1310,7 +1310,7 @@
|
||||
"demo": "account\/list-mfa-factors.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1329,7 +1329,7 @@
|
||||
}
|
||||
],
|
||||
"description": "List the factors available on the account to be used as a MFA challange.",
|
||||
"demo": "account\/list-m-f-a-factors.md"
|
||||
"demo": "account\/list-mfa-factors.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1385,7 +1385,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1407,7 +1407,7 @@
|
||||
"demo": "account\/get-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1426,7 +1426,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.",
|
||||
"demo": "account\/get-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/get-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1482,7 +1482,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1504,7 +1504,7 @@
|
||||
"demo": "account\/create-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1523,7 +1523,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/create-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1579,7 +1579,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1601,7 +1601,7 @@
|
||||
"demo": "account\/update-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1620,7 +1620,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.",
|
||||
"demo": "account\/update-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/update-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -2413,7 +2413,7 @@
|
||||
"weight": 27,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-magic-u-r-l-session.md",
|
||||
"demo": "account\/update-magic-url-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
|
||||
"rate-limit": 10,
|
||||
"rate-time": 3600,
|
||||
@@ -2424,6 +2424,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -2486,7 +2490,7 @@
|
||||
"weight": 20,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2session.md",
|
||||
"demo": "account\/create-o-auth-2-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -2634,6 +2638,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -3211,7 +3219,7 @@
|
||||
"tags": [
|
||||
"account"
|
||||
],
|
||||
"description": "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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).",
|
||||
"description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. 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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n",
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Token",
|
||||
@@ -3259,7 +3267,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "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.",
|
||||
"description": "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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -3314,7 +3322,7 @@
|
||||
"weight": 25,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-magic-u-r-l-token.md",
|
||||
"demo": "account\/create-magic-url-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 3600,
|
||||
@@ -3346,7 +3354,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -3402,7 +3410,7 @@
|
||||
"weight": 24,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2token.md",
|
||||
"demo": "account\/create-o-auth-2-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -3571,7 +3579,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -4877,7 +4885,7 @@
|
||||
"weight": 65,
|
||||
"cookies": false,
|
||||
"type": "location",
|
||||
"demo": "avatars\/get-q-r.md",
|
||||
"demo": "avatars\/get-qr.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -6448,7 +6456,7 @@
|
||||
"weight": 73,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "locale\/list-countries-e-u.md",
|
||||
"demo": "locale\/list-countries-eu.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7567,7 +7575,7 @@
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/list-rows.md",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7648,7 +7656,7 @@
|
||||
"weight": 412,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/create-row.md",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7687,7 +7695,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/create-row.md"
|
||||
"demo": "tables-db\/create-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7787,7 +7795,7 @@
|
||||
"weight": 413,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/get-row.md",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7876,7 +7884,7 @@
|
||||
"weight": 416,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/upsert-row.md",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7914,7 +7922,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/upsert-row.md"
|
||||
"demo": "tables-db\/upsert-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -8007,7 +8015,7 @@
|
||||
"weight": 414,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/update-row.md",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8103,7 +8111,7 @@
|
||||
"weight": 418,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/delete-row.md",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 60,
|
||||
@@ -8182,7 +8190,7 @@
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/decrement-row-column.md",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8290,7 +8298,7 @@
|
||||
"weight": 422,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/increment-row-column.md",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -11330,7 +11338,7 @@
|
||||
},
|
||||
"$updatedAt": {
|
||||
"type": "string",
|
||||
"description": "Execution upate date in ISO 8601 format.",
|
||||
"description": "Execution update date in ISO 8601 format.",
|
||||
"x-example": "2020-10-15T06:38:00.000+00:00"
|
||||
},
|
||||
"$permissions": {
|
||||
@@ -11348,6 +11356,11 @@
|
||||
"description": "Function ID.",
|
||||
"x-example": "5e5ea6g16897e"
|
||||
},
|
||||
"deploymentId": {
|
||||
"type": "string",
|
||||
"description": "Function's deployment ID used to create the execution.",
|
||||
"x-example": "5e5ea5c16897e"
|
||||
},
|
||||
"trigger": {
|
||||
"type": "string",
|
||||
"description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.",
|
||||
@@ -11434,6 +11447,7 @@
|
||||
"$updatedAt",
|
||||
"$permissions",
|
||||
"functionId",
|
||||
"deploymentId",
|
||||
"trigger",
|
||||
"status",
|
||||
"requestMethod",
|
||||
@@ -11454,6 +11468,7 @@
|
||||
"any"
|
||||
],
|
||||
"functionId": "5e5ea6g16897e",
|
||||
"deploymentId": "5e5ea5c16897e",
|
||||
"trigger": "http",
|
||||
"status": "processing",
|
||||
"requestMethod": "GET",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -442,7 +442,7 @@
|
||||
"weight": 30,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-j-w-t.md",
|
||||
"demo": "account\/create-jwt.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md",
|
||||
"rate-limit": 100,
|
||||
"rate-time": 3600,
|
||||
@@ -558,7 +558,7 @@
|
||||
"weight": 45,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-m-f-a.md",
|
||||
"demo": "account\/update-mfa.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -644,7 +644,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -670,7 +670,7 @@
|
||||
"demo": "account\/create-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAAuthenticator"
|
||||
"replaceWith": "account.createMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -693,7 +693,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](\/docs\/references\/cloud\/client-web\/account#updateMfaAuthenticator) method.",
|
||||
"demo": "account\/create-m-f-a-authenticator.md"
|
||||
"demo": "account\/create-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -764,7 +764,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -792,7 +792,7 @@
|
||||
"demo": "account\/update-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAAuthenticator"
|
||||
"replaceWith": "account.updateMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -817,7 +817,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Verify an authenticator app after adding it using the [add authenticator](\/docs\/references\/cloud\/client-web\/account#createMfaAuthenticator) method.",
|
||||
"demo": "account\/update-m-f-a-authenticator.md"
|
||||
"demo": "account\/update-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -901,7 +901,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -926,7 +926,7 @@
|
||||
"demo": "account\/delete-mfa-authenticator.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "deleteMFAAuthenticator"
|
||||
"replaceWith": "account.deleteMFAAuthenticator"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -948,7 +948,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete an authenticator for a user by ID.",
|
||||
"demo": "account\/delete-m-f-a-authenticator.md"
|
||||
"demo": "account\/delete-mfa-authenticator.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1021,7 +1021,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1047,7 +1047,7 @@
|
||||
"demo": "account\/create-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFAChallenge"
|
||||
"replaceWith": "account.createMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1070,7 +1070,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](\/docs\/references\/cloud\/client-web\/account#updateMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-challenge.md"
|
||||
"demo": "account\/create-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1152,7 +1152,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1180,7 +1180,7 @@
|
||||
"demo": "account\/update-mfa-challenge.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFAChallenge"
|
||||
"replaceWith": "account.updateMFAChallenge"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1205,7 +1205,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/update-m-f-a-challenge.md"
|
||||
"demo": "account\/update-mfa-challenge.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1288,7 +1288,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1310,7 +1310,7 @@
|
||||
"demo": "account\/list-mfa-factors.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "listMFAFactors"
|
||||
"replaceWith": "account.listMFAFactors"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1329,7 +1329,7 @@
|
||||
}
|
||||
],
|
||||
"description": "List the factors available on the account to be used as a MFA challange.",
|
||||
"demo": "account\/list-m-f-a-factors.md"
|
||||
"demo": "account\/list-mfa-factors.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1385,7 +1385,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1407,7 +1407,7 @@
|
||||
"demo": "account\/get-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "getMFARecoveryCodes"
|
||||
"replaceWith": "account.getMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1426,7 +1426,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.",
|
||||
"demo": "account\/get-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/get-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1482,7 +1482,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1504,7 +1504,7 @@
|
||||
"demo": "account\/create-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "createMFARecoveryCodes"
|
||||
"replaceWith": "account.createMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1523,7 +1523,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
|
||||
"demo": "account\/create-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/create-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -1579,7 +1579,7 @@
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
},
|
||||
"methods": [
|
||||
{
|
||||
@@ -1601,7 +1601,7 @@
|
||||
"demo": "account\/update-mfa-recovery-codes.md",
|
||||
"deprecated": {
|
||||
"since": "1.8.0",
|
||||
"replaceWith": "updateMFARecoveryCodes"
|
||||
"replaceWith": "account.updateMFARecoveryCodes"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1620,7 +1620,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.",
|
||||
"demo": "account\/update-m-f-a-recovery-codes.md"
|
||||
"demo": "account\/update-mfa-recovery-codes.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -2413,7 +2413,7 @@
|
||||
"weight": 27,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/update-magic-u-r-l-session.md",
|
||||
"demo": "account\/update-magic-url-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
|
||||
"rate-limit": 10,
|
||||
"rate-time": 3600,
|
||||
@@ -2424,6 +2424,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -2486,7 +2490,7 @@
|
||||
"weight": 20,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2session.md",
|
||||
"demo": "account\/create-o-auth-2-session.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -2634,6 +2638,10 @@
|
||||
"client"
|
||||
],
|
||||
"packaging": false,
|
||||
"deprecated": {
|
||||
"since": "1.6.0",
|
||||
"replaceWith": "account.createSession"
|
||||
},
|
||||
"auth": {
|
||||
"Project": []
|
||||
}
|
||||
@@ -3211,7 +3219,7 @@
|
||||
"tags": [
|
||||
"account"
|
||||
],
|
||||
"description": "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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).",
|
||||
"description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. 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's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n",
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Token",
|
||||
@@ -3259,7 +3267,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "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.",
|
||||
"description": "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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -3314,7 +3322,7 @@
|
||||
"weight": 25,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "account\/create-magic-u-r-l-token.md",
|
||||
"demo": "account\/create-magic-url-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 3600,
|
||||
@@ -3346,7 +3354,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -3402,7 +3410,7 @@
|
||||
"weight": 24,
|
||||
"cookies": false,
|
||||
"type": "webAuth",
|
||||
"demo": "account\/create-o-auth2token.md",
|
||||
"demo": "account\/create-o-auth-2-token.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md",
|
||||
"rate-limit": 50,
|
||||
"rate-time": 3600,
|
||||
@@ -3571,7 +3579,7 @@
|
||||
"properties": {
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "Unique 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.",
|
||||
"description": "Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.",
|
||||
"default": null,
|
||||
"x-example": "<USER_ID>"
|
||||
},
|
||||
@@ -4877,7 +4885,7 @@
|
||||
"weight": 65,
|
||||
"cookies": false,
|
||||
"type": "location",
|
||||
"demo": "avatars\/get-q-r.md",
|
||||
"demo": "avatars\/get-qr.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -6448,7 +6456,7 @@
|
||||
"weight": 73,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "locale\/list-countries-e-u.md",
|
||||
"demo": "locale\/list-countries-eu.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7567,7 +7575,7 @@
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/list-rows.md",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7648,7 +7656,7 @@
|
||||
"weight": 412,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/create-row.md",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7687,7 +7695,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/create-row.md"
|
||||
"demo": "tables-db\/create-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -7787,7 +7795,7 @@
|
||||
"weight": 413,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/get-row.md",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md",
|
||||
"rate-limit": 0,
|
||||
"rate-time": 3600,
|
||||
@@ -7876,7 +7884,7 @@
|
||||
"weight": 416,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/upsert-row.md",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -7914,7 +7922,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/tablesdb#tablesDBCreateTable) API or directly from your database console.",
|
||||
"demo": "tables-d-b\/upsert-row.md"
|
||||
"demo": "tables-db\/upsert-row.md"
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -8007,7 +8015,7 @@
|
||||
"weight": 414,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/update-row.md",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8103,7 +8111,7 @@
|
||||
"weight": 418,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/delete-row.md",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md",
|
||||
"rate-limit": 60,
|
||||
"rate-time": 60,
|
||||
@@ -8182,7 +8190,7 @@
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/decrement-row-column.md",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -8290,7 +8298,7 @@
|
||||
"weight": 422,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tables-d-b\/increment-row-column.md",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md",
|
||||
"rate-limit": 120,
|
||||
"rate-time": 60,
|
||||
@@ -11330,7 +11338,7 @@
|
||||
},
|
||||
"$updatedAt": {
|
||||
"type": "string",
|
||||
"description": "Execution upate date in ISO 8601 format.",
|
||||
"description": "Execution update date in ISO 8601 format.",
|
||||
"x-example": "2020-10-15T06:38:00.000+00:00"
|
||||
},
|
||||
"$permissions": {
|
||||
@@ -11348,6 +11356,11 @@
|
||||
"description": "Function ID.",
|
||||
"x-example": "5e5ea6g16897e"
|
||||
},
|
||||
"deploymentId": {
|
||||
"type": "string",
|
||||
"description": "Function's deployment ID used to create the execution.",
|
||||
"x-example": "5e5ea5c16897e"
|
||||
},
|
||||
"trigger": {
|
||||
"type": "string",
|
||||
"description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.",
|
||||
@@ -11434,6 +11447,7 @@
|
||||
"$updatedAt",
|
||||
"$permissions",
|
||||
"functionId",
|
||||
"deploymentId",
|
||||
"trigger",
|
||||
"status",
|
||||
"requestMethod",
|
||||
@@ -11454,6 +11468,7 @@
|
||||
"any"
|
||||
],
|
||||
"functionId": "5e5ea6g16897e",
|
||||
"deploymentId": "5e5ea5c16897e",
|
||||
"trigger": "http",
|
||||
"status": "processing",
|
||||
"requestMethod": "GET",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1006,7 +1006,7 @@ return [
|
||||
getFramework('NEXTJS', [
|
||||
'providerRootDirectory' => './',
|
||||
'installCommand' => 'pnpm install',
|
||||
'buildCommand' => 'npm run build',
|
||||
'buildCommand' => 'pnpm build',
|
||||
]),
|
||||
],
|
||||
'vcsProvider' => 'github',
|
||||
@@ -1015,7 +1015,7 @@ return [
|
||||
'providerVersion' => '0.1.*',
|
||||
'variables' => [
|
||||
[
|
||||
'name' => 'NEXT_PUBLIC_APPWRITE_FUNCTION_PROJECT_ID',
|
||||
'name' => 'NEXT_PUBLIC_APPWRITE_FUNCTION_API_ENDPOINT',
|
||||
'description' => 'Endpoint of Appwrite server',
|
||||
'value' => '{apiEndpoint}',
|
||||
'placeholder' => '{apiEndpoint}',
|
||||
@@ -1023,7 +1023,7 @@ return [
|
||||
'type' => 'text'
|
||||
],
|
||||
[
|
||||
'name' => 'NEXT_PUBLIC_APPWRITE_FUNCTION_API_ENDPOINT',
|
||||
'name' => 'NEXT_PUBLIC_APPWRITE_FUNCTION_PROJECT_ID',
|
||||
'description' => 'Your Appwrite project ID',
|
||||
'value' => '{projectId}',
|
||||
'placeholder' => '{projectId}',
|
||||
|
||||
@@ -2419,7 +2419,10 @@ App::put('/v1/account/sessions/magic-url')
|
||||
)
|
||||
],
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: true,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.6.0',
|
||||
replaceWith: 'account.createSession'
|
||||
),
|
||||
))
|
||||
->label('abuse-limit', 10)
|
||||
->label('abuse-key', 'ip:{ip},userId:{param-userId}')
|
||||
@@ -2457,7 +2460,10 @@ App::put('/v1/account/sessions/phone')
|
||||
)
|
||||
],
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: true,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.6.0',
|
||||
replaceWith: 'account.createSession'
|
||||
),
|
||||
))
|
||||
->label('abuse-limit', 10)
|
||||
->label('abuse-key', 'ip:{ip},userId:{param-userId}')
|
||||
@@ -4025,7 +4031,7 @@ App::get('/v1/account/mfa/factors')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'listMFAFactors',
|
||||
replaceWith: 'account.listMFAFactors',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4086,7 +4092,7 @@ App::post('/v1/account/mfa/authenticators/:type')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createMFAAuthenticator',
|
||||
replaceWith: 'account.createMFAAuthenticator',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4183,7 +4189,7 @@ App::put('/v1/account/mfa/authenticators/:type')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateMFAAuthenticator',
|
||||
replaceWith: 'account.updateMFAAuthenticator',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4273,7 +4279,7 @@ App::post('/v1/account/mfa/recovery-codes')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createMFARecoveryCodes',
|
||||
replaceWith: 'account.createMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4340,7 +4346,7 @@ App::patch('/v1/account/mfa/recovery-codes')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateMFARecoveryCodes',
|
||||
replaceWith: 'account.updateMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4402,7 +4408,7 @@ App::get('/v1/account/mfa/recovery-codes')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'getMFARecoveryCodes',
|
||||
replaceWith: 'account.getMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4461,7 +4467,7 @@ App::delete('/v1/account/mfa/authenticators/:type')
|
||||
contentType: ContentType::NONE,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'deleteMFAAuthenticator',
|
||||
replaceWith: 'account.deleteMFAAuthenticator',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4527,7 +4533,7 @@ App::post('/v1/account/mfa/challenge')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createMFAChallenge',
|
||||
replaceWith: 'account.createMFAChallenge',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4769,7 +4775,7 @@ App::put('/v1/account/mfa/challenge')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateMFAChallenge',
|
||||
replaceWith: 'account.updateMFAChallenge',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
|
||||
@@ -556,12 +556,12 @@ App::get('/v1/health/queue/deletes')
|
||||
contentType: ContentType::JSON
|
||||
))
|
||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||
->inject('publisher')
|
||||
->inject('publisherDeletes')
|
||||
->inject('response')
|
||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
||||
->action(function (int|string $threshold, Publisher $publisherDeletes, Response $response) {
|
||||
$threshold = \intval($threshold);
|
||||
|
||||
$size = $publisher->getQueueSize(new Queue(Event::DELETE_QUEUE_NAME));
|
||||
$size = $publisherDeletes->getQueueSize(new Queue(Event::DELETE_QUEUE_NAME));
|
||||
|
||||
if ($size >= $threshold) {
|
||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||
@@ -589,12 +589,12 @@ App::get('/v1/health/queue/mails')
|
||||
contentType: ContentType::JSON
|
||||
))
|
||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||
->inject('publisher')
|
||||
->inject('publisherMails')
|
||||
->inject('response')
|
||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
||||
->action(function (int|string $threshold, Publisher $publisherMails, Response $response) {
|
||||
$threshold = \intval($threshold);
|
||||
|
||||
$size = $publisher->getQueueSize(new Queue(Event::MAILS_QUEUE_NAME));
|
||||
$size = $publisherMails->getQueueSize(new Queue(Event::MAILS_QUEUE_NAME));
|
||||
|
||||
if ($size >= $threshold) {
|
||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||
@@ -622,12 +622,12 @@ App::get('/v1/health/queue/messaging')
|
||||
contentType: ContentType::JSON
|
||||
))
|
||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||
->inject('publisher')
|
||||
->inject('publisherMessaging')
|
||||
->inject('response')
|
||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
||||
->action(function (int|string $threshold, Publisher $publisherMessaging, Response $response) {
|
||||
$threshold = \intval($threshold);
|
||||
|
||||
$size = $publisher->getQueueSize(new Queue(Event::MESSAGING_QUEUE_NAME));
|
||||
$size = $publisherMessaging->getQueueSize(new Queue(Event::MESSAGING_QUEUE_NAME));
|
||||
|
||||
if ($size >= $threshold) {
|
||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||
@@ -688,12 +688,12 @@ App::get('/v1/health/queue/functions')
|
||||
contentType: ContentType::JSON
|
||||
))
|
||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||
->inject('publisher')
|
||||
->inject('publisherFunctions')
|
||||
->inject('response')
|
||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
||||
->action(function (int|string $threshold, Publisher $publisherFunctions, Response $response) {
|
||||
$threshold = \intval($threshold);
|
||||
|
||||
$size = $publisher->getQueueSize(new Queue(Event::FUNCTIONS_QUEUE_NAME));
|
||||
$size = $publisherFunctions->getQueueSize(new Queue(Event::FUNCTIONS_QUEUE_NAME));
|
||||
|
||||
if ($size >= $threshold) {
|
||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||
|
||||
@@ -254,7 +254,7 @@ App::post('/v1/messaging/providers/smtp')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createSMTPProvider',
|
||||
replaceWith: 'messaging.createSMTPProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -787,7 +787,7 @@ App::post('/v1/messaging/providers/fcm')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createFCMProvider',
|
||||
replaceWith: 'messaging.createFCMProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -876,7 +876,7 @@ App::post('/v1/messaging/providers/apns')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createAPNSProvider',
|
||||
replaceWith: 'messaging.createAPNSProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -1395,7 +1395,7 @@ App::patch('/v1/messaging/providers/smtp/:providerId')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateSMTPProvider',
|
||||
replaceWith: 'messaging.updateSMTPProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -1986,7 +1986,7 @@ App::patch('/v1/messaging/providers/fcm/:providerId')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateFCMProvider',
|
||||
replaceWith: 'messaging.updateFCMProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2081,7 +2081,7 @@ App::patch('/v1/messaging/providers/apns/:providerId')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateAPNSProvider',
|
||||
replaceWith: 'messaging.updateAPNSProvider',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -3154,7 +3154,7 @@ App::post('/v1/messaging/messages/sms')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createSMS',
|
||||
replaceWith: 'messaging.createSMS',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -4000,7 +4000,7 @@ App::patch('/v1/messaging/messages/sms/:messageId')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateSMS',
|
||||
replaceWith: 'messaging.updateSMS',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
|
||||
@@ -635,7 +635,7 @@ App::patch('/v1/projects/:projectId/api')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateAPIStatus',
|
||||
replaceWith: 'projects.updateAPIStatus',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -692,7 +692,7 @@ App::patch('/v1/projects/:projectId/api/all')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateAPIStatusAll',
|
||||
replaceWith: 'projects.updateAPIStatusAll',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2072,7 +2072,7 @@ App::patch('/v1/projects/:projectId/smtp')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateSMTP',
|
||||
replaceWith: 'projects.updateSMTP',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2188,7 +2188,7 @@ App::post('/v1/projects/:projectId/smtp/tests')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createSMTPTest',
|
||||
replaceWith: 'projects.createSMTPTest',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2282,7 +2282,7 @@ App::get('/v1/projects/:projectId/templates/sms/:type/:locale')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'getSMSTemplate',
|
||||
replaceWith: 'projects.getSMSTemplate',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2448,7 +2448,7 @@ App::patch('/v1/projects/:projectId/templates/sms/:type/:locale')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateSMSTemplate',
|
||||
replaceWith: 'projects.updateSMSTemplate',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2572,7 +2572,7 @@ App::delete('/v1/projects/:projectId/templates/sms/:type/:locale')
|
||||
contentType: ContentType::JSON,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'deleteSMSTemplate',
|
||||
replaceWith: 'projects.deleteSMSTemplate',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
|
||||
@@ -1772,7 +1772,7 @@ App::patch('/v1/users/:userId/mfa')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateMFA',
|
||||
replaceWith: 'users.updateMFA',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -1831,7 +1831,7 @@ App::get('/v1/users/:userId/mfa/factors')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'listMFAFactors',
|
||||
replaceWith: 'users.listMFAFactors',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -1889,7 +1889,7 @@ App::get('/v1/users/:userId/mfa/recovery-codes')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'getMFARecoveryCodes',
|
||||
replaceWith: 'users.getMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -1953,7 +1953,7 @@ App::patch('/v1/users/:userId/mfa/recovery-codes')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'createMFARecoveryCodes',
|
||||
replaceWith: 'users.createMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2024,7 +2024,7 @@ App::put('/v1/users/:userId/mfa/recovery-codes')
|
||||
],
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'updateMFARecoveryCodes',
|
||||
replaceWith: 'users.updateMFARecoveryCodes',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
@@ -2095,7 +2095,7 @@ App::delete('/v1/users/:userId/mfa/authenticators/:type')
|
||||
contentType: ContentType::NONE,
|
||||
deprecated: new Deprecated(
|
||||
since: '1.8.0',
|
||||
replaceWith: 'deleteMFAAuthenticator',
|
||||
replaceWith: 'users.deleteMFAAuthenticator',
|
||||
),
|
||||
),
|
||||
new Method(
|
||||
|
||||
@@ -624,8 +624,8 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
|
||||
if (\is_string($logs) && \strlen($logs) > $maxLogLength) {
|
||||
$warningMessage = "[WARNING] Logs truncated. The output exceeded {$maxLogLength} characters.\n";
|
||||
$warningLength = \strlen($warningMessage);
|
||||
$maxContentLength = $maxLogLength - $warningLength;
|
||||
$logs = $warningMessage . \substr($logs, -$maxContentLength);
|
||||
$maxContentLength = max(0, $maxLogLength - $warningLength);
|
||||
$logs = $warningMessage . ($maxContentLength > 0 ? \substr($logs, -$maxContentLength) : '');
|
||||
}
|
||||
|
||||
// Truncate errors if they exceed the limit
|
||||
@@ -635,10 +635,9 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
|
||||
if (\is_string($errors) && \strlen($errors) > $maxErrorLength) {
|
||||
$warningMessage = "[WARNING] Errors truncated. The output exceeded {$maxErrorLength} characters.\n";
|
||||
$warningLength = \strlen($warningMessage);
|
||||
$maxContentLength = $maxErrorLength - $warningLength;
|
||||
$errors = $warningMessage . \substr($errors, -$maxContentLength);
|
||||
$maxContentLength = max(0, $maxErrorLength - $warningLength);
|
||||
$errors = $warningMessage . ($maxContentLength > 0 ? \substr($errors, -$maxContentLength) : '');
|
||||
}
|
||||
|
||||
/** Update execution status */
|
||||
$status = $executionResponse['statusCode'] >= 500 ? 'failed' : 'completed';
|
||||
$execution->setAttribute('status', $status);
|
||||
|
||||
@@ -29,6 +29,7 @@ use Utopia\Database\DateTime;
|
||||
use Utopia\Database\Document;
|
||||
use Utopia\Database\Helpers\Role;
|
||||
use Utopia\Database\Validator\Authorization;
|
||||
use Utopia\Queue\Broker\Pool as BrokerPool;
|
||||
use Utopia\Queue\Publisher;
|
||||
use Utopia\System\System;
|
||||
use Utopia\Telemetry\Adapter as Telemetry;
|
||||
@@ -60,6 +61,12 @@ $parseLabel = function (string $label, array $responsePayload, array $requestPar
|
||||
return $label;
|
||||
};
|
||||
|
||||
/**
|
||||
* This isolated event handling for `users.*.create` which is based on a `Database::EVENT_DOCUMENT_CREATE` listener may look odd, but it is **intentional**.
|
||||
*
|
||||
* Accounts can be created in many ways beyond `createAccount`
|
||||
* (anonymous, OAuth, phone, etc.), and those flows are probably not covered in event tests; so we handle this here.
|
||||
*/
|
||||
$eventDatabaseListener = function (Document $project, Document $document, Response $response, Event $queueForEvents, Func $queueForFunctions, Webhook $queueForWebhooks, Realtime $queueForRealtime) {
|
||||
// Only trigger events for user creation with the database listener.
|
||||
if ($document->getCollection() !== 'users') {
|
||||
@@ -408,6 +415,7 @@ App::init()
|
||||
->inject('project')
|
||||
->inject('user')
|
||||
->inject('publisher')
|
||||
->inject('publisherFunctions')
|
||||
->inject('queueForEvents')
|
||||
->inject('queueForMessaging')
|
||||
->inject('queueForAudits')
|
||||
@@ -423,7 +431,7 @@ App::init()
|
||||
->inject('plan')
|
||||
->inject('devKey')
|
||||
->inject('telemetry')
|
||||
->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Telemetry $telemetry) use ($usageDatabaseListener, $eventDatabaseListener) {
|
||||
->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, BrokerPool $publisherFunctions, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Telemetry $telemetry) use ($usageDatabaseListener, $eventDatabaseListener) {
|
||||
|
||||
$route = $utopia->getRoute();
|
||||
|
||||
@@ -535,7 +543,7 @@ App::init()
|
||||
// Clone the queues, to prevent events triggered by the database listener
|
||||
// from overwriting the events that are supposed to be triggered in the shutdown hook.
|
||||
$queueForEventsClone = new Event($publisher);
|
||||
$queueForFunctions = new Func($publisher);
|
||||
$queueForFunctions = new Func($publisherFunctions);
|
||||
$queueForWebhooks = new Webhook($publisher);
|
||||
$queueForRealtime = new Realtime();
|
||||
|
||||
|
||||
+12
-12
@@ -87,24 +87,24 @@ App::setResource('publisher', function (Group $pools) {
|
||||
App::setResource('publisherDatabases', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('publisherFunctions', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('publisherMigrations', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('publisherStatsUsage', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('consumer', function (Group $pools) {
|
||||
return new BrokerPool(consumer: $pools->get('consumer'));
|
||||
}, ['pools']);
|
||||
App::setResource('consumerDatabases', function (BrokerPool $consumer) {
|
||||
return $consumer;
|
||||
}, ['consumer']);
|
||||
App::setResource('consumerMigrations', function (BrokerPool $consumer) {
|
||||
return $consumer;
|
||||
}, ['consumer']);
|
||||
App::setResource('consumerStatsUsage', function (BrokerPool $consumer) {
|
||||
return $consumer;
|
||||
}, ['consumer']);
|
||||
App::setResource('publisherMails', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('publisherDeletes', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('publisherMessaging', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
App::setResource('queueForMessaging', function (Publisher $publisher) {
|
||||
return new Messaging($publisher);
|
||||
}, ['publisher']);
|
||||
|
||||
@@ -6,26 +6,29 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>404 Not Found</title>
|
||||
|
||||
<link rel="preconnect" href="https://fonts.appwrite.io/">
|
||||
<link rel="preconnect" href="https://assets.appwrite.io/" crossorigin>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://fonts.appwrite.io/inter/Inter-Regular.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://fonts.appwrite.io/inter/Inter-Medium.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Medium.woff2') format('woff2');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('https://fonts.appwrite.io/fira-code/FiraCode-Regular.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/fira-code/FiraCode-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
|
||||
@@ -107,18 +107,18 @@ switch ($type) {
|
||||
<link rel="icon" type="image/svg+xml" href="<?php echo $url; ?>/images/logos/appwrite-icon.svg" />
|
||||
<link rel="mask-icon" type="image/png" href="<?php echo $url; ?>/images/logos/appwrite-icon.png" />
|
||||
|
||||
<link rel="preconnect" href="https://fonts.appwrite.io/" crossorigin>
|
||||
<link rel="preconnect" href="https://assets.appwrite.io/" crossorigin>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://fonts.appwrite.io/inter/Inter-Regular.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
src: url('https://fonts.appwrite.io/inter/Inter-Medium.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/inter/Inter-Medium.woff2') format('woff2');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
@@ -126,7 +126,7 @@ switch ($type) {
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('https://fonts.appwrite.io/fira-code/FiraCode-Regular.woff2') format('woff2');
|
||||
src: url('https://assets.appwrite.io/fonts/fira-code/FiraCode-Regular.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
|
||||
@@ -251,6 +251,10 @@ Server::setResource('publisherDatabases', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
|
||||
Server::setResource('publisherFunctions', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
|
||||
Server::setResource('publisherMigrations', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
@@ -259,6 +263,10 @@ Server::setResource('publisherStatsUsage', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
|
||||
Server::setResource('publisherMessaging', function (BrokerPool $publisher) {
|
||||
return $publisher;
|
||||
}, ['publisher']);
|
||||
|
||||
Server::setResource('consumer', function (Group $pools) {
|
||||
return new BrokerPool(consumer: $pools->get('consumer'));
|
||||
}, ['pools']);
|
||||
|
||||
Generated
+8
-7
@@ -3557,16 +3557,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/database",
|
||||
"version": "dev-spatial-attribute-support",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ArnabChatterjee20k/php-utopia-database.git",
|
||||
"reference": "88998edfc808821fc0c04883b922335ae090e5b5"
|
||||
"url": "https://github.com/utopia-php/database.git",
|
||||
"reference": "653e19d26c5607b9dce917c50737824772cd3dd8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ArnabChatterjee20k/php-utopia-database/zipball/88998edfc808821fc0c04883b922335ae090e5b5",
|
||||
"reference": "88998edfc808821fc0c04883b922335ae090e5b5",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/653e19d26c5607b9dce917c50737824772cd3dd8",
|
||||
"reference": "653e19d26c5607b9dce917c50737824772cd3dd8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3637,9 +3637,10 @@
|
||||
"utopia"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/ArnabChatterjee20k/php-utopia-database/tree/spatial-attribute-support"
|
||||
"issues": "https://github.com/utopia-php/database/issues",
|
||||
"source": "https://github.com/utopia-php/database/tree/1.2.0"
|
||||
},
|
||||
"time": "2025-08-26T15:18:37+00:00"
|
||||
"time": "2025-08-26T12:51:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/detector",
|
||||
|
||||
@@ -9,7 +9,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.createMfaAuthenticator(
|
||||
account.createMFAAuthenticator(
|
||||
AuthenticatorType.TOTP, // type
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
||||
@@ -9,7 +9,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.createMfaChallenge(
|
||||
account.createMFAChallenge(
|
||||
AuthenticationFactor.EMAIL, // factor
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
||||
@@ -8,7 +8,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.createMfaRecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
account.createMFARecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
|
||||
@@ -9,7 +9,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.deleteMfaAuthenticator(
|
||||
account.deleteMFAAuthenticator(
|
||||
AuthenticatorType.TOTP, // type
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
||||
@@ -8,7 +8,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.getMfaRecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
account.getMFARecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
|
||||
@@ -8,7 +8,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.listMfaFactors(new CoroutineCallback<>((result, error) -> {
|
||||
account.listMFAFactors(new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
|
||||
@@ -9,7 +9,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.updateMfaAuthenticator(
|
||||
account.updateMFAAuthenticator(
|
||||
AuthenticatorType.TOTP, // type
|
||||
"<OTP>", // otp
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
|
||||
@@ -8,7 +8,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.updateMfaChallenge(
|
||||
account.updateMFAChallenge(
|
||||
"<CHALLENGE_ID>", // challengeId
|
||||
"<OTP>", // otp
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
|
||||
@@ -8,7 +8,7 @@ Client client = new Client(context)
|
||||
|
||||
Account account = new Account(client);
|
||||
|
||||
account.updateMfaRecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
account.updateMFARecoveryCodes(new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Databases;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setAdmin("") //
|
||||
.setKey(""); //
|
||||
|
||||
Databases databases = new Databases(client);
|
||||
|
||||
databases.createDocuments(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<COLLECTION_ID>", // collectionId
|
||||
listOf(), // documents
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.createRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
"<ROW_ID>", // rowId
|
||||
mapOf( "a" to "b" ), // data
|
||||
listOf("read("any")"), // permissions (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.deleteRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
"<ROW_ID>", // rowId
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.getRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
"<ROW_ID>", // rowId
|
||||
listOf(), // queries (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.listRows(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
listOf(), // queries (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.updateRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
"<ROW_ID>", // rowId
|
||||
mapOf( "a" to "b" ), // data (optional)
|
||||
listOf("read("any")"), // permissions (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.Grids;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
Grids grids = new Grids(client);
|
||||
|
||||
grids.upsertRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
"<TABLE_ID>", // tableId
|
||||
"<ROW_ID>", // rowId
|
||||
mapOf( "a" to "b" ), // data (optional)
|
||||
listOf("read("any")"), // permissions (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("Appwrite", result.toString());
|
||||
})
|
||||
);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.createRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.decrementRowColumn(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.deleteRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.getRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.incrementRowColumn(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.listRows(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.updateRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client;
|
||||
import io.appwrite.coroutines.CoroutineCallback;
|
||||
import io.appwrite.services.TablesDb;
|
||||
import io.appwrite.services.TablesDB;
|
||||
|
||||
Client client = new Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
|
||||
|
||||
TablesDb tablesDB = new TablesDb(client);
|
||||
TablesDB tablesDB = new TablesDB(client);
|
||||
|
||||
tablesDB.upsertRow(
|
||||
"<DATABASE_ID>", // databaseId
|
||||
|
||||
@@ -9,6 +9,6 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.createMfaAuthenticator(
|
||||
val result = account.createMFAAuthenticator(
|
||||
type = AuthenticatorType.TOTP,
|
||||
)
|
||||
@@ -9,6 +9,6 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.createMfaChallenge(
|
||||
val result = account.createMFAChallenge(
|
||||
factor = AuthenticationFactor.EMAIL,
|
||||
)
|
||||
@@ -8,4 +8,4 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.createMfaRecoveryCodes()
|
||||
val result = account.createMFARecoveryCodes()
|
||||
|
||||
@@ -9,6 +9,6 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.deleteMfaAuthenticator(
|
||||
val result = account.deleteMFAAuthenticator(
|
||||
type = AuthenticatorType.TOTP,
|
||||
)
|
||||
@@ -8,4 +8,4 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.getMfaRecoveryCodes()
|
||||
val result = account.getMFARecoveryCodes()
|
||||
|
||||
@@ -8,4 +8,4 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.listMfaFactors()
|
||||
val result = account.listMFAFactors()
|
||||
|
||||
@@ -9,7 +9,7 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.updateMfaAuthenticator(
|
||||
val result = account.updateMFAAuthenticator(
|
||||
type = AuthenticatorType.TOTP,
|
||||
otp = "<OTP>",
|
||||
)
|
||||
@@ -8,7 +8,7 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.updateMfaChallenge(
|
||||
val result = account.updateMFAChallenge(
|
||||
challengeId = "<CHALLENGE_ID>",
|
||||
otp = "<OTP>",
|
||||
)
|
||||
@@ -8,4 +8,4 @@ val client = Client(context)
|
||||
|
||||
val account = Account(client)
|
||||
|
||||
val result = account.updateMfaRecoveryCodes()
|
||||
val result = account.updateMFARecoveryCodes()
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Databases
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setAdmin("") //
|
||||
.setKey("") //
|
||||
|
||||
val databases = Databases(client)
|
||||
|
||||
val result = databases.createDocuments(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
collectionId = "<COLLECTION_ID>",
|
||||
documents = listOf(),
|
||||
)
|
||||
@@ -1,17 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.createRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
rowId = "<ROW_ID>",
|
||||
data = mapOf( "a" to "b" ),
|
||||
permissions = listOf("read("any")"), // (optional)
|
||||
)
|
||||
@@ -1,15 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.deleteRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
rowId = "<ROW_ID>",
|
||||
)
|
||||
@@ -1,16 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.getRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
rowId = "<ROW_ID>",
|
||||
queries = listOf(), // (optional)
|
||||
)
|
||||
@@ -1,15 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.listRows(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
queries = listOf(), // (optional)
|
||||
)
|
||||
@@ -1,17 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.updateRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
rowId = "<ROW_ID>",
|
||||
data = mapOf( "a" to "b" ), // (optional)
|
||||
permissions = listOf("read("any")"), // (optional)
|
||||
)
|
||||
@@ -1,17 +0,0 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.Grids
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val grids = Grids(client)
|
||||
|
||||
val result = grids.upsertRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
tableId = "<TABLE_ID>",
|
||||
rowId = "<ROW_ID>",
|
||||
data = mapOf( "a" to "b" ), // (optional)
|
||||
permissions = listOf("read("any")"), // (optional)
|
||||
)
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.createRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.decrementRowColumn(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.deleteRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.getRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.incrementRowColumn(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.listRows(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.updateRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import io.appwrite.Client
|
||||
import io.appwrite.coroutines.CoroutineCallback
|
||||
import io.appwrite.services.TablesDb
|
||||
import io.appwrite.services.TablesDB
|
||||
|
||||
val client = Client(context)
|
||||
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
|
||||
.setProject("<YOUR_PROJECT_ID>") // Your project ID
|
||||
|
||||
val tablesDB = TablesDb(client)
|
||||
val tablesDB = TablesDB(client)
|
||||
|
||||
val result = tablesDB.upsertRow(
|
||||
databaseId = "<DATABASE_ID>",
|
||||
|
||||
@@ -7,7 +7,7 @@ let client = Client()
|
||||
|
||||
let account = Account(client)
|
||||
|
||||
let mfaType = try await account.createMfaAuthenticator(
|
||||
let mfaType = try await account.createMFAAuthenticator(
|
||||
type: .totp
|
||||
)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ let client = Client()
|
||||
|
||||
let account = Account(client)
|
||||
|
||||
let mfaChallenge = try await account.createMfaChallenge(
|
||||
let mfaChallenge = try await account.createMFAChallenge(
|
||||
factor: .email
|
||||
)
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ let client = Client()
|
||||
|
||||
let account = Account(client)
|
||||
|
||||
let mfaRecoveryCodes = try await account.createMfaRecoveryCodes()
|
||||
let mfaRecoveryCodes = try await account.createMFARecoveryCodes()
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user