diff --git a/bun.lock b/bun.lock
index 05bdf932dd..a8194ed8ea 100644
--- a/bun.lock
+++ b/bun.lock
@@ -6,7 +6,7 @@
"name": "@appwrite/console",
"dependencies": {
"@ai-sdk/svelte": "^1.1.24",
- "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95",
+ "@appwrite.io/console": "^12.2.0",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
"@appwrite.io/pink-legacy": "^1.0.3",
@@ -124,15 +124,15 @@
"@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="],
- "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95", { "dependencies": { "json-bigint": "1.0.0" } }],
+ "@appwrite.io/console": ["@appwrite.io/console@12.2.0", "", { "dependencies": { "json-bigint": "1.0.0" } }, "sha512-kv5CS/pWlSkLzG1mPctUr5fMdisZRrkOYStIvAaNPHv+bl/wFCZMMoRoiPGlBpw2NKwTddGFkkQvHq8GbxehNA=="],
"@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="],
- "@appwrite.io/pink-icons-svelte": ["@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", { "peerDependencies": { "svelte": "^4.0.0" } }],
+ "@appwrite.io/pink-icons-svelte": ["@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", { "peerDependencies": { "svelte": "^4.0.0" } }, "sha512-2HYl/CC2OlfZIR7LzbLXuSPBn0iNkjbnxpaeGCkZ7UNZ/hFeSeeWjDJqTBMdZ8+X95uuZqHx62XPTiE/svuSXQ=="],
"@appwrite.io/pink-legacy": ["@appwrite.io/pink-legacy@1.0.3", "", { "dependencies": { "@appwrite.io/pink-icons": "1.0.0", "the-new-css-reset": "^1.11.2" } }, "sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ=="],
- "@appwrite.io/pink-svelte": ["@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8dcaa17", { "dependencies": { "@appwrite.io/pink-icons-svelte": "2.0.0-RC.1", "@floating-ui/dom": "^1.6.13", "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.86.6", "@tanstack/svelte-virtual": "^3.13.10", "ansicolor": "^2.0.3", "d3": "^7.9.0", "fuse.js": "^7.1.0", "pretty-bytes": "^6.1.1", "shiki": "^1.18.0", "svelte-motion": "^0.12.2", "svelte-sonner": "^0.3.28" }, "peerDependencies": { "svelte": "^4.0.0" } }],
+ "@appwrite.io/pink-svelte": ["@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8dcaa17", { "dependencies": { "@appwrite.io/pink-icons-svelte": "2.0.0-RC.1", "@floating-ui/dom": "^1.6.13", "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.86.6", "@tanstack/svelte-virtual": "^3.13.10", "ansicolor": "^2.0.3", "d3": "^7.9.0", "fuse.js": "^7.1.0", "pretty-bytes": "^6.1.1", "shiki": "^1.18.0", "svelte-motion": "^0.12.2", "svelte-sonner": "^0.3.28" }, "peerDependencies": { "svelte": "^4.0.0" } }, "sha512-rw3zXN7/cUciCnhj0FR8M0H5Db+LYYMaKtPxvOAIMxNTBmStzU8kTw6grqIvdtFu9vybIsjKtIwm9QLHpNDBjA=="],
"@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="],
diff --git a/package.json b/package.json
index 0eb4abad81..71e5403165 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
},
"dependencies": {
"@ai-sdk/svelte": "^1.1.24",
- "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95",
+ "@appwrite.io/console": "^12.2.0",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
"@appwrite.io/pink-legacy": "^1.0.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c40bac9d87..c2890878a0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -936,42 +936,36 @@ packages:
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
- libc: [glibc]
'@parcel/watcher-linux-arm-musl@2.5.6':
resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==}
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
- libc: [musl]
'@parcel/watcher-linux-arm64-glibc@2.5.6':
resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
- libc: [glibc]
'@parcel/watcher-linux-arm64-musl@2.5.6':
resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
- libc: [musl]
'@parcel/watcher-linux-x64-glibc@2.5.6':
resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
- libc: [glibc]
'@parcel/watcher-linux-x64-musl@2.5.6':
resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
- libc: [musl]
'@parcel/watcher-win32-arm64@2.5.6':
resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==}
@@ -1046,79 +1040,66 @@ packages:
resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==}
cpu: [arm]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.60.0':
resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==}
cpu: [arm]
os: [linux]
- libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.60.0':
resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==}
cpu: [arm64]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.60.0':
resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==}
cpu: [arm64]
os: [linux]
- libc: [musl]
'@rollup/rollup-linux-loong64-gnu@4.60.0':
resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==}
cpu: [loong64]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-loong64-musl@4.60.0':
resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==}
cpu: [loong64]
os: [linux]
- libc: [musl]
'@rollup/rollup-linux-ppc64-gnu@4.60.0':
resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==}
cpu: [ppc64]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-ppc64-musl@4.60.0':
resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==}
cpu: [ppc64]
os: [linux]
- libc: [musl]
'@rollup/rollup-linux-riscv64-gnu@4.60.0':
resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==}
cpu: [riscv64]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.60.0':
resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==}
cpu: [riscv64]
os: [linux]
- libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.60.0':
resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==}
cpu: [s390x]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.60.0':
resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==}
cpu: [x64]
os: [linux]
- libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.60.0':
resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==}
cpu: [x64]
os: [linux]
- libc: [musl]
'@rollup/rollup-openbsd-x64@4.60.0':
resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==}
diff --git a/sdk-for-console b/sdk-for-console
new file mode 160000
index 0000000000..dcfff2a2aa
--- /dev/null
+++ b/sdk-for-console
@@ -0,0 +1 @@
+Subproject commit dcfff2a2aae16c35fac395da82b7bf6891e4d64d
diff --git a/src/lib/components/domains/status.ts b/src/lib/components/domains/status.ts
index 89bb1df411..c5f1c41075 100644
--- a/src/lib/components/domains/status.ts
+++ b/src/lib/components/domains/status.ts
@@ -13,10 +13,9 @@ export function isProxyRuleVerified(status: ProxyRuleStatusValue): boolean {
}
export function normalizeProxyRuleStatus(status: ProxyRuleStatusValue): ProxyRuleStatusValue {
- if (status === ProxyRuleStatus.Created) {
+ if (status === 'created') {
return ProxyRuleStatus.Unverified;
}
-
return status;
}
diff --git a/src/lib/components/domains/viewLogsModal.svelte b/src/lib/components/domains/viewLogsModal.svelte
index 3f558c71a0..9fd5fb366b 100644
--- a/src/lib/components/domains/viewLogsModal.svelte
+++ b/src/lib/components/domains/viewLogsModal.svelte
@@ -43,7 +43,7 @@
try {
selectedProxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId: selectedProxyRule.$id });
+ .proxy.updateRuleStatus({ ruleId: selectedProxyRule.$id });
await invalidate(Dependencies.DOMAINS);
show = false;
diff --git a/src/lib/helpers/faker.ts b/src/lib/helpers/faker.ts
index 83b390bebe..4eaecf3468 100644
--- a/src/lib/helpers/faker.ts
+++ b/src/lib/helpers/faker.ts
@@ -252,6 +252,10 @@ function generateSingleValue(field: Field): string | number | boolean | NestedNu
return faker.number.int({ min, max });
}
+ case 'bigint': {
+ return faker.number.bigInt().toString();
+ }
+
case 'double': {
const floatAttr = field as Models.ColumnFloat;
const min = isWithinSafeRange(floatAttr.min) ? floatAttr.min : 0;
diff --git a/src/lib/helpers/types.ts b/src/lib/helpers/types.ts
index 06908fb73e..bc7f9164e1 100644
--- a/src/lib/helpers/types.ts
+++ b/src/lib/helpers/types.ts
@@ -32,6 +32,7 @@ const columnTypes = [
'text',
'mediumtext',
'longtext',
+ 'bigint',
'integer',
'double',
'boolean',
diff --git a/src/lib/stores/auth-methods.ts b/src/lib/stores/auth-methods.ts
index 4e2c0cf78a..4be9911c49 100644
--- a/src/lib/stores/auth-methods.ts
+++ b/src/lib/stores/auth-methods.ts
@@ -1,5 +1,5 @@
import { writable } from 'svelte/store';
-import { type Models, MethodId } from '@appwrite.io/console';
+import { type Models, AuthMethod as MethodId } from '@appwrite.io/console';
export type AuthMethod = {
label: string;
diff --git a/src/routes/(console)/project-[region]-[project]/auth/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/settings/+page.svelte
index 3596e8d7ea..83b6c3e4ed 100644
--- a/src/routes/(console)/project-[region]-[project]/auth/settings/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/auth/settings/+page.svelte
@@ -10,7 +10,7 @@
import { addNotification } from '$lib/stores/notifications';
import { oAuthProviders } from '$lib/stores/oauth-providers';
import { sdk } from '$lib/stores/sdk';
- import { MethodId, type Models } from '@appwrite.io/console';
+ import { AuthMethod as MethodId, type Models } from '@appwrite.io/console';
import { base } from '$app/paths';
import {
Avatar,
diff --git a/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts b/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts
index 0c21955027..3931406c3e 100644
--- a/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts
+++ b/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts
@@ -218,8 +218,8 @@ async function updateProjectOAuth({
clientSecret: getSecret('clientSecret'),
wellKnownURL: getDetail('wellKnownURL'),
authorizationURL: getDetail('authorizationURL'),
- tokenUrl: getDetail('tokenUrl'),
- userInfoUrl: getDetail('userInfoUrl'),
+ tokenURL: getDetail('tokenUrl'),
+ userInfoURL: getDetail('userInfoUrl'),
enabled
});
case OAuthProvider.Okta:
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts
index 22a14a6f59..a34a5d001d 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts
@@ -15,6 +15,7 @@ export type Columns =
| Models.ColumnEmail
| Models.ColumnEnum
| Models.ColumnFloat
+ | Models.ColumnBigint
| Models.ColumnInteger
| Models.ColumnIp
| Models.ColumnString
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte
index e4ec54e109..894a7d3f76 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte
@@ -65,7 +65,7 @@
import { hash } from '$lib/helpers/string';
import { preferences } from '$lib/stores/preferences';
import { buildFieldUrl } from '$database/(entity)/helpers/navigation';
- import { isRelationship } from '$database/table-[table]/rows/store';
+ import { isRelationship, buildPayload } from '$database/table-[table]/rows/store';
import { chunks } from '$lib/helpers/array';
import { Submit, trackEvent } from '$lib/actions/analytics';
import {
@@ -357,7 +357,7 @@
databaseId: page.params.database,
tableId: page.params.table,
rowId: row.$id,
- data: row
+ data: buildPayload(columns, row)
})
)
);
@@ -369,7 +369,7 @@
await tablesSDK.createRows({
databaseId: page.params.database,
tableId: page.params.table,
- rows
+ rows: rows.map((row) => buildPayload(columns, row))
});
}
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte
index 7eb17505ea..5c457edce1 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte
@@ -198,8 +198,15 @@
) {
const stringColumn = column as Models.ColumnString;
return { display: `Size: ${stringColumn.size}` };
- } else if (column.type === 'integer' || column.type === 'double') {
- const numbersColumn = column as Models.ColumnInteger | Models.ColumnFloat;
+ } else if (
+ column.type === 'bigint' ||
+ column.type === 'integer' ||
+ column.type === 'double'
+ ) {
+ const numbersColumn = column as
+ | Models.ColumnBigint
+ | Models.ColumnInteger
+ | Models.ColumnFloat;
const { min, max } = numbersColumn;
const isMinBigInt = typeof min === 'bigint';
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/bigint.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/bigint.svelte
new file mode 100644
index 0000000000..9e36a435e0
--- /dev/null
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/bigint.svelte
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts
index 17df93972b..b2adfc0390 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts
@@ -4,6 +4,7 @@ import Boolean, { submitBoolean, updateBoolean } from './boolean.svelte';
import Email, { submitEmail, updateEmail } from './email.svelte';
import Enum, { submitEnum, updateEnum } from './enum.svelte';
import Float, { submitFloat, updateFloat } from './float.svelte';
+import BigInt, { submitBigInt, updateBigInt } from './bigint.svelte';
import Integer, { submitInteger, updateInteger } from './integer.svelte';
import Ip, { submitIp, updateIp } from './ip.svelte';
import String, { submitString, updateString } from './string.svelte';
@@ -41,6 +42,7 @@ export type Option = {
| 'Mediumtext'
| 'Longtext'
| 'Varchar'
+ | 'BigInt'
| 'Integer'
| 'Float'
| 'Boolean'
@@ -62,6 +64,7 @@ export type Option = {
| 'mediumtext'
| 'longtext'
| 'varchar'
+ | 'bigint'
| 'integer'
| 'double'
| 'boolean'
@@ -125,6 +128,15 @@ export const columnOptions: Option[] = [
update: updateVarchar,
icon: IconText
},
+ {
+ name: 'BigInt',
+ sentenceName: 'bigint',
+ component: BigInt,
+ type: 'bigint',
+ create: submitBigInt,
+ update: updateBigInt,
+ icon: IconHashtag
+ },
{
name: 'Integer',
sentenceName: 'integer',
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte
index 9be533a7c1..37947fefe3 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte
@@ -16,7 +16,16 @@
export let label: string;
export let array: boolean | undefined = undefined;
export let optionalText: string | undefined = undefined;
- export let value: string | number | boolean | null | string[];
+ export let value:
+ | string
+ | number
+ | bigint
+ | boolean
+ | null
+ | string[]
+ | number[]
+ | bigint[]
+ | boolean[];
export let editing = false;
export let limited = false;
export let column:
@@ -24,6 +33,7 @@
| Models.ColumnEmail
| Models.ColumnEnum
| Models.ColumnFloat
+ | Models.ColumnBigint
| Models.ColumnInteger
| Models.ColumnIp
| Models.ColumnString
@@ -43,6 +53,7 @@
text: String,
mediumtext: String,
longtext: String,
+ bigint: Integer,
integer: Integer,
double: Integer,
boolean: Boolean,
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/string.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/string.svelte
index fbfa549ae9..ceaee2a963 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/string.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/string.svelte
@@ -24,6 +24,7 @@
| Models.ColumnText
| Models.ColumnMediumtext
| Models.ColumnLongtext
+ | Models.ColumnBigint
| Models.ColumnInteger
| Models.ColumnFloat
| Models.ColumnBoolean
@@ -51,6 +52,7 @@
if (!trimmed) return null;
switch (column.type) {
+ case 'bigint':
case 'integer': {
const int = parseInt(trimmed, 10);
return isNaN(int) ? null : int;
@@ -122,6 +124,7 @@
const getPlaceholder = () => {
if (!array) {
switch (column.type) {
+ case 'bigint':
case 'integer':
return 'Enter integer';
case 'double':
@@ -134,6 +137,7 @@
}
} else {
switch (column.type) {
+ case 'bigint':
case 'integer':
return 'Enter integers separated by commas';
case 'double':
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/create.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/create.svelte
index 275698c1e3..3262b1c1a5 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/create.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/create.svelte
@@ -14,7 +14,8 @@
import { invalidate } from '$app/navigation';
import { Dependencies } from '$lib/constants';
import { tick } from 'svelte';
- import { isRelationship, isRelationshipToMany } from './store';
+ import { isRelationship, isRelationshipToMany, buildPayload } from './store';
+ import type { RowValue } from './store';
import { hash } from '$lib/helpers/string';
type CreateRow = {
@@ -70,7 +71,7 @@
function prepareRowPayload(createRowObject: CreateRow): object {
const { row, columns } = createRowObject;
- const payload = structuredClone(row);
+ const payload = structuredClone(row) as Record;
for (const column of columns) {
if (isRelationship(column) && !isRelationshipToMany(column)) {
@@ -79,7 +80,13 @@
if (value && typeof value === 'object') {
if (Array.isArray(value)) {
- payload[key] = value.map((item) => item?.$id).filter(Boolean);
+ payload[key] = value
+ .map((item) =>
+ item && typeof item === 'object' && '$id' in item
+ ? (item.$id as string)
+ : null
+ )
+ .filter(Boolean);
} else {
payload[key] = (value as { $id: string })['$id'];
}
@@ -87,7 +94,7 @@
}
}
- return payload;
+ return buildPayload(columns, payload);
}
async function create(): Promise {
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/edit.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/edit.svelte
index 8d00ab1f91..2276fd83b3 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/edit.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/edit.svelte
@@ -10,7 +10,7 @@
import { invalidate } from '$app/navigation';
import { PROHIBITED_ROW_KEYS } from '../store';
import ColumnItem from './columns/columnItem.svelte';
- import { isRelationship, isRelationshipToMany, isSpatialType } from './store';
+ import { isRelationship, isRelationshipToMany, isSpatialType, buildPayload } from './store';
import { Layout, Skeleton } from '@appwrite.io/pink-svelte';
import { deepClone } from '$lib/helpers/object';
import { type Entity, toRelationalField } from '$database/(entity)';
@@ -138,11 +138,13 @@
if (!row || !work) return;
try {
+ const payload = buildPayload(table.fields, $work);
+
await sdk.forProject(page.params.region, page.params.project).tablesDB.updateRow({
databaseId: table.databaseId,
tableId: table.$id,
rowId: row.$id,
- data: $work,
+ data: payload,
permissions: $work.$permissions
});
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte
index 768ebf6fbb..70ae07260d 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte
@@ -11,7 +11,7 @@
import { PROHIBITED_ROW_KEYS } from '../store';
import { type Columns, buildWildcardEntitiesQuery } from '$database/store';
import RelatedRowColumns from './relatedRowColumns.svelte';
- import { isRelationship, isRelationshipToMany } from './store';
+ import { isRelationship, isRelationshipToMany, buildPayload } from './store';
import { Accordion, Layout, Skeleton } from '@appwrite.io/pink-svelte';
import { deepClone } from '$lib/helpers/object';
import { preferences } from '$lib/stores/preferences';
@@ -254,11 +254,12 @@
const work = workData.get(rowId);
const workValue = get(work);
+ const payload = buildPayload(relatedTable.fields, workValue);
await sdk.forProject(page.params.region, page.params.project).tablesDB.updateRow({
databaseId,
tableId: relatedTable.$id,
rowId: rowId,
- data: workValue,
+ data: payload,
permissions: workValue.$permissions
});
@@ -272,13 +273,14 @@
if (!work) return;
const workValue = get(work);
+ const payload = buildPayload(relatedTable.fields, workValue);
return sdk
.forProject(page.params.region, page.params.project)
.tablesDB.updateRow({
databaseId,
tableId: relatedTable.$id,
rowId: row.$id,
- data: workValue,
+ data: payload,
permissions: workValue.$permissions
});
});
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts
index 16b04abd27..ee1686c119 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts
@@ -3,6 +3,12 @@ import type { Column } from '$lib/helpers/types';
import { type Models } from '@appwrite.io/console';
import type { Attributes, Columns } from '../../store';
+type RowPrimitive = string | number | bigint | boolean | null | undefined;
+interface RowObject {
+ [key: string]: RowValue;
+}
+export type RowValue = RowPrimitive | RowValue[] | RowObject;
+
export function isRelationshipToMany(field: Field) {
if (!field) return false;
if (!isRelationship(field)) return false;
@@ -50,3 +56,35 @@ export function isSpatialType(
return spatialTypes.includes(field.type.toLowerCase());
}
+
+function castBigIntValue(value: RowValue): RowValue {
+ if (value === null || value === undefined || value === '') {
+ return value;
+ }
+
+ return String(value);
+}
+
+export function buildPayload>(
+ fields: Field[] | undefined,
+ row: T
+): T {
+ const payload = structuredClone(row) as Record;
+
+ for (const field of fields ?? []) {
+ if (field.type !== 'bigint') {
+ continue;
+ }
+
+ const value = payload[field.key];
+
+ if (field.array && Array.isArray(value)) {
+ payload[field.key] = value.map((item) => castBigIntValue(item));
+ continue;
+ }
+
+ payload[field.key] = castBigIntValue(value);
+ }
+
+ return payload as T;
+}
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte
index d0a7eba1de..45744342ad 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte
@@ -15,6 +15,7 @@
import {
isRelationship,
isRelationshipToMany,
+ buildPayload,
isSpatialType,
isTextType
} from '$database/table-[table]/rows/store';
@@ -359,6 +360,7 @@
switch (type) {
case 'string':
return IconText;
+ case 'bigint':
case 'double':
case 'integer':
return IconHashtag;
@@ -683,11 +685,13 @@
async function updateRowContents(row: Models.Row) {
try {
+ const payload = buildPayload(table.fields, row);
+
await sdk.forProject(page.params.region, page.params.project).tablesDB.updateRow({
databaseId,
tableId: table.$id,
rowId: row.$id,
- data: row,
+ data: payload,
permissions: row.$permissions
});
diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.svelte
index e0e389e912..200e0575d8 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.svelte
@@ -121,6 +121,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).functions.createVariable({
functionId: func.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable.secret
diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte
index 3e125c978f..1e72962068 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte
@@ -90,6 +90,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).functions.createVariable({
functionId: func.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/repository-[repository]/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/repository-[repository]/+page.svelte
index 7b19202d0f..0e022aabcc 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/create-function/repository-[repository]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/repository-[repository]/+page.svelte
@@ -132,6 +132,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).functions.createVariable({
functionId: func.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/+page.svelte
index cfb1bcd802..4a46da427b 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/+page.svelte
@@ -190,6 +190,7 @@
.forProject(page.params.region, page.params.project)
.functions.createVariable({
functionId: func.$id,
+ variableId: ID.unique(),
key: variable.name,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/+page.ts
index 5fdc16ceb7..2ff4cc278d 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/+page.ts
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/+page.ts
@@ -30,9 +30,9 @@ export const load: PageLoad = async ({ depends, params, url, route, parent }) =>
Query.offset(offset),
Query.orderDesc(''),
Query.orderDesc('$updatedAt'),
+ ...(search ? [Query.search('domain', search)] : []),
...parsedQueries.values()
- ],
- search: search || undefined
+ ]
});
const organizationDomains = await fetchOrganizationDomainsForRules(
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
index 7701ebd8d7..a79271ebfc 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
@@ -73,7 +73,7 @@
try {
proxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId });
+ .proxy.updateRuleStatus({ ruleId });
await Promise.all([
invalidate(Dependencies.DOMAINS),
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
index 02a09d4c4a..926b77930c 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
@@ -68,7 +68,7 @@
try {
selectedProxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId: selectedProxyRule.$id });
+ .proxy.updateRuleStatus({ ruleId: selectedProxyRule.$id });
await invalidate(Dependencies.FUNCTION_DOMAINS);
show = false;
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/+page.svelte
index cdfb047521..6175d94b92 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/+page.svelte
@@ -24,6 +24,7 @@
import UpdateVariables from '$routes/(console)/project-[region]-[project]/updateVariables.svelte';
import { page } from '$app/state';
import { Link } from '$lib/elements';
+ import { ID } from '@appwrite.io/console';
export let data;
let showAlert = true;
@@ -31,6 +32,7 @@
const sdkCreateVariable = async (key: string, value: string, secret?: boolean) => {
await sdk.forProject(page.params.region, page.params.project).functions.createVariable({
functionId: data.function.$id,
+ variableId: ID.unique(),
key,
value,
secret
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/+page.ts b/src/routes/(console)/project-[region]-[project]/settings/domains/+page.ts
index bf7570e23f..1fed26837c 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/+page.ts
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/+page.ts
@@ -24,9 +24,9 @@ export const load: PageLoad = async ({ depends, url, route, params, parent }) =>
queries: [
Query.equal('type', RuleType.API),
Query.equal('trigger', RuleTrigger.MANUAL),
+ ...(search ? [Query.search('domain', search)] : []),
Query.orderDesc('$updatedAt')
- ],
- search: search || undefined
+ ]
});
const organizationDomains = await fetchOrganizationDomainsForRules(rules, organization.$id);
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
index 93f725eb0f..b32e4ff1b9 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
@@ -72,7 +72,7 @@
try {
proxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId });
+ .proxy.updateRuleStatus({ ruleId });
await invalidate(Dependencies.DOMAINS);
await goto(routeBase);
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
index 1098b8d3fb..20f895674f 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
@@ -68,7 +68,7 @@
try {
selectedProxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId: selectedProxyRule.$id });
+ .proxy.updateRuleStatus({ ruleId: selectedProxyRule.$id });
await invalidate(Dependencies.DOMAINS);
show = false;
diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte
index 97c6506f58..fa75d27942 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte
@@ -171,6 +171,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).sites.createVariable({
siteId: site.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable.secret
diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/manual/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/manual/+page.svelte
index 5a313e8f57..f2da210d04 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/create-site/manual/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/manual/+page.svelte
@@ -93,6 +93,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).sites.createVariable({
siteId: site.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte
index f4e18691b6..aca5fe7bb3 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte
@@ -143,6 +143,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).sites.createVariable({
siteId: site.$id,
+ variableId: ID.unique(),
key: variable.key,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/template-[template]/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/template-[template]/+page.svelte
index 0e57e223a6..a11121d55c 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/template-[template]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/template-[template]/+page.svelte
@@ -151,6 +151,7 @@
const promises = variables.map((variable) =>
sdk.forProject(page.params.region, page.params.project).sites.createVariable({
siteId: site.$id,
+ variableId: ID.unique(),
key: variable.name,
value: variable.value,
secret: variable?.secret ?? false
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/+page.ts
index 25c021aa66..f9123a58ea 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/+page.ts
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/+page.ts
@@ -29,9 +29,9 @@ export const load = async ({ params, depends, url, route, parent }) => {
Query.offset(offset),
Query.orderDesc(''),
Query.orderDesc('$updatedAt'),
+ ...(search ? [Query.search('domain', search)] : []),
...parsedQueries.values()
- ],
- search: search || undefined
+ ]
});
const organizationDomains = await fetchOrganizationDomainsForRules(
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
index 83eb4f33da..cd0f6f6639 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
@@ -72,7 +72,7 @@
try {
proxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId });
+ .proxy.updateRuleStatus({ ruleId });
await Promise.all([
invalidate(Dependencies.DOMAINS),
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
index 56fa02b6dc..b7b74ae344 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
@@ -68,7 +68,7 @@
try {
selectedProxyRule = await sdk
.forProject(page.params.region, page.params.project)
- .proxy.updateRuleVerification({ ruleId: selectedProxyRule.$id });
+ .proxy.updateRuleStatus({ ruleId: selectedProxyRule.$id });
await invalidate(Dependencies.SITES_DOMAINS);
show = false;
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/+page.svelte
index e91e06eebf..faddf5f366 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/+page.svelte
@@ -17,12 +17,14 @@
import UpdateVariables from '$routes/(console)/project-[region]-[project]/updateVariables.svelte';
import UpdateLogging from './updateLogging.svelte';
import UpdateDeploymentRetention from './updateDeploymentRetention.svelte';
+ import { ID } from '@appwrite.io/console';
export let data;
const sdkCreateVariable = async (key: string, value: string, secret: boolean) => {
await sdk.forProject(page.params.region, page.params.project).sites.createVariable({
siteId: page.params.site,
+ variableId: ID.unique(),
key,
value,
secret