Merge branch 'feat-txn' into cursor/enforce-operations-cap-per-transaction-6dd5

This commit is contained in:
Jake Barnby 2025-08-14 22:21:06 +12:00
commit ef63d421b3
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C
122 changed files with 2355 additions and 833 deletions

View file

@ -13,4 +13,9 @@ jobs:
- name: Run CodeQL
run: |
docker run --rm -v $PWD:/app composer:2.6 sh -c \
"composer install --profile --ignore-platform-reqs && composer check"
"composer install --profile --ignore-platform-reqs && composer check"
- name: Run Locale check
run: |
docker run --rm -v $PWD:/app node:24-alpine sh -c \
"cd /app/.github/workflows/static-analysis/locale && node index.js"

View file

@ -0,0 +1,115 @@
/*
* Look into all local files, and collect unique keys.
* Ensure fallback locale (English) has translation for all keys.
* If configured as `const strict = true`, all locales will be checked to include all keys.
*/
import { readdir, readFile } from "fs/promises";
import { join, dirname } from "path";
import { fileURLToPath } from "url";
const config = {
strict: false,
fallbackLocale: "en.json",
};
(async () => {
try {
// Prepare current directory equivalent in ES modules
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const translationsPath = join(
__dirname,
"../../../../app/config/locale/translations",
);
const files = (await readdir(translationsPath)).filter((file) =>
file.endsWith(".json"),
);
if (files.length === 0) {
console.error("No translation files found in ", translationsPath);
process.exit(1);
}
// Check if fallback locale exists
if (!files.includes(config.fallbackLocale)) {
console.error(`Fallback locale file ${config.fallbackLocale} not found`);
process.exit(1);
}
console.log(
`Found ${files.length} translation files in ${translationsPath}`,
);
// Collect all unique keys from all translation files
const allKeys = new Set();
for (const file of files) {
const filePath = join(translationsPath, file);
const content = await readFile(filePath, "utf8");
const translations = JSON.parse(content);
// Add all keys from this file
Object.keys(translations).forEach((key) => allKeys.add(key));
}
console.log(`Total unique keys found across all locales: ${allKeys.size}`);
const localesToCheck = [];
if (config.strict) {
localesToCheck.push(...files);
} else {
localesToCheck.push(config.fallbackLocale);
}
let errorsCount = 0;
let missingLocaleCount = 0;
for (const localeToCheck of localesToCheck) {
// Read locale
const path = join(translationsPath, localeToCheck);
const content = await readFile(path, "utf8");
const translations = JSON.parse(content);
// Check for missing keys in the locale
const keys = new Set(Object.keys(translations));
console.log(`Keys in locale (${localeToCheck}): ${keys.size}`);
const missingKeys = [];
for (const key of allKeys) {
if (!keys.has(key)) {
missingKeys.push(key);
}
}
if (missingKeys.length > 0) {
console.error(
`\nERROR: Fallback locale (${localeToCheck}) is missing ${missingKeys.length} key(s):`,
);
missingKeys.sort().forEach((key) => {
console.error(` - ${key}`);
});
console.error(
`\nTo fix this issue, add the missing keys to ${translationsPath}/${localeToCheck}`,
);
errorsCount++;
missingLocaleCount += missingKeys.length;
} else {
console.log(
`\nSUCCESS: Fallback locale (${localeToCheck}) contains all ${allKeys.size} keys.`,
);
}
}
if (errorsCount > 0) {
console.log(`\n${missingLocaleCount} locales missing found across ${errorsCount} locales.`);
process.exit(1);
}
} catch (error) {
console.error("Unexpected error.");
console.error(error);
process.exit(1);
}
})();

View file

@ -0,0 +1,13 @@
{
"name": "static-analysis-locale",
"version": "1.0.0",
"type": "module",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}

View file

@ -407,7 +407,7 @@ return [
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],

View file

@ -55,7 +55,8 @@ return [
'$id' => ID::custom('type'),
'type' => Database::VAR_STRING,
'size' => 128,
'required' => true,
'required' => false,
'default' => 'grids',
'signed' => true,
'array' => false,
'filters' => [],

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Die {{project}} span",
"emails.magicSession.subject": "Teken aan",
"emails.magicSession.hello": "Goeie dag,",
"emails.magicSession.body": "Volg hierdie skakel om in te teken.",
"emails.magicSession.footer": "Ignoreer gerus hierdie boodskap as u nie die versoek gestuur het om met die' adres in te teken nie.",
"emails.magicSession.thanks": "Baie dankie,",
"emails.magicSession.signature": "Die {{project}} span",
"emails.recovery.subject": "Herstel Wagwoord",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "فرقة {{project}}",
"emails.magicSession.subject": "تكونيكطا",
"emails.magicSession.hello": "السلام،",
"emails.magicSession.body": "تبّع هاد الوصلة باش تتكونيكطا.",
"emails.magicSession.footer": "إلا ماشي نتا اللي طلبتي تتكونيكطا بهاد ليميل، ممكن تنخّل هاد البرية.",
"emails.magicSession.thanks": "شكرا،",
"emails.magicSession.signature": "فرقة {{project}}",
"emails.recovery.subject": "تبدال كلمة السر",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "فريق {{project}}",
"emails.magicSession.subject": "تسجيل الدخول",
"emails.magicSession.hello": "أهلا،",
"emails.magicSession.body": "اتبع هذا الرابط لتسجيل الدخول",
"emails.magicSession.footer": "لو لم تطلب تسجيل الدخول بهذا البريد الاكتروني ، يمكنك تجاهل هذه الرسالة",
"emails.magicSession.thanks": "شكرا،",
"emails.magicSession.signature": "فريق {{project}}",
"emails.recovery.subject": "تغيير كلمة السر",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} দল",
"emails.magicSession.subject": "লগইন",
"emails.magicSession.hello": "নমস্কাৰ,",
"emails.magicSession.body": "লগইন কৰিবলৈ এই লিংকটো অনুসৰণ কৰক।",
"emails.magicSession.footer": "যদি আপুনি এই ইমেইল ব্যৱহাৰ কৰি লগইন কৰিবলৈ কোৱা নাছিল, আপুনি এই বাৰ্তাটো উপেক্ষা কৰিব পাৰে।",
"emails.magicSession.thanks": "ধন্যবাদ,",
"emails.magicSession.signature": "{{project}} দল",
"emails.recovery.subject": "পাছৱাৰ্ড ৰিছেট",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} komandası",
"emails.magicSession.subject": "Daxil Olmaq",
"emails.magicSession.hello": "Salam,",
"emails.magicSession.body": "Daxil olmaq üçün bu linki izləyin.",
"emails.magicSession.footer": "Bu e-poçtdan istifadə edərək giriş istəməmisinizsə, bu mesajı görməməzlikdən gələ bilərsiniz.",
"emails.magicSession.thanks": "Təşəkkürlər,",
"emails.magicSession.signature": "{{project}} komandası",
"emails.recovery.subject": "Şifrə Sıfırlanması",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "каманда {{project}}",
"emails.magicSession.subject": "Лагін",
"emails.magicSession.hello": "Прывітанне,",
"emails.magicSession.body": "Перайдзіце па спасылцы, каб увайсці.",
"emails.magicSession.footer": "Калі вы не прасілі ўвайсці, выкарыстоўваючы гэты адрас электроннай пошты, праігнаруйце гэтае паведамленне.",
"emails.magicSession.thanks": "Дзякуем,",
"emails.magicSession.signature": "каманда {{project}}",
"emails.recovery.subject": "Скід пароля",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} टीम",
"emails.magicSession.subject": "लॉग इन करीं|",
"emails.magicSession.hello": "प्रणाम,",
"emails.magicSession.body": "लॉग इन करें लेल दिहल गइल लिंक फॉलो करें|",
"emails.magicSession.footer": "अगर लॉग इन करे के लिए ना कहाले, तो आप ई संदेश क अनदेखा कर सकत अछि।",
"emails.magicSession.thanks": "धन्यवाद,",
"emails.magicSession.signature": "{{project}} टीम",
"emails.recovery.subject": "पासवर्ड बदल क लेल|",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} টীম",
"emails.magicSession.subject": "লগ ইন",
"emails.magicSession.hello": "নমস্কার,",
"emails.magicSession.body": "এই লিঙ্কের মাধ্যমে লগ ইন করুন।",
"emails.magicSession.footer": "আপনি যদি এই ইমেলটি ব্যবহার করে লগইন করতে না বলেন, তাহলে আপনি এই বার্তাটি উপেক্ষা করতে পারেন।",
"emails.magicSession.thanks": "ধন্যবাদ,",
"emails.magicSession.signature": "{{project}} টীম",
"emails.recovery.subject": "পাসওয়ার্ড রিসেট",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Equip {{project}}",
"emails.magicSession.subject": "Entrar",
"emails.magicSession.hello": "Hola,",
"emails.magicSession.body": "Accedeix a aquest enllaç per a entrar.",
"emails.magicSession.footer": "Si no has sol·licitat entrar amb aquesta adreça electrònica, pots ignorar aquest missatge.",
"emails.magicSession.thanks": "Gràcies,",
"emails.magicSession.signature": "Equip {{project}}",
"emails.recovery.subject": "Reinicialitzar contrasenya",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} team",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Hej,",
"emails.magicSession.body": "Følg dette link for at logge ind.",
"emails.magicSession.footer": "Hvis du ikke har bedt om at logge ind med denne email, ignorer venligst denne besked.",
"emails.magicSession.thanks": "Tak,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Nulstil Password",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}}-Team",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Hey,",
"emails.magicSession.body": "Folge diesem Link, um dich einzuloggen.",
"emails.magicSession.footer": "Solltest du keinen Login für diese E-Mail-Adresse angefordert haben, kannst du diese Nachricht ignorieren.",
"emails.magicSession.thanks": "Danke,",
"emails.magicSession.signature": "{{project}}-Team",
"emails.recovery.subject": "Kennwort zurücksetzen",
@ -247,5 +245,6 @@
"emails.otpSession.clientInfo": "Diese Anmeldung wurde über {{agentClient}} auf {{agentDevice}} {{agentOs}} angefordert. Wenn Sie die Anmeldung nicht angefordert haben, können Sie diese E-Mail getrost ignorieren.",
"emails.otpSession.securityPhrase": "Die Sicherheitsphrase für diese E-Mail lautet {{phrase}}. Sie können dieser E-Mail vertrauen, wenn diese Phrase mit der Phrase übereinstimmt, die beim Anmelden angezeigt wird.",
"emails.otpSession.thanks": "Danke,",
"emails.otpSession.signature": "{{project}} Team"
"emails.otpSession.signature": "{{project}} Team",
"mock": "Eine Beispielübersetzung für Testzwecke."
}

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Η ομάδα του {{project}}",
"emails.magicSession.subject": "Είσοδος",
"emails.magicSession.hello": "Γεια σου,",
"emails.magicSession.body": "Ακολουθήστε αυτό το link για να συνδεθείτε",
"emails.magicSession.footer": "Εάν δεν ζητήσατε να συνδεθείτε χρησιμοποιώντας αυτό το email, μπορείτε να αγνοήσετε αυτό το μήνυμα.",
"emails.magicSession.thanks": "Ευχαριστούμε,",
"emails.magicSession.signature": "Η ομάδα του {{project}}",
"emails.recovery.subject": "Αλλαγή κωδικού πρόσβασης",

View file

@ -57,7 +57,7 @@
"emails.invitation.subject": "Invitation to %s Team at %s",
"emails.invitation.preview": "{{owner}} invited you to join {{team}} at {{project}}",
"emails.invitation.hello": "Hello {{user}},",
"emails.invitation.body": "This mail was sent to you because {{b}}{{owner}}{{/b}} wanted to invite you to become a member of the {{b}}{{team}}{{/b}} team at {{b}}{{project}}{{/b}}.",
"emails.invitation.body": "This mail was sent to you because {{b}}{{owner}}{{/b}} invited you to become a member of the {{b}}{{team}}{{/b}} team at {{b}}{{project}}{{/b}}.",
"emails.invitation.footer": "If you are not interested, you can ignore this message.",
"emails.invitation.thanks": "Thanks,",
"emails.invitation.buttonText": "Accept invite to {{team}}",
@ -274,5 +274,6 @@
"continents.eu": "Europe",
"continents.na": "North America",
"continents.oc": "Oceania",
"continents.sa": "South America"
"continents.sa": "South America",
"mock": "A mock translation for testing purposes."
}

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "Teamo {{project}}",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Saluton,",
"emails.magicSession.body": "Alklaku ĉi tiun ligon por eniri.",
"emails.magicSession.footer": "Se vi ne petis ĉi tiun konfirmon de ĉi tiu retpoŝto, vi povas ignori ĉi tiun mesaĝon.",
"emails.magicSession.thanks": "Dankegon,",
"emails.magicSession.signature": "Teamo {{project}}",
"emails.recovery.subject": "Parsvorta Restarigo",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "El equipo de {{project}}.",
"emails.magicSession.subject": "Inicio de sesión",
"emails.magicSession.hello": "Hola,",
"emails.magicSession.body": "Haz clic en este enlace para iniciar sesión:",
"emails.magicSession.footer": "Si no has solicitado iniciar sesión usando este correo, puedes ignorar este mensaje.",
"emails.magicSession.thanks": "Gracias.,",
"emails.magicSession.signature": "El equipo de {{project}}",
"emails.recovery.subject": "Restablecer contraseña",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "تیم {{user}}",
"emails.magicSession.subject": "ورود به حساب کاربری",
"emails.magicSession.hello": "سلام،",
"emails.magicSession.body": "برای ورود به حساب‌تان پیوند زیر را دنبال کنید.",
"emails.magicSession.footer": "اگر شما درخواست ورود به حساب کاربری با استفاده از این ایمیل را نداد‌ه‌اید، می‌توانید این پیام را نادیده بگیرید.",
"emails.magicSession.thanks": "سپاس فراوان،",
"emails.magicSession.signature": "تیم {{user}}",
"emails.recovery.subject": "بازیابی گذرواژه",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Équipe {{project}}",
"emails.magicSession.subject": "Connexion",
"emails.magicSession.hello": "Bonjour,",
"emails.magicSession.body": "Suivez ce lien pour vous connecter.",
"emails.magicSession.footer": "Si vous n'avez pas demandé à vous connecter en utilisant cet e-mail, vous pouvez ignorer ce message.",
"emails.magicSession.thanks": "Merci,",
"emails.magicSession.signature": "L'équipe {{project}}",
"emails.recovery.subject": "Réinitialisation du mot de passe",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} foireann",
"emails.magicSession.subject": "Logáil isteach",
"emails.magicSession.hello": "Haigh,",
"emails.magicSession.body": "Lean an nasc seo chun logáil isteach.",
"emails.magicSession.footer": "Mura ndearna tú iarratas logáil isteach leis an ríomhphost seo, déan neamhaird den teachtaireacht seo.",
"emails.magicSession.thanks": "Go raibh maith agat,",
"emails.magicSession.signature": "{{project}} foireann",
"emails.recovery.subject": "Athshocrú pasfhocail",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} ટીમ",
"emails.magicSession.subject": "પ્રવેશ કરો",
"emails.magicSession.hello": "નમસ્કાર,",
"emails.magicSession.body": "પ્રવેશ કરવા માટે આ લિંકને અનુસરો.",
"emails.magicSession.footer": "જો તમે આ ઇમેઇલનો ઉપયોગ કરીને પ્રવેશ કરવાનું ન કહ્યું હોય, તો તમે આ સંદેશને અવગણી શકો છો.",
"emails.magicSession.thanks": "આભાર,",
"emails.magicSession.signature": "{{project}} ટીમ",
"emails.recovery.subject": "પાસવર્ડ ફરીથી સેટ કરો",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "צוות {{project}}",
"emails.magicSession.subject": "כניסה למערכת",
"emails.magicSession.hello": "שלום,",
"emails.magicSession.body": "לחץ על קישור זה כדי להיכנס.",
"emails.magicSession.footer": "אם לא ביקשת להיכנס באמצעות דוא\"ל זה, תוכל להתעלם מהודעה זו.",
"emails.magicSession.thanks": "תודה,",
"emails.magicSession.signature": "צוות {{project}}",
"emails.recovery.subject": "איפוס סיסמא",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} टीम",
"emails.magicSession.subject": "लॉग इन",
"emails.magicSession.hello": "नमस्ते,",
"emails.magicSession.body": "इस लिंक के माध्यम से लॉग-इन करें।",
"emails.magicSession.footer": "यदि आप इस ईमेल द्वारा लॉगिन नहीं करना चाहते हैं, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.magicSession.thanks": "धन्यवाद,",
"emails.magicSession.signature": "{{project}} टीम",
"emails.recovery.subject": "पासवर्ड रीसेट",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} tim",
"emails.magicSession.subject": "Prijavite se",
"emails.magicSession.hello": "Pozdrav,",
"emails.magicSession.body": "Slijedite ovu poveznicu za prijavu.",
"emails.magicSession.footer": "Ako niste zatražili prijavu putem ove e-pošte, možete zanemariti ovu poruku.",
"emails.magicSession.thanks": "Hvala,",
"emails.magicSession.signature": "{{project}} tim",
"emails.recovery.subject": "Ponovno postavljanje lozinke",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "a {{project}} csapat",
"emails.magicSession.subject": "Bejelentkezés",
"emails.magicSession.hello": "Szia,",
"emails.magicSession.body": "Kattints a linkre a bejelentkezéshez.",
"emails.magicSession.footer": "Ha nem te szerettél volna bejelentkezni ezzel az email címmel, akkor nyugodtan hagyd figyelmen kívül ezt az üzenetet.",
"emails.magicSession.thanks": "Köszönettel,",
"emails.magicSession.signature": "a {{project}} csapat",
"emails.recovery.subject": "Jelszó Visszaállítása",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Tim {{project}}",
"emails.magicSession.subject": "Masuk",
"emails.magicSession.hello": "Hai,",
"emails.magicSession.body": "Ikuti tautan ini untuk masuk.",
"emails.magicSession.footer": "Jika Anda tidak meminta untuk masuk menggunakan email ini, Anda dapat mengabaikan pesan ini.",
"emails.magicSession.thanks": "Terima kasih,",
"emails.magicSession.signature": "Tim {{project}}",
"emails.recovery.subject": "Atur Ulang Kata Sandi",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Il team {{project}}",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Ciao,",
"emails.magicSession.body": "Clicca questo link per accedere.",
"emails.magicSession.footer": "Se non hai richiesto di effettuare laccesso, puoi ignorare questo messaggio.",
"emails.magicSession.thanks": "Grazie,",
"emails.magicSession.signature": "Il team {{project}}",
"emails.recovery.subject": "Reimpostazione password",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}}チーム",
"emails.magicSession.subject": "ログイン",
"emails.magicSession.hello": "こんにちは、",
"emails.magicSession.body": "ログインするためには下記リンクをクリックしてください。",
"emails.magicSession.footer": "このメールに心当たりが無い場合は破棄をお願いいたします。",
"emails.magicSession.thanks": "ご利用いただきありがとうございます。、",
"emails.magicSession.signature": "{{project}}チーム",
"emails.recovery.subject": "パスワードリセット",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Tim {{project}}",
"emails.magicSession.subject": "Masuk",
"emails.magicSession.hello": "Hai,",
"emails.magicSession.body": "Klik link iki kanggo masuk.",
"emails.magicSession.footer": "Yen sampeyan ora njaluk masuk nggunakake alamat email iki, sampeyan iso nglirwakake pesen iki.",
"emails.magicSession.thanks": "Matur nuwun,",
"emails.magicSession.signature": "Tim {{project}}",
"emails.recovery.subject": "Setel ulang sandi",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": "",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": "",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} ತಂಡ",
"emails.magicSession.subject": "ಲಾಗಿನ್",
"emails.magicSession.hello": "ನಮಸ್ಕಾರ,",
"emails.magicSession.body": "ಲಾಗಿನ್ ಮಾಡಲಿಕ್ಕೆ ಈ ಲಿಂಕನ್ನು ಅನುಸರಿಸಿ",
"emails.magicSession.footer": "ನೀವು ಈ ಇಮೇಲನಿಂದ ಲಾಗಿನ್ ಮಾಡಲು ಕೇಳದಿದ್ದರೆ, ಈ ಸಂದೇಶವನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ",
"emails.magicSession.thanks": "ಧನ್ಯವಾದಗಳು,",
"emails.magicSession.signature": "{{project}} ತಂಡ",
"emails.recovery.subject": "ಗುಪ್ತಪದ ಮರುಹೊಂದಿಸಿ",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} 팀",
"emails.magicSession.subject": "로그인",
"emails.magicSession.hello": "안녕하세요、",
"emails.magicSession.body": "로그인 하시려면 링크를 클릭하여주세요.",
"emails.magicSession.footer": "이 이메일 계정으로 로그인 신청을 하지 않으셨다면 이 메세지를 무시하여주세요.",
"emails.magicSession.thanks": "감사합니다、",
"emails.magicSession.signature": "{{project}} 팀",
"emails.recovery.subject": "비밀번호 재설정",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} Team",
"emails.magicSession.subject": "Log in",
"emails.magicSession.hello": "Salve ibi,",
"emails.magicSession.body": "Hanc nexum cum login",
"emails.magicSession.footer": "Si verificationem huius inscriptionis non postulasti, nuntium hunc ignorare potes.",
"emails.magicSession.thanks": "Gratias,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Recuperet password",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} équipe",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Hey,",
"emails.magicSession.body": "Follegt dëse Link fir umellen.",
"emails.magicSession.footer": "Wann Dir net gefrot hutt Iech mat dëser E -Mail anzemelden, kënnt Dir dëse Message ignoréieren.",
"emails.magicSession.thanks": "Merci,",
"emails.magicSession.signature": "{{project}} équipe",
"emails.recovery.subject": "Password Reset",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} komanda",
"emails.magicSession.subject": "Prisijungti",
"emails.magicSession.hello": "Labas,",
"emails.magicSession.body": "Spauskite šią nuorodą, kad prisijungtumėte.",
"emails.magicSession.footer": "Jei neprašėte prisijungti naudojantis šiuo el. paštu, galite ignoruoti šį pranešimą.",
"emails.magicSession.thanks": "Ačiū,",
"emails.magicSession.signature": "{{project}} komanda",
"emails.recovery.subject": "Slaptažodžio Atkūrimas",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} komanda",
"emails.magicSession.subject": "Ieiet",
"emails.magicSession.hello": "Sveicināti,",
"emails.magicSession.body": "Sekojiet saitei, lai ieietu.",
"emails.magicSession.footer": "Ja Jūs nepieprasījāt ieiet ar šo e-pasta adresi, lūdzu, ignorējiet šo ziņu.",
"emails.magicSession.thanks": "Paldies,",
"emails.magicSession.signature": "{{project}} komanda",
"emails.recovery.subject": "Paroles atjaunināšana",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} ടീം",
"emails.magicSession.subject": "ലോഗിൻ",
"emails.magicSession.hello": "നമസ്കാരം,",
"emails.magicSession.body": "ലോഗിൻ ചെയ്യുന്നതിനായി ഈ ലിങ്ക് പിന്തുടരുക.",
"emails.magicSession.footer": "ഈ ഇമെയിൽ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യാൻ നിങ്ങൾ ആവശ്യപ്പെട്ടില്ലെങ്കിൽ, ഈ സന്ദേശം അവഗണിക്കാവുന്നതാണ്.",
"emails.magicSession.thanks": "നന്ദി,",
"emails.magicSession.signature": "{{project}} ടീം",
"emails.recovery.subject": "രഹസ്യവാക്ക് പുനക്രമീകരണം",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} संघ",
"emails.magicSession.subject": "लॉगिन करा",
"emails.magicSession.hello": "नमस्कार ,",
"emails.magicSession.body": "लॉगिन करण्यासाठी या लिंकचे अनुसरण करा.",
"emails.magicSession.footer": "आपण या ईमेलचा वापर करून लॉगिन करण्यास सांगितले नसल्यास, आपण या संदेशाकडे दुर्लक्ष करू शकता.",
"emails.magicSession.thanks": "धन्यवाद,",
"emails.magicSession.signature": "{{project}} संघ",
"emails.recovery.subject": "पासवर्ड रीसेट",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} team",
"emails.magicSession.subject": "Log masuk",
"emails.magicSession.hello": "Hey,",
"emails.magicSession.body": "Tekan pautan ini untuk log masuk.",
"emails.magicSession.footer": "Sekiranya anda tidak membuat permintaan untuk log masuk menggunakan email ini, sila abaikan mesej ini.",
"emails.magicSession.thanks": "Terima kasih,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Menetap semula Kata Laluan",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} team",
"emails.magicSession.subject": "Pålogging",
"emails.magicSession.hello": "Hei,",
"emails.magicSession.body": "Følg denne lenken for å logge på.",
"emails.magicSession.footer": "Dersom du ikke ba om å logge på med denne e-postadressen, kan du se bort fra denne meldingen.",
"emails.magicSession.thanks": "Takk,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Nullstille passord",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} समूह",
"emails.magicSession.subject": "लगइन",
"emails.magicSession.hello": "नमस्ते,",
"emails.magicSession.body": "लगइन गर्नको लागी यो लिंकमा जानुहोस।",
"emails.magicSession.footer": "यदि तपाइँले यो इमेल प्रयोग गरेर लगइन गर्न सोध्नु भएको छैन भने तपाइँले यो सन्देश लाई बेवास्ता गर्न सक्नुहुन्छ।",
"emails.magicSession.thanks": "धन्यवाद,",
"emails.magicSession.signature": "{{project}} समूह",
"emails.recovery.subject": "पासवर्ड रिसेट",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} team",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Hoi,",
"emails.magicSession.body": "Volg deze link om in te loggen",
"emails.magicSession.footer": "Als u geen aanvraag heeft gemaakt om met deze mail in te loggen, kan u deze mail negeren",
"emails.magicSession.thanks": "Bedankt,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Wachtwoord Herinstellen",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} team",
"emails.magicSession.subject": "Pålogging",
"emails.magicSession.hello": "Hei,",
"emails.magicSession.body": "Følg denne lenkja for å logge på.",
"emails.magicSession.footer": "Om du ikkje ba om å logge på med denne e-postadressa, kan du ignorera denne meldinga.",
"emails.magicSession.thanks": "Takk,",
"emails.magicSession.signature": "{{project}} team",
"emails.recovery.subject": "Nullstilla passord",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} ଦଳ",
"emails.magicSession.subject": "ଲଗଇନ୍ କରନ୍ତୁ",
"emails.magicSession.hello": "ନମସ୍କାର,",
"emails.magicSession.body": "ଲଗଇନ୍ କରିବାକୁ ଏହି ଲିଙ୍କ୍ ଅନୁସରଣ କରନ୍ତୁ |",
"emails.magicSession.footer": "ଯଦି ଆପଣ ଏହି ଇମେଲ୍ ବ୍ୟବହାର କରି ଲଗଇନ୍ କରିବାକୁ କହି ନାହାଁନ୍ତି, ତେବେ ଆପଣ ଏହି ସନ୍ଦେଶକୁ ଉପେକ୍ଷା କରିପାରିବେ |",
"emails.magicSession.thanks": "ଧନ୍ୟବାଦ,",
"emails.magicSession.signature": "{{project}} ଦଳ",
"emails.recovery.subject": "ପାସୱାର୍ଡ ପୁନଃ ସେଟ୍ କରନ୍ତୁ |",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Zespół {{project}}",
"emails.magicSession.subject": "Logowanie",
"emails.magicSession.hello": "Cześć,",
"emails.magicSession.body": "Kliknij w ten link, aby zalogować się.",
"emails.magicSession.footer": "Jeśli to nie Ty prosiłeś o logowanie przy użyciu tego adresu e-mail, zignoruj tę wiadomość.",
"emails.magicSession.thanks": "Dziękujemy,",
"emails.magicSession.signature": "Zespół {{project}}",
"emails.recovery.subject": "Resetowanie hasła",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Time {{project}}",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Olá,",
"emails.magicSession.body": "Clique neste link para entrar.",
"emails.magicSession.footer": "Se você não solicitou conectar-se com este e-mail, ignore essa mensagem.",
"emails.magicSession.thanks": "Muito obrigado,",
"emails.magicSession.signature": "Time {{project}}",
"emails.recovery.subject": "Redefinição de senha",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Equipa {{project}}",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Olá ,",
"emails.magicSession.body": "Siga esta ligação para iniciar sessão.",
"emails.magicSession.footer": "Se não pediu para entrar usando este e-mail, pode ignorar esta mensagem.",
"emails.magicSession.thanks": "Obrigado,",
"emails.magicSession.signature": "Equipa {{project}}",
"emails.recovery.subject": "Redefinição de senha",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Echipa {{project}}",
"emails.magicSession.subject": "Login",
"emails.magicSession.hello": "Bună ziua,",
"emails.magicSession.body": "Urmează acest link pentru logare.",
"emails.magicSession.footer": "Dacă nu ai incercat să te loghezi folosing această adresa de email, poți ignora acest mesaj.",
"emails.magicSession.thanks": "Mulțumim,",
"emails.magicSession.signature": "Echipa {{project}}",
"emails.recovery.subject": "Resetare parolă",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "команда {{project}}",
"emails.magicSession.subject": "Логин",
"emails.magicSession.hello": "Здравствуйте,",
"emails.magicSession.body": "Перейдите по ссылке, чтобы войти.",
"emails.magicSession.footer": "Если вы не просили войти, используя этот адрес электронной почты, проигнорируйте это сообщение.",
"emails.magicSession.thanks": "Спасибо,",
"emails.magicSession.signature": "команда {{project}}",
"emails.recovery.subject": "Сброс пароля",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} गणः",
"emails.magicSession.subject": "संप्रवेशः",
"emails.magicSession.hello": "अयि,",
"emails.magicSession.body": "संप्रवेशार्थमिदं संयोगसूत्रमनुसरतु।",
"emails.magicSession.footer": "अनेन ई-पत्रण यदि संप्रवेशो नेष्यते तर्हि वात्र्तामिमामुपेक्षताम्‌।",
"emails.magicSession.thanks": "धन्यवादः,",
"emails.magicSession.signature": "{{project}} गणः",
"emails.recovery.subject": "कूटशब्दपुनयाेजनम्‌",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} ٽيم",
"emails.magicSession.subject": "لاگ ان",
"emails.magicSession.hello": "هي ,",
"emails.magicSession.body": "لاگ ان ٿيڻ لاءِ ھن لنڪ تي عمل ڪريو.",
"emails.magicSession.footer": "جيڪڏھن توھان نه پ پيا ھي لاگ ان استعمال ڪندي اي ميل ، توھان نظر انداز ڪري سگھوٿا ھن پيغام کي.",
"emails.magicSession.thanks": "مهرباني,",
"emails.magicSession.signature": "{{project}} ٽيم",
"emails.recovery.subject": "پاسورڊ ري سيٽ",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} කණ්ඩායම",
"emails.magicSession.subject": "ප්‍රවේශ වන්න",
"emails.magicSession.hello": "හේයි,",
"emails.magicSession.body": "ප්‍රවේශ වීමට මෙම සම්බන්ධකය අනුගමනය කරන්න.",
"emails.magicSession.footer": "මෙම විද්‍යුත් තැපෑල භාවිතයෙන් ප්‍රවේශ වීමට ඔබ ඉල්ලුවේ නැත්නම්, ඔබට මෙම පණිවිඩය නොසලකා හැරිය හැක.",
"emails.magicSession.thanks": "ස්තුතියි,",
"emails.magicSession.signature": "{{project}} කණ්ඩායම",
"emails.recovery.subject": "මුරපද යළි පිහිටුවීම",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} tím",
"emails.magicSession.subject": "Prihlásenie",
"emails.magicSession.hello": "Ahoj,",
"emails.magicSession.body": "Použi tento link pre prihlásenie.",
"emails.magicSession.footer": "Ak si nepožiadal o prihlásenie cez email, túto správu môžeš ignorovať.",
"emails.magicSession.thanks": "Ďakujeme,",
"emails.magicSession.signature": "{{project}} tím",
"emails.recovery.subject": "Obnovenie hesla",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Chikwata che{{project}}",
"emails.magicSession.subject": "Pinda",
"emails.magicSession.hello": "Hesi,",
"emails.magicSession.body": "Baya chinongedzo ichi kuti upinde muakaundi yako.",
"emails.magicSession.footer": "Kana usina kukumbira kupinda muakaundi yako uchishandisa email iyi, unogona kufuratira meseji iyi.",
"emails.magicSession.thanks": "Ndatenda,",
"emails.magicSession.signature": "Chikwata che{{project}}",
"emails.recovery.subject": "Kuchinja pasiwedhi",

View file

@ -11,8 +11,6 @@
"emails.verification.signature": "",
"emails.magicSession.subject": "",
"emails.magicSession.hello": ",",
"emails.magicSession.body": "",
"emails.magicSession.footer": "",
"emails.magicSession.thanks": ",",
"emails.magicSession.signature": "",
"emails.recovery.subject": "",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} teamet",
"emails.magicSession.subject": "Logga in",
"emails.magicSession.hello": "Hej,",
"emails.magicSession.body": "Klicka på denna länk för att logga in.",
"emails.magicSession.footer": "Om du inte bad om att logga in med denna e-postadress kan du ignorera detta mail.",
"emails.magicSession.thanks": "Tack,",
"emails.magicSession.signature": "{{project}} teamet",
"emails.recovery.subject": "Återställ lösenord",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} குழு ",
"emails.magicSession.subject": "உள்நுழைய",
"emails.magicSession.hello": "ஏய்,",
"emails.magicSession.body": "இந்த இணைப்பைப் பின்தொடரவும் உள்நுழைய",
"emails.magicSession.footer": "இந்த மின்னஞ்சலைப் பயன்படுத்தி உள்நுழையுமாறு உங்களிடம் கேட்கப்படாவிட்டால், இந்தச் செய்தியைப் புறக்கணிக்கலாம்.",
"emails.magicSession.thanks": "நன்றி,",
"emails.magicSession.signature": "{{project}} குழு",
"emails.recovery.subject": "கடவுச்சொல் மீட்டமைப்பு",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} జట్",
"emails.magicSession.subject": "లాగిన్",
"emails.magicSession.hello": "నమస్కారము,",
"emails.magicSession.body": "లాగిన్ చేయడానికి ఈ లింక్ ని అనుసరించండి",
"emails.magicSession.footer": "మీరు ఈ ఇమెయిల్ ని ఉపయోగించి లాగిన్ చేయమని అడగకపోతే, మీరు ఈ సందేశాన్ని విస్మరించవచ్చు",
"emails.magicSession.thanks": "ధన్యవాదాలు,",
"emails.magicSession.signature": "{{project}} జట్",
"emails.recovery.subject": "పాస్వర్డ్ రీసెట్",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "ทีม {{project}}",
"emails.magicSession.subject": "เข้าสู่ระบบ",
"emails.magicSession.hello": "เรียนผู้ใช้งาน",
"emails.magicSession.body": "กดเข้าไปที่ลิงก์นี้เพื่อเข้าสู่ระบบ",
"emails.magicSession.footer": "หากท่านไม่ได้ต้องการที่จะเข้าสู่ระบบด้วยอีเมลนี้ ท่านสามารถเพิกเฉยข้อความนี้ได้",
"emails.magicSession.thanks": "ขอบคุณ",
"emails.magicSession.signature": "ทีม {{project}}",
"emails.recovery.subject": "รีเซ็ตรหัสผ่าน",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Pangkat ng {{project}}",
"emails.magicSession.subject": "Mag log in",
"emails.magicSession.hello": "Kamusta ,",
"emails.magicSession.body": "Sundin ang link na ito upang mag-login.",
"emails.magicSession.footer": "Kung hindi mo hiningi na mag-login gamit ang email na ito, maaari mong balewalain ang mensahe na ito.",
"emails.magicSession.thanks": "Salamat,",
"emails.magicSession.signature": "Pangkat ng {{project}}",
"emails.recovery.subject": "I-reset ang password",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} takımı",
"emails.magicSession.subject": "Giriş",
"emails.magicSession.hello": "Merhaba,",
"emails.magicSession.body": "Giriş yapmak için tıklayın.",
"emails.magicSession.footer": "Eğer bu eposta adresini kullanarak giriş yapmak istemediyseniz devam etmeyin.",
"emails.magicSession.thanks": "Teşekkürler,",
"emails.magicSession.signature": "{{project}} takımı",
"emails.recovery.subject": "Şifremi Sıfırla",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "команда {{project}}",
"emails.magicSession.subject": "Логін",
"emails.magicSession.hello": "Вітаємо,",
"emails.magicSession.body": "Перейдіть за цим посиланням, щоб увійти.",
"emails.magicSession.footer": "Якщо ви не просили увійти за допомогою цієї електронної пошти, ви можете ігнорувати це повідомлення.",
"emails.magicSession.thanks": "Дякуємо,",
"emails.magicSession.signature": "команда {{project}}",
"emails.recovery.subject": "Скидання пароля",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "ٹیم۔ {{project}}",
"emails.magicSession.subject": "اگ ان کریں",
"emails.magicSession.hello": "خوش آمدید،",
"emails.magicSession.body": "لاگ ان کرنے کے لیے اس لنک پر عمل کریں۔",
"emails.magicSession.footer": "اگر آپ نے اس ای میل کا استعمال کرتے ہوئے لاگ ان کرنے کے لیے نہیں کہا تو آپ اس پیغام کو نظر انداز کر سکتے ہیں۔",
"emails.magicSession.thanks": "شکریہ،",
"emails.magicSession.signature": "ٹیم۔ {{project}}",
"emails.recovery.subject": "پاس ورڈ ری سیٹ۔",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "Nhóm {{project}}",
"emails.magicSession.subject": "Đăng nhập",
"emails.magicSession.hello": "Chào",
"emails.magicSession.body": "Nhấn vào đường dẫn sau để đăng nhập.",
"emails.magicSession.footer": "Nếu bạn không yêu cầu đăng nhập bằng email, bạn có thể bỏ qua email này.",
"emails.magicSession.thanks": "Cảm ơn",
"emails.magicSession.signature": "Nhóm {{project}}",
"emails.recovery.subject": "Thiết lập lại mật khẩu",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} 团队",
"emails.magicSession.subject": "登录",
"emails.magicSession.hello": "你好、",
"emails.magicSession.body": "点此链接登录。",
"emails.magicSession.footer": "如果您没有要求使用此电子邮件登录,则可忽略此消息。",
"emails.magicSession.thanks": "谢谢、",
"emails.magicSession.signature": "{{project}} 团队",
"emails.recovery.subject": "重设密码",

View file

@ -12,8 +12,6 @@
"emails.verification.signature": "{{project}} 團隊",
"emails.magicSession.subject": "登入",
"emails.magicSession.hello": "嗨、",
"emails.magicSession.body": "點此連結登入。",
"emails.magicSession.footer": "如果您沒有要求使用此電子郵件登入,則可以忽略此消息。",
"emails.magicSession.thanks": "謝謝、",
"emails.magicSession.signature": "{{project}} 團隊",
"emails.recovery.subject": "重設密碼",

View file

@ -4466,6 +4466,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": []
},
@ -4488,7 +4489,8 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
}
],
"auth": {
@ -4665,7 +4667,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@ -5203,7 +5205,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@ -5278,7 +5280,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@ -5393,7 +5395,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@ -5467,7 +5469,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -5519,7 +5521,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -5987,7 +5989,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@ -6070,7 +6072,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,

File diff suppressed because it is too large Load diff

View file

@ -7506,6 +7506,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": [],
"Session": []
@ -7529,10 +7530,12 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
},
{
"name": "createDocuments",
"desc": "Create documents",
"auth": {
"Project": [],
"Key": []
@ -7553,7 +7556,8 @@
"model": "#\/components\/schemas\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-documents.md"
}
],
"auth": {
@ -7635,7 +7639,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@ -7728,7 +7732,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@ -7823,7 +7827,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@ -8012,7 +8016,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@ -8925,7 +8929,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@ -8999,7 +9003,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@ -9233,7 +9237,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@ -9283,7 +9287,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@ -9334,7 +9338,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@ -9394,7 +9398,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@ -9625,7 +9629,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@ -9687,7 +9691,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@ -9768,7 +9772,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@ -9852,7 +9856,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@ -9949,7 +9953,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@ -10035,7 +10039,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@ -10139,7 +10143,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@ -10237,7 +10241,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@ -10300,7 +10304,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@ -10365,7 +10369,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@ -10456,7 +10460,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@ -10528,7 +10532,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@ -10605,7 +10609,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@ -10722,7 +10726,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@ -10789,7 +10793,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@ -10861,7 +10865,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@ -10921,7 +10925,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@ -11013,7 +11017,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@ -11083,7 +11087,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@ -11175,7 +11179,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@ -11247,7 +11251,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -11301,7 +11305,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -13104,7 +13108,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@ -13181,7 +13185,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@ -13326,7 +13330,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@ -13473,7 +13477,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@ -13648,7 +13652,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@ -13827,7 +13831,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@ -13937,7 +13941,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@ -14050,7 +14054,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@ -14104,7 +14108,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@ -14167,7 +14171,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@ -14243,7 +14247,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@ -14319,7 +14323,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@ -14396,7 +14400,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@ -14502,7 +14506,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@ -14611,7 +14615,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@ -14697,7 +14701,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@ -14786,7 +14790,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@ -14902,7 +14906,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@ -15021,7 +15025,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@ -15117,7 +15121,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@ -15216,7 +15220,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@ -15322,7 +15326,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@ -15431,7 +15435,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@ -15575,7 +15579,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@ -15721,7 +15725,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@ -15817,7 +15821,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@ -15916,7 +15920,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@ -16012,7 +16016,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@ -16111,7 +16115,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@ -16207,7 +16211,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@ -16306,7 +16310,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@ -16402,7 +16406,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@ -16501,7 +16505,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@ -16555,7 +16559,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@ -16618,7 +16622,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@ -16694,7 +16698,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@ -16770,7 +16774,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@ -16845,7 +16849,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@ -16929,7 +16933,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@ -16990,7 +16994,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@ -17068,7 +17072,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@ -17131,7 +17135,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@ -17207,7 +17211,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@ -17292,7 +17296,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@ -17384,7 +17388,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@ -17448,7 +17452,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@ -17525,7 +17529,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@ -17596,7 +17600,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@ -17846,7 +17850,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@ -17896,7 +17900,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@ -17947,7 +17951,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@ -18007,7 +18011,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@ -18253,7 +18257,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@ -18315,7 +18319,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@ -18396,7 +18400,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@ -18480,7 +18484,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@ -18582,7 +18586,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@ -18663,7 +18667,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@ -18767,7 +18771,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@ -18866,7 +18870,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@ -18929,7 +18933,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@ -18994,7 +18998,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@ -19085,7 +19089,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@ -19157,7 +19161,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@ -19229,7 +19233,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@ -19292,7 +19296,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@ -19364,7 +19368,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@ -19424,7 +19428,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@ -19516,7 +19520,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@ -19586,7 +19590,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@ -19678,7 +19682,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@ -22073,7 +22077,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@ -22154,7 +22158,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@ -22244,7 +22248,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@ -22305,7 +22309,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@ -22376,7 +22380,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,

View file

@ -4798,7 +4798,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@ -5303,7 +5303,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@ -5376,7 +5376,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@ -5492,7 +5492,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@ -5563,7 +5563,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -5636,7 +5636,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -6117,7 +6117,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@ -6201,7 +6201,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,

File diff suppressed because it is too large Load diff

View file

@ -7663,7 +7663,7 @@
"model": "#\/definitions\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
}
],
"auth": {
@ -7749,7 +7749,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@ -7839,7 +7839,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@ -7932,7 +7932,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@ -8110,7 +8110,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@ -8978,7 +8978,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@ -9051,7 +9051,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@ -9303,7 +9303,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@ -9353,7 +9353,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@ -9404,7 +9404,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@ -9464,7 +9464,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@ -9712,7 +9712,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@ -9774,7 +9774,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@ -9852,7 +9852,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@ -9933,7 +9933,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@ -10026,7 +10026,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@ -10112,7 +10112,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@ -10219,7 +10219,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@ -10316,7 +10316,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@ -10379,7 +10379,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@ -10447,7 +10447,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@ -10533,7 +10533,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@ -10601,7 +10601,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@ -10676,7 +10676,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@ -10794,7 +10794,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@ -10860,7 +10860,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@ -10928,7 +10928,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@ -10988,7 +10988,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@ -11079,7 +11079,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@ -11147,7 +11147,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@ -11240,7 +11240,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@ -11310,7 +11310,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -11385,7 +11385,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@ -13167,7 +13167,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@ -13243,7 +13243,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@ -13402,7 +13402,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@ -13558,7 +13558,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@ -13754,7 +13754,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@ -13949,7 +13949,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@ -14068,7 +14068,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@ -14183,7 +14183,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@ -14239,7 +14239,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@ -14300,7 +14300,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@ -14373,7 +14373,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@ -14446,7 +14446,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@ -14522,7 +14522,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@ -14638,7 +14638,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@ -14752,7 +14752,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@ -14844,7 +14844,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@ -14934,7 +14934,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@ -15062,7 +15062,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@ -15188,7 +15188,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@ -15292,7 +15292,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@ -15394,7 +15394,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@ -15510,7 +15510,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@ -15624,7 +15624,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@ -15784,7 +15784,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@ -15941,7 +15941,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@ -16045,7 +16045,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@ -16147,7 +16147,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@ -16251,7 +16251,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@ -16353,7 +16353,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@ -16457,7 +16457,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@ -16559,7 +16559,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@ -16663,7 +16663,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@ -16763,7 +16763,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@ -16819,7 +16819,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@ -16880,7 +16880,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@ -16953,7 +16953,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@ -17026,7 +17026,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@ -17100,7 +17100,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@ -17189,7 +17189,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@ -17250,7 +17250,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@ -17330,7 +17330,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@ -17391,7 +17391,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@ -17464,7 +17464,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@ -17546,7 +17546,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@ -17635,7 +17635,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@ -17699,7 +17699,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@ -17771,7 +17771,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@ -17844,7 +17844,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@ -18112,7 +18112,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@ -18162,7 +18162,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@ -18213,7 +18213,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@ -18273,7 +18273,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@ -18536,7 +18536,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@ -18598,7 +18598,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@ -18676,7 +18676,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@ -18757,7 +18757,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@ -18858,7 +18858,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@ -18938,7 +18938,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@ -19045,7 +19045,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@ -19143,7 +19143,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@ -19206,7 +19206,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@ -19274,7 +19274,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@ -19360,7 +19360,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@ -19428,7 +19428,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@ -19500,7 +19500,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@ -19565,7 +19565,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@ -19633,7 +19633,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@ -19693,7 +19693,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@ -19784,7 +19784,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@ -19852,7 +19852,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@ -19945,7 +19945,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@ -22288,7 +22288,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@ -22369,7 +22369,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@ -22454,7 +22454,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@ -22515,7 +22515,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@ -22587,7 +22587,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,

View file

@ -473,13 +473,13 @@ return [
'frameworks' => [
getFramework('FLUTTER', [
'providerRootDirectory' => './',
'buildCommand' => 'bash build.sh',
'buildCommand' => 'bash prepare-env.sh && flutter build web',
]),
],
'vcsProvider' => 'github',
'providerRepositoryId' => 'starter-for-flutter',
'providerOwner' => 'appwrite',
'providerVersion' => '0.1.*',
'providerVersion' => '0.2.*',
'variables' => [
[
'name' => 'APPWRITE_PUBLIC_ENDPOINT',

View file

@ -2268,6 +2268,8 @@ App::get('/v1/projects/:projectId/templates/email/:type/:locale')
$template = $templates['email.' . $type . '-' . $locale] ?? null;
$localeObj = new Locale($locale);
$localeObj->setFallback(System::getEnv('_APP_LOCALE', 'en'));
if (is_null($template)) {
/**
* different templates, different placeholders.

View file

@ -643,15 +643,20 @@ App::get('/v1/users')
$cursor->setValue($cursorDocument);
}
$filterQueries = Query::groupByType($queries)['filters'];
try {
$users = $dbForProject->find('users', $queries);
$total = $dbForProject->count('users', $filterQueries, APP_LIMIT_COUNT);
} catch (OrderException $e) {
throw new Exception(Exception::DATABASE_QUERY_ORDER_NULL, "The order attribute '{$e->getAttribute()}' had a null value. Cursor pagination requires all documents order attribute values are non-null.");
} catch (QueryException $e) {
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
}
$users = [];
$total = 0;
$dbForProject->skipFilters(function () use ($dbForProject, $queries, &$users, &$total) {
try {
$users = $dbForProject->find('users', $queries);
$total = $dbForProject->count('users', $queries, APP_LIMIT_COUNT);
} catch (OrderException $e) {
throw new Exception(Exception::DATABASE_QUERY_ORDER_NULL, "The order attribute '{$e->getAttribute()}' had a null value. Cursor pagination requires all documents order attribute values are non-null.");
} catch (QueryException $e) {
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
}
}, ['subQueryAuthenticators', 'subQuerySessions', 'subQueryTokens', 'subQueryChallenges', 'subQueryMemberships']);
$response->dynamic(new Document([
'users' => $users,
'total' => $total,

View file

@ -13,6 +13,7 @@ use Utopia\Database\Helpers\ID;
use Utopia\Database\Helpers\Permission;
use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\UID;
use Utopia\Locale\Locale;
use Utopia\System\System;
use Utopia\Validator\Host;
use Utopia\Validator\Text;
@ -35,6 +36,25 @@ App::get('/v1/mock/tests/general/oauth2')
$response->redirect($redirectURI . '?' . \http_build_query(['code' => 'abcdef', 'state' => $state]));
});
App::get('/v1/mock/tests/locale')
->desc('Mock locale translation key')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
->label('mock', true)
->inject('locale')
->inject('localeCodes')
->inject('request')
->inject('response')
->action(function (Locale $locale, array $localeCodes, Request $request, Response $response) {
$localeParam = (string) $request->getParam('locale', $request->getHeader('x-appwrite-locale', ''));
if (\in_array($localeParam, $localeCodes)) {
$locale->setDefault($localeParam);
}
$response->send($locale->getText('mock'));
});
App::get('/v1/mock/tests/general/oauth2/token')
->desc('OAuth2 Token')
->groups(['mock'])

View file

@ -245,10 +245,16 @@ Database::addFilter(
return;
},
function (mixed $value, Document $document, Database $database) {
$resourceType = match ($document->getCollection()) {
'functions' => ['function'],
'sites' => ['site'],
default => ['function', 'site']
};
return $database
->find('variables', [
Query::equal('resourceInternalId', [$document->getSequence()]),
Query::equal('resourceType', ['function', 'site']),
Query::equal('resourceType', $resourceType),
Query::limit(APP_LIMIT_SUBQUERY),
]);
}

View file

@ -70,7 +70,11 @@ App::setResource('hooks', function ($register) {
}, ['register']);
App::setResource('register', fn () => $register);
App::setResource('locale', fn () => new Locale(System::getEnv('_APP_LOCALE', 'en')));
App::setResource('locale', function () {
$locale = new Locale(System::getEnv('_APP_LOCALE', 'en'));
$locale->setFallback(System::getEnv('_APP_LOCALE', 'en'));
return $locale;
});
App::setResource('localeCodes', function () {
return array_map(fn ($locale) => $locale['code'], Config::getParam('locale-codes', []));

View file

@ -46,13 +46,13 @@
"ext-sockets": "*",
"appwrite/php-runtimes": "0.19.*",
"appwrite/php-clamav": "2.0.*",
"utopia-php/abuse": "0.52.*",
"utopia-php/abuse": "1.*",
"utopia-php/analytics": "0.10.*",
"utopia-php/audit": "0.55.*",
"utopia-php/audit": "1.*",
"utopia-php/cache": "0.13.*",
"utopia-php/cli": "0.15.*",
"utopia-php/config": "0.2.*",
"utopia-php/database": "0.77.*",
"utopia-php/database": "1.*",
"utopia-php/detector": "0.1.*",
"utopia-php/domains": "0.8.*",
"utopia-php/dns": "0.3.*",
@ -60,10 +60,10 @@
"utopia-php/framework": "0.33.*",
"utopia-php/fetch": "0.4.*",
"utopia-php/image": "0.8.*",
"utopia-php/locale": "0.4.*",
"utopia-php/locale": "0.8.*",
"utopia-php/logger": "0.6.*",
"utopia-php/messaging": "0.18.*",
"utopia-php/migration": "0.14.*",
"utopia-php/migration": "1.*",
"utopia-php/orchestration": "0.9.*",
"utopia-php/platform": "0.7.*",
"utopia-php/pools": "0.8.*",
@ -84,7 +84,7 @@
"spomky-labs/otphp": "^10.0",
"webonyx/graphql-php": "14.11.*",
"league/csv": "9.14.*",
"enshrined/svg-sanitize": "0.21.*"
"enshrined/svg-sanitize": "0.22.*"
},
"require-dev": {
"ext-fileinfo": "*",

178
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "72786a5d87326f396250f18d725dea23",
"content-hash": "3456d5ee571287eb4ea90683279f209a",
"packages": [
{
"name": "adhocore/jwt",
@ -630,16 +630,16 @@
},
{
"name": "enshrined/svg-sanitize",
"version": "0.21.0",
"version": "0.22.0",
"source": {
"type": "git",
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
"reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9"
"reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
"reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500",
"reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500",
"shasum": ""
},
"require": {
@ -669,9 +669,9 @@
"description": "An SVG sanitizer for PHP",
"support": {
"issues": "https://github.com/darylldoyle/svg-sanitizer/issues",
"source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.21.0"
"source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0"
},
"time": "2025-01-13T09:32:25+00:00"
"time": "2025-08-12T10:13:48+00:00"
},
{
"name": "giggsey/libphonenumber-for-php-lite",
@ -3203,16 +3203,16 @@
},
{
"name": "utopia-php/abuse",
"version": "0.52.0",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/abuse.git",
"reference": "a0d6421e7e5baa3ac02755496dca9fdeaa814b93"
"reference": "c5e2232033b507a07f72180dc56d37e1872ee7be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/a0d6421e7e5baa3ac02755496dca9fdeaa814b93",
"reference": "a0d6421e7e5baa3ac02755496dca9fdeaa814b93",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/c5e2232033b507a07f72180dc56d37e1872ee7be",
"reference": "c5e2232033b507a07f72180dc56d37e1872ee7be",
"shasum": ""
},
"require": {
@ -3220,7 +3220,7 @@
"ext-pdo": "*",
"ext-redis": "*",
"php": ">=8.0",
"utopia-php/database": "0.*.*"
"utopia-php/database": "1.*"
},
"require-dev": {
"laravel/pint": "1.*",
@ -3248,9 +3248,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/abuse/issues",
"source": "https://github.com/utopia-php/abuse/tree/0.52.0"
"source": "https://github.com/utopia-php/abuse/tree/1.0.0"
},
"time": "2025-03-06T03:48:29+00:00"
"time": "2025-08-13T09:12:54+00:00"
},
{
"name": "utopia-php/analytics",
@ -3300,21 +3300,21 @@
},
{
"name": "utopia-php/audit",
"version": "0.55.0",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/audit.git",
"reference": "9f8cfe5fa5d5011b8dbf93b710236dfa91dc5518"
"reference": "c0ed75f4d068f1f6c2e7149a909490d4214e72bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/9f8cfe5fa5d5011b8dbf93b710236dfa91dc5518",
"reference": "9f8cfe5fa5d5011b8dbf93b710236dfa91dc5518",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/c0ed75f4d068f1f6c2e7149a909490d4214e72bb",
"reference": "c0ed75f4d068f1f6c2e7149a909490d4214e72bb",
"shasum": ""
},
"require": {
"php": ">=8.0",
"utopia-php/database": "0.*.*"
"utopia-php/database": "1.*"
},
"require-dev": {
"laravel/pint": "1.*",
@ -3341,9 +3341,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/audit/issues",
"source": "https://github.com/utopia-php/audit/tree/0.55.0"
"source": "https://github.com/utopia-php/audit/tree/1.0.0"
},
"time": "2025-03-06T03:47:47+00:00"
"time": "2025-08-13T09:09:00+00:00"
},
{
"name": "utopia-php/cache",
@ -3545,16 +3545,16 @@
},
{
"name": "utopia-php/database",
"version": "0.77.0",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/database.git",
"reference": "a8ab3a7b25a5a1edf7e7afc83eda9f7aec5ba57d"
"reference": "eaa4e275cefdeeb90bcece2f056e05b59f5b1473"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/database/zipball/a8ab3a7b25a5a1edf7e7afc83eda9f7aec5ba57d",
"reference": "a8ab3a7b25a5a1edf7e7afc83eda9f7aec5ba57d",
"url": "https://api.github.com/repos/utopia-php/database/zipball/eaa4e275cefdeeb90bcece2f056e05b59f5b1473",
"reference": "eaa4e275cefdeeb90bcece2f056e05b59f5b1473",
"shasum": ""
},
"require": {
@ -3595,9 +3595,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/database/issues",
"source": "https://github.com/utopia-php/database/tree/0.77.0"
"source": "https://github.com/utopia-php/database/tree/1.0.0"
},
"time": "2025-08-07T09:30:32+00:00"
"time": "2025-08-11T13:56:31+00:00"
},
{
"name": "utopia-php/detector",
@ -3945,22 +3945,24 @@
},
{
"name": "utopia-php/locale",
"version": "0.4.0",
"version": "0.8.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/locale.git",
"reference": "c2d9358d0fe2f6b6ed5448369f9d1e430c615447"
"reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/locale/zipball/c2d9358d0fe2f6b6ed5448369f9d1e430c615447",
"reference": "c2d9358d0fe2f6b6ed5448369f9d1e430c615447",
"url": "https://api.github.com/repos/utopia-php/locale/zipball/10ffc869c904c45e32ab0c61f4b33ba774777eb6",
"reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6",
"shasum": ""
},
"require": {
"php": ">=7.4"
},
"require-dev": {
"laravel/pint": "1.2.*",
"phpstan/phpstan": "1.*",
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
@ -3974,12 +3976,6 @@
"license": [
"MIT"
],
"authors": [
{
"name": "Eldad Fux",
"email": "eldad@appwrite.io"
}
],
"description": "A simple locale library to manage application translations",
"keywords": [
"framework",
@ -3990,9 +3986,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/locale/issues",
"source": "https://github.com/utopia-php/locale/tree/0.4.0"
"source": "https://github.com/utopia-php/locale/tree/0.8.0"
},
"time": "2021-07-24T11:35:55+00:00"
"time": "2025-08-12T12:58:26+00:00"
},
{
"name": "utopia-php/logger",
@ -4101,16 +4097,16 @@
},
{
"name": "utopia-php/migration",
"version": "0.14.3",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/migration.git",
"reference": "c47855518c95f80fde71fec5f6598623eb2fc884"
"reference": "0e4499d9dd2c90c2be188cc5fb7a32d9a892b569"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/migration/zipball/c47855518c95f80fde71fec5f6598623eb2fc884",
"reference": "c47855518c95f80fde71fec5f6598623eb2fc884",
"url": "https://api.github.com/repos/utopia-php/migration/zipball/0e4499d9dd2c90c2be188cc5fb7a32d9a892b569",
"reference": "0e4499d9dd2c90c2be188cc5fb7a32d9a892b569",
"shasum": ""
},
"require": {
@ -4118,7 +4114,7 @@
"ext-curl": "*",
"ext-openssl": "*",
"php": ">=8.1",
"utopia-php/database": "0.*.*",
"utopia-php/database": "1.*",
"utopia-php/dsn": "0.2.*",
"utopia-php/framework": "0.33.*",
"utopia-php/storage": "0.18.*"
@ -4151,9 +4147,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/migration/issues",
"source": "https://github.com/utopia-php/migration/tree/0.14.3"
"source": "https://github.com/utopia-php/migration/tree/1.0.0"
},
"time": "2025-08-08T13:10:17+00:00"
"time": "2025-08-13T09:15:53+00:00"
},
{
"name": "utopia-php/orchestration",
@ -6147,16 +6143,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.6.23",
"version": "9.6.24",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95"
"reference": "ea49afa29aeea25ea7bf9de9fdd7cab163cc0701"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43d2cb18d0675c38bd44982a5d1d88f6d53d8d95",
"reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea49afa29aeea25ea7bf9de9fdd7cab163cc0701",
"reference": "ea49afa29aeea25ea7bf9de9fdd7cab163cc0701",
"shasum": ""
},
"require": {
@ -6167,7 +6163,7 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.13.1",
"myclabs/deep-copy": "^1.13.4",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=7.3",
@ -6178,11 +6174,11 @@
"phpunit/php-timer": "^5.0.3",
"sebastian/cli-parser": "^1.0.2",
"sebastian/code-unit": "^1.0.8",
"sebastian/comparator": "^4.0.8",
"sebastian/comparator": "^4.0.9",
"sebastian/diff": "^4.0.6",
"sebastian/environment": "^5.1.5",
"sebastian/exporter": "^4.0.6",
"sebastian/global-state": "^5.0.7",
"sebastian/global-state": "^5.0.8",
"sebastian/object-enumerator": "^4.0.4",
"sebastian/resource-operations": "^3.0.4",
"sebastian/type": "^3.2.1",
@ -6230,7 +6226,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.23"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.24"
},
"funding": [
{
@ -6254,7 +6250,7 @@
"type": "tidelift"
}
],
"time": "2025-05-02T06:40:34+00:00"
"time": "2025-08-10T08:32:42+00:00"
},
{
"name": "psr/cache",
@ -6474,16 +6470,16 @@
},
{
"name": "sebastian/comparator",
"version": "4.0.8",
"version": "4.0.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "fa0f136dd2334583309d32b62544682ee972b51a"
"reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
"reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/67a2df3a62639eab2cc5906065e9805d4fd5dfc5",
"reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5",
"shasum": ""
},
"require": {
@ -6536,15 +6532,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.9"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/sebastian/comparator",
"type": "tidelift"
}
],
"time": "2022-09-14T12:41:17+00:00"
"time": "2025-08-10T06:51:50+00:00"
},
{
"name": "sebastian/complexity",
@ -6811,16 +6819,16 @@
},
{
"name": "sebastian/global-state",
"version": "5.0.7",
"version": "5.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
"reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
"reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
"shasum": ""
},
"require": {
@ -6863,15 +6871,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/sebastian/global-state",
"type": "tidelift"
}
],
"time": "2024-03-02T06:35:11+00:00"
"time": "2025-08-10T07:10:35+00:00"
},
{
"name": "sebastian/lines-of-code",
@ -7044,16 +7064,16 @@
},
{
"name": "sebastian/recursion-context",
"version": "4.0.5",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
"reference": "539c6691e0623af6dc6f9c20384c120f963465a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0",
"reference": "539c6691e0623af6dc6f9c20384c120f963465a0",
"shasum": ""
},
"require": {
@ -7095,15 +7115,27 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context",
"type": "tidelift"
}
],
"time": "2023-02-03T06:07:39+00:00"
"time": "2025-08-10T06:57:39+00:00"
},
{
"name": "sebastian/resource-operations",

View file

@ -216,7 +216,7 @@ services:
appwrite-console:
<<: *x-logging
container_name: appwrite-console
image: appwrite/console:6.2.0
image: appwrite/console:7.0.0-qa.8
restart: unless-stopped
networks:
- appwrite
@ -963,7 +963,7 @@ services:
hostname: exc1
<<: *x-logging
stop_signal: SIGINT
image: openruntimes/executor:0.7.22
image: openruntimes/executor:0.8.1
restart: unless-stopped
networks:
- appwrite

View file

@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.

View file

@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Bulk delete documents using queries, if no queries are passed then all documents are deleted.

View file

@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.

View file

@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.

View file

@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.

View file

@ -35,7 +35,7 @@ abstract class Action extends UtopiaAction
*
* Used for endpoints with multiple sdk methods.
*/
final protected function getBulkActionName(string $name): string
protected function getBulkActionName(string $name): string
{
return "{$name}s";
}
@ -43,7 +43,7 @@ abstract class Action extends UtopiaAction
/**
* Get the current context.
*/
final protected function getContext(): string
protected function getContext(): string
{
return $this->context;
}
@ -51,7 +51,7 @@ abstract class Action extends UtopiaAction
/**
* Returns true if current context is Collections API.
*/
final protected function isCollectionsAPI(): bool
protected function isCollectionsAPI(): bool
{
// rows in tables api context
// documents in collections api context
@ -63,7 +63,7 @@ abstract class Action extends UtopiaAction
*
* Can be used for XList operations as well!
*/
final protected function getSdkGroup(): string
protected function getSdkGroup(): string
{
return $this->isCollectionsAPI() ? 'documents' : 'rows';
}
@ -71,7 +71,7 @@ abstract class Action extends UtopiaAction
/**
* Get the SDK namespace for the current action.
*/
final protected function getSdkNamespace(): string
protected function getSdkNamespace(): string
{
return $this->isCollectionsAPI() ? 'databases' : 'grids';
}
@ -79,7 +79,7 @@ abstract class Action extends UtopiaAction
/**
* Get the correct attribute/column structure context for errors.
*/
final protected function getStructureContext(): string
protected function getStructureContext(): string
{
return $this->isCollectionsAPI() ? 'attributes' : 'columns';
}
@ -87,7 +87,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate parent level not found exception.
*/
final protected function getParentNotFoundException(): string
protected function getParentNotFoundException(): string
{
return $this->isCollectionsAPI()
? Exception::COLLECTION_NOT_FOUND
@ -97,7 +97,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate attribute/column not found exception.
*/
final protected function getStructureNotFoundException(): string
protected function getStructureNotFoundException(): string
{
return $this->isCollectionsAPI()
? Exception::ATTRIBUTE_NOT_FOUND
@ -107,7 +107,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate not found exception.
*/
final protected function getNotFoundException(): string
protected function getNotFoundException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_NOT_FOUND
@ -117,7 +117,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate already exists exception.
*/
final protected function getDuplicateException(): string
protected function getDuplicateException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_ALREADY_EXISTS
@ -127,7 +127,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate conflict exception.
*/
final protected function getConflictException(): string
protected function getConflictException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_UPDATE_CONFLICT
@ -137,7 +137,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate delete restricted exception.
*/
final protected function getRestrictedException(): string
protected function getRestrictedException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_DELETE_RESTRICTED
@ -147,7 +147,7 @@ abstract class Action extends UtopiaAction
/**
* Get the correct invalid structure message.
*/
final protected function getInvalidStructureException(): string
protected function getInvalidStructureException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_INVALID_STRUCTURE
@ -157,7 +157,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate missing data exception.
*/
final protected function getMissingDataException(): string
protected function getMissingDataException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_MISSING_DATA
@ -167,7 +167,7 @@ abstract class Action extends UtopiaAction
/**
* Get the exception to throw when the resource limit is exceeded.
*/
final protected function getLimitException(): string
protected function getLimitException(): string
{
return $this->isCollectionsAPI()
? Exception::ATTRIBUTE_LIMIT_EXCEEDED
@ -177,7 +177,7 @@ abstract class Action extends UtopiaAction
/**
* Get the appropriate missing payload exception.
*/
final protected function getMissingPayloadException(): string
protected function getMissingPayloadException(): string
{
return $this->isCollectionsAPI()
? Exception::DOCUMENT_MISSING_PAYLOAD
@ -187,7 +187,7 @@ abstract class Action extends UtopiaAction
/**
* Get the correct collections context for Events queue.
*/
final protected function getCollectionsEventsContext(): string
protected function getCollectionsEventsContext(): string
{
return $this->isCollectionsAPI() ? 'collection' : 'table';
}
@ -195,7 +195,7 @@ abstract class Action extends UtopiaAction
/**
* Resolves relationships in a document and attaches metadata.
*/
final protected function processDocument(
protected function processDocument(
/* database */
Document $database,
Document $collection,

View file

@ -17,6 +17,7 @@ use Utopia\Database\Document;
use Utopia\Database\Exception\Conflict as ConflictException;
use Utopia\Database\Exception\Query as QueryException;
use Utopia\Database\Exception\Restricted as RestrictedException;
use Utopia\Database\Helpers\ID;
use Utopia\Database\Query;
use Utopia\Database\Validator\UID;
use Utopia\Swoole\Response as SwooleResponse;

Some files were not shown because too many files have changed in this diff Show more