From a38bbd5b9bf067e82511ceb14a9f58fc66de18a7 Mon Sep 17 00:00:00 2001 From: harsh mahajan Date: Thu, 28 May 2026 19:42:50 +0530 Subject: [PATCH 1/7] feat: add OAuth2 server settings card and update SDK to 81a4f24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - New updateOAuth2Server.svelte card in project settings for configuring the project as an OAuth2 authorization server (enabled toggle, authorization URL, scopes, per-client-type token durations, PKCE enforcement) - Add ProjectUpdateOAuth2Server analytics event - Fix enum renames introduced by SDK bump: Status→ProjectStatus, StatusCode→RedirectStatusCode, Adapter→SiteAdapter, BuildRuntime→SiteBuildRuntime, Framework→SiteFramework, Runtime→FunctionRuntime, Scopes→ProjectKeyScopes, Addon→OrganizationAddon --- bun.lock | 4 +- package.json | 2 +- src/lib/actions/analytics.ts | 1 + src/lib/stores/domains.ts | 10 +- .../settings/+page.ts | 4 +- .../collection-[collection]/+page.svelte | 12 +- .../table-[table]/+page.svelte | 12 +- .../create-function/(components)/aside.svelte | 4 +- .../create-function/deploy/+page.svelte | 6 +- .../create-function/manual/+page.svelte | 4 +- .../repository-[repository]/+page.svelte | 6 +- .../template-[template]/+page.svelte | 10 +- .../(modals)/createGit.svelte | 4 +- .../domains/add-domain/+page.svelte | 10 +- .../settings/disconnectRepo.svelte | 4 +- .../settings/updateBuildCommand.svelte | 4 +- .../settings/updateBuildTriggers.svelte | 17 +- .../settings/updateDeploymentRetention.svelte | 4 +- .../settings/updateEvents.svelte | 4 +- .../settings/updateLogging.svelte | 4 +- .../settings/updateName.svelte | 4 +- .../settings/updatePermissions.svelte | 4 +- .../settings/updateRepository.svelte | 8 +- .../settings/updateResourceLimits.svelte | 4 +- .../settings/updateRuntime.svelte | 4 +- .../settings/updateSchedule.svelte | 4 +- .../settings/updateScopes.svelte | 10 +- .../settings/updateTimeout.svelte | 4 +- .../pausedProjectModal.svelte | 7 +- .../settings/+page.svelte | 2 + .../migrations/(import)/wizard.svelte | 14 +- .../settings/updateOAuth2Server.svelte | 292 ++++++++++++++++++ .../sites/create-site/deploy/+page.svelte | 27 +- .../sites/create-site/finish/+page.svelte | 8 +- .../sites/create-site/manual/+page.svelte | 6 +- .../repository-[repository]/+page.svelte | 8 +- .../template-[template]/+page.svelte | 12 +- .../site-[site]/deployments/+page.svelte | 13 +- .../createGitDeploymentModal.svelte | 12 +- .../domains/add-domain/+page.svelte | 16 +- .../settings/disconnectRepo.svelte | 13 +- .../settings/updateBuildSettings.svelte | 41 +-- .../settings/updateBuildTriggers.svelte | 26 +- .../settings/updateDeploymentRetention.svelte | 13 +- .../site-[site]/settings/updateLogging.svelte | 13 +- .../site-[site]/settings/updateName.svelte | 13 +- .../settings/updateRepository.svelte | 19 +- .../settings/updateResourceLimits.svelte | 13 +- .../settings/updateRuntimeSettings.svelte | 13 +- .../site-[site]/settings/updateTimeout.svelte | 13 +- .../project-[region]-[project]/sites/store.ts | 6 +- 51 files changed, 557 insertions(+), 211 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte diff --git a/bun.lock b/bun.lock index 59441522cf..40fc5f1023 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@9786d91", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@81a4f24", "@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", @@ -125,7 +125,7 @@ "@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@9786d91", { "dependencies": { "json-bigint": "1.0.0" } }], + "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@81a4f24", { "dependencies": { "json-bigint": "1.0.0" } }], "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], diff --git a/package.json b/package.json index 849d235d4a..c2a656aff5 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@9786d91", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@81a4f24", "@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/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index a03b956e4c..63d5cf42d4 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -255,6 +255,7 @@ export enum Submit { ProjectUpdateLabels = 'submit_project_update_labels', ProjectService = 'submit_project_service', ProjectUpdateSMTP = 'submit_project_update_smtp', + ProjectUpdateOAuth2Server = 'submit_project_update_oauth2_server', ProjectResume = 'submit_project_resume', MemberCreate = 'submit_member_create', MemberDelete = 'submit_member_delete', diff --git a/src/lib/stores/domains.ts b/src/lib/stores/domains.ts index 36c763dee3..beb89f36fc 100644 --- a/src/lib/stores/domains.ts +++ b/src/lib/stores/domains.ts @@ -1,21 +1,21 @@ -import { StatusCode } from '@appwrite.io/console'; +import { RedirectStatusCode } from '@appwrite.io/console'; export const statusCodeOptions = [ { label: '301 Moved permanently', - value: StatusCode.MovedPermanently + value: RedirectStatusCode.MovedPermanently }, { label: '302 Found', - value: StatusCode.Found + value: RedirectStatusCode.Found }, { label: '307 Temporary redirect', - value: StatusCode.TemporaryRedirect + value: RedirectStatusCode.TemporaryRedirect }, { label: '308 Permanent redirect', - value: StatusCode.PermanentRedirect + value: RedirectStatusCode.PermanentRedirect } ]; diff --git a/src/routes/(console)/organization-[organization]/settings/+page.ts b/src/routes/(console)/organization-[organization]/settings/+page.ts index bb7fb6b878..792ed5e7dc 100644 --- a/src/routes/(console)/organization-[organization]/settings/+page.ts +++ b/src/routes/(console)/organization-[organization]/settings/+page.ts @@ -1,7 +1,7 @@ import type { PageLoad } from './$types'; import { Dependencies } from '$lib/constants'; import { sdk } from '$lib/stores/sdk'; -import { Addon, Query } from '@appwrite.io/console'; +import { OrganizationAddon, Query } from '@appwrite.io/console'; import { isCloud } from '$lib/system'; import { redirect } from '@sveltejs/kit'; import { resolve } from '$app/paths'; @@ -40,7 +40,7 @@ export const load: PageLoad = async ({ depends, params, parent }) => { ? sdk.forConsole.organizations .getAddonPrice({ organizationId: params.organization, - addon: Addon.Baa + addon: OrganizationAddon.Baa }) .catch(() => null) : null diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index 017e1a03a0..1cec62d39d 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -29,7 +29,7 @@ IconUpload, IconDownload } from '@appwrite.io/pink-icons-svelte'; - import { OnDuplicate, type Models } from '@appwrite.io/console'; + import { MigrationOnDuplicate, type Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { goto } from '$app/navigation'; import { resolve } from '$app/paths'; @@ -59,7 +59,7 @@ let showImportJson = $state(false); let showImportOptions = $state(false); let showCustomColumnsModal = $state(false); - let importOnDuplicate: OnDuplicate = $state(OnDuplicate.Fail); + let importOnDuplicate: MigrationOnDuplicate = $state(MigrationOnDuplicate.Fail); let pendingFile: Models.File | null = $state(null); let pendingLocalFile = $state(false); @@ -89,7 +89,7 @@ function onSelect(file: Models.File, localFile = false) { pendingFile = file; pendingLocalFile = localFile; - importOnDuplicate = OnDuplicate.Fail; + importOnDuplicate = MigrationOnDuplicate.Fail; showImportOptions = true; } @@ -377,7 +377,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Fail} + value={MigrationOnDuplicate.Fail} label="Fail on duplicate (default)"> Import aborts on the first document with a matching ID. @@ -387,7 +387,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Skip} + value={MigrationOnDuplicate.Skip} label="Skip existing documents"> Documents with matching IDs will be silently skipped. @@ -397,7 +397,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Overwrite} + value={MigrationOnDuplicate.Overwrite} label="Overwrite existing documents"> Documents with matching IDs will be updated with the imported data. diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte index f1fe008679..584c77d961 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte @@ -43,7 +43,7 @@ IconUpload, IconDownload } from '@appwrite.io/pink-icons-svelte'; - import { OnDuplicate, type Models } from '@appwrite.io/console'; + import { MigrationOnDuplicate, type Models } from '@appwrite.io/console'; import CreateRow from '$database/table-[table]/rows/create.svelte'; import { onDestroy } from 'svelte'; import { isCloud } from '$lib/system'; @@ -66,7 +66,7 @@ let isRefreshing = false; let showImportCSV = false; let showImportOptions = false; - let importOnDuplicate: OnDuplicate = OnDuplicate.Fail; + let importOnDuplicate: MigrationOnDuplicate = MigrationOnDuplicate.Fail; let pendingFile: Models.File | null = null; let pendingLocalFile = false; @@ -123,7 +123,7 @@ function onSelect(file: Models.File, localFile = false) { pendingFile = file; pendingLocalFile = localFile; - importOnDuplicate = OnDuplicate.Fail; + importOnDuplicate = MigrationOnDuplicate.Fail; showImportOptions = true; } @@ -469,7 +469,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Fail} + value={MigrationOnDuplicate.Fail} label="Fail on duplicate (default)"> Migration aborts on the first row with a matching ID. @@ -479,7 +479,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Skip} + value={MigrationOnDuplicate.Skip} label="Skip existing documents"> Documents with matching IDs will be silently skipped. @@ -489,7 +489,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Overwrite} + value={MigrationOnDuplicate.Overwrite} label="Overwrite existing documents"> Documents with matching IDs will be updated with the imported data. diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte index 4acf3d41a7..c55d1d7b5e 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte @@ -2,9 +2,9 @@ import { Card, SvgIcon } from '$lib/components'; import { Icon, Layout, Skeleton, Typography } from '@appwrite.io/pink-svelte'; import { IconGithub, IconGitBranch } from '@appwrite.io/pink-icons-svelte'; - import type { Models, Runtime } from '@appwrite.io/console'; + import type { Models, FunctionRuntime } from '@appwrite.io/console'; - export let runtime: Runtime; + export let runtime: FunctionRuntime; export let repositoryName: string = undefined; export let branch: string = undefined; export let rootDir: string = undefined; 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 ea90fd2b99..1d593b69de 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 @@ -13,7 +13,7 @@ import { onMount } from 'svelte'; import { ID, - Runtime, + FunctionRuntime, TemplateReferenceType, type ProjectKeyScopes } from '@appwrite.io/console'; @@ -42,7 +42,7 @@ let execute = $state(true); let entrypoint = $state(''); let specification = $state(''); - let runtime = $state(); + let runtime = $state(); let installCommand = $state(''); let selectedScopes = $state([]); let rootDir = $state(data.repository?.rootDirectory); @@ -73,7 +73,7 @@ const runtimeOption = data.runtimesList.runtimes.find( (runtime) => runtime.$id === runtimeParam ); - runtime = (runtimeOption?.$id ?? data.runtimesList.runtimes[0]?.$id) as Runtime; + runtime = (runtimeOption?.$id ?? data.runtimesList.runtimes[0]?.$id) as FunctionRuntime; entrypoint = page.url.searchParams.get('entrypoint') || ''; 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 1e72962068..6e6395f7fa 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 @@ -9,7 +9,7 @@ import { sdk } from '$lib/stores/sdk'; import { Icon, Layout, Tooltip, Typography, Upload } from '@appwrite.io/pink-svelte'; import { get, writable } from 'svelte/store'; - import { ID, Runtime } from '@appwrite.io/console'; + import { ID, FunctionRuntime } from '@appwrite.io/console'; import type { Models } from '@appwrite.io/console'; import Details from '../(components)/details.svelte'; import Aside from '../(components)/aside.svelte'; @@ -57,7 +57,7 @@ let name = ''; let id: string | null = null; - let runtime: Runtime; + let runtime: FunctionRuntime; let entrypoint = ''; let buildCommand = ''; let roles: string[] = []; 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 0e022aabcc..f17784b885 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 @@ -10,7 +10,7 @@ import { installation, repository } from '$lib/stores/vcs'; import { Layout } from '@appwrite.io/pink-svelte'; import { writable } from 'svelte/store'; - import { ID, Runtime, VCSReferenceType, VCSDetectionType } from '@appwrite.io/console'; + import { ID, FunctionRuntime, VCSReferenceType, VCSDetectionType } from '@appwrite.io/console'; import type { Models } from '@appwrite.io/console'; import { onMount } from 'svelte'; import Details from '../(components)/details.svelte'; @@ -48,7 +48,7 @@ let name = ''; let id: string | null = null; - let runtime: Runtime; + let runtime: FunctionRuntime; let entrypoint = ''; let buildCommand = ''; let roles: string[] = []; @@ -88,7 +88,7 @@ entrypoint = detections.entrypoint; buildCommand = detections.commands; - runtime = detections.runtime as Runtime; + runtime = detections.runtime as FunctionRuntime; const detectedVariables = normalizeDetectedVariables(detections?.variables); if (detectedVariables.length) { variables = mergeVariables(variables, detectedVariables); 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 a06b57802f..c249809fa8 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 @@ -17,7 +17,7 @@ import Configuration from './configuration.svelte'; import { ID, - Runtime, + FunctionRuntime, TemplateReferenceType, type Models, type ProjectKeyScopes @@ -59,7 +59,7 @@ let name = $state(untrack(() => data.template.name)); let id = $state(null); - let runtime = $state(); + let runtime = $state(); let branch = $state('main'); let rootDir = $state('./'); let connectBehaviour = $state<'now' | 'later'>('now'); @@ -91,7 +91,7 @@ const requestedRuntime = availableRuntimes.find((runtime) => runtime.$id === runtimeParam); if (requestedRuntime) { - return requestedRuntime.$id as Runtime; + return requestedRuntime.$id as FunctionRuntime; } const runtimeById = new Map( @@ -105,7 +105,7 @@ : []; const runtimes = preferredRuntimes.length ? preferredRuntimes : availableRuntimes; - return [...runtimes].sort(sortRuntimesByVersionDesc)[0]?.$id as Runtime; + return [...runtimes].sort(sortRuntimesByVersionDesc)[0]?.$id as FunctionRuntime; } onMount(async () => { @@ -155,7 +155,7 @@ .functions.create({ functionId: id || ID.unique(), name, - runtime: runtime as Runtime, + runtime: runtime as FunctionRuntime, execute: execute && data.template.permissions?.length ? data.template.permissions diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createGit.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createGit.svelte index 3c3569de37..95fbe11baa 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createGit.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createGit.svelte @@ -10,7 +10,7 @@ import { sdk } from '$lib/stores/sdk'; import { installation, repository, sortBranches } from '$lib/stores/vcs'; import { - Runtime, + FunctionRuntime, VCSReferenceType, type Models, type ProjectKeyScopes @@ -83,7 +83,7 @@ await sdk.forProject(page.params.region, page.params.project).functions.update({ functionId: $func.$id, name: $func.name, - runtime: $func.runtime as Runtime, + runtime: $func.runtime as FunctionRuntime, execute: $func.execute || undefined, events: $func.events || undefined, schedule: $func.schedule || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte index f7ff106721..9f287df982 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte @@ -13,8 +13,8 @@ import { type Models, ProxyResourceType, - Runtime, - StatusCode, + FunctionRuntime, + RedirectStatusCode, type ProjectKeyScopes } from '@appwrite.io/console'; import { statusCodeOptions } from '$lib/stores/domains'; @@ -36,7 +36,7 @@ let domainName = $state(''); let redirect: string = $state(null); let branch: string = $state(null); - let statusCode = $state(StatusCode.TemporaryRedirect); + let statusCode = $state(RedirectStatusCode.TemporaryRedirect); const routeBase = resolveRoute( '/(console)/project-[region]-[project]/functions/function-[function]/domains', @@ -129,14 +129,14 @@ async function connect(selectedInstallationId: string, selectedRepository: string) { try { - if (!isValueOfStringEnum(Runtime, data.func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, data.func.runtime)) { throw new Error(`Invalid runtime: ${data.func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ functionId: data.func.$id, name: data.func.name, - runtime: data.func.runtime as Runtime, + runtime: data.func.runtime as FunctionRuntime, execute: data.func.execute || undefined, events: data.func.events || undefined, schedule: data.func.schedule || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/disconnectRepo.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/disconnectRepo.svelte index 7db966358b..2f13e9aa63 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/disconnectRepo.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/disconnectRepo.svelte @@ -10,7 +10,7 @@ import { createEventDispatcher } from 'svelte'; import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; export let show = false; const functionId = page.params.function; @@ -20,7 +20,7 @@ const handleSubmit = async () => { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildCommand.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildCommand.svelte index 9ff276f973..c3efeca028 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildCommand.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildCommand.svelte @@ -7,7 +7,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; import { page } from '$app/state'; export let func: Models.Function; @@ -15,7 +15,7 @@ async function updateLogging() { try { - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildTriggers.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildTriggers.svelte index 0ae6915849..9c88638e4c 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildTriggers.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateBuildTriggers.svelte @@ -8,9 +8,8 @@ import { symmetricDifference } from '$lib/helpers/array'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { type Models, Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; - import { Icon, Layout, Tooltip, Typography } from '@appwrite.io/pink-svelte'; - import Link from '$lib/elements/link.svelte'; + import { type Models, FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { Icon, Layout, Tooltip } from '@appwrite.io/pink-svelte'; import { IconInfo } from '@appwrite.io/pink-icons-svelte'; export let func: Models.Function; @@ -41,7 +40,7 @@ await sdk.forProject(page.params.region, page.params.project).functions.update({ functionId: func.$id, name: func.name, - runtime: func.runtime as Runtime, + runtime: func.runtime as FunctionRuntime, execute: func.execute?.length ? (func.execute as string[]) : undefined, events: func.events?.length ? (func.events as string[]) : undefined, schedule: func.schedule ?? undefined, @@ -87,14 +86,8 @@
Build triggers - - Control which branch pushes and file changes trigger automatic deployments. Use glob - patterns to include or exclude specific branches and paths. Learn more. - + Control which branch pushes and file changes trigger automatic deployments. Use glob patterns + to include or exclude specific branches and paths. diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateDeploymentRetention.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateDeploymentRetention.svelte index 90802a7483..69ac448ca8 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateDeploymentRetention.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateDeploymentRetention.svelte @@ -8,7 +8,7 @@ import { isValueOfStringEnum } from '$lib/helpers/types'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; let { func }: { func: Models.Function } = $props(); @@ -52,7 +52,7 @@ async function update() { try { - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateEvents.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateEvents.svelte index 8258a35bf5..8d83eaa091 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateEvents.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateEvents.svelte @@ -14,7 +14,7 @@ import { EventModal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; import { IconPlus, IconX } from '@appwrite.io/pink-icons-svelte'; import { Icon, Layout, Link, Table, Typography } from '@appwrite.io/pink-svelte'; @@ -26,7 +26,7 @@ async function updateEvents() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateLogging.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateLogging.svelte index d7ae447c34..f258a461a4 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateLogging.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateLogging.svelte @@ -7,7 +7,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; import { Typography } from '@appwrite.io/pink-svelte'; import { page } from '$app/state'; @@ -16,7 +16,7 @@ async function update() { try { - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateName.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateName.svelte index ba74ba3ab4..1e2801d717 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateName.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateName.svelte @@ -10,7 +10,7 @@ import { onMount } from 'svelte'; import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; const functionId = page.params.function; let functionName: string = null; @@ -21,7 +21,7 @@ async function updateName() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updatePermissions.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updatePermissions.svelte index e949dd1a89..a26ae455ee 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updatePermissions.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updatePermissions.svelte @@ -12,7 +12,7 @@ import { Roles } from '$lib/components/permissions'; import { symmetricDifference } from '$lib/helpers/array'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; import { Link } from '$lib/elements'; const functionId = page.params.function; @@ -26,7 +26,7 @@ async function updatePermissions() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRepository.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRepository.svelte index c9765a107f..1f8d8e5c12 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRepository.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRepository.svelte @@ -6,7 +6,7 @@ import { Button, Form, InputText } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; import { onMount } from 'svelte'; import DisconnectRepo from './disconnectRepo.svelte'; import { installation, repository as repositoryStore, sortBranches } from '$lib/stores/vcs'; @@ -71,7 +71,7 @@ } async function updateConfiguration() { try { - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ @@ -146,13 +146,13 @@ sorted[0]?.name ?? nextBranch; - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ functionId: func.$id, name: func.name, - runtime: func.runtime as Runtime, + runtime: func.runtime as FunctionRuntime, execute: func.execute || undefined, events: func.events || undefined, schedule: func.schedule || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte index 418d18f25b..5442bc0653 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte @@ -7,7 +7,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; import Link from '$lib/elements/link.svelte'; import { Alert, Icon, Tooltip } from '@appwrite.io/pink-svelte'; import { IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -37,7 +37,7 @@ async function updateResourceLimits() { try { - if (!isValueOfStringEnum(Runtime, func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, func.runtime)) { throw new Error(`Invalid runtime: ${func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRuntime.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRuntime.svelte index 19ce8d2192..69b87da067 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRuntime.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateRuntime.svelte @@ -10,7 +10,7 @@ import { func } from '../store'; import InputSelect from '$lib/elements/forms/inputSelect.svelte'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type Models, type ProjectKeyScopes } from '@appwrite.io/console'; import { Layout, Typography } from '@appwrite.io/pink-svelte'; import Link from '$lib/elements/link.svelte'; @@ -25,7 +25,7 @@ async function updateRuntime() { try { - if (!isValueOfStringEnum(Runtime, runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, runtime)) { throw new Error(`Invalid runtime: ${runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateSchedule.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateSchedule.svelte index a08652348c..35eddf34d1 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateSchedule.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateSchedule.svelte @@ -10,7 +10,7 @@ import { onMount } from 'svelte'; import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; import { Link } from '$lib/elements'; import { parseExpression } from 'cron-parser'; @@ -23,7 +23,7 @@ async function updateSchedule() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateScopes.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateScopes.svelte index 52d72133f1..99ab5d4f3d 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateScopes.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateScopes.svelte @@ -10,7 +10,11 @@ import { onMount } from 'svelte'; import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { + FunctionRuntime, + type ProjectKeyScopes, + type ProjectKeyScopes as FunctionScopes + } from '@appwrite.io/console'; import Scopes from '$routes/(console)/project-[region]-[project]/overview/api-keys/scopes.svelte'; import { symmetricDifference } from '$lib/helpers/array'; import { Link } from '$lib/elements'; @@ -24,7 +28,7 @@ async function updateScopes() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ @@ -39,7 +43,7 @@ logging: $func.logging ?? undefined, entrypoint: $func.entrypoint || undefined, commands: $func.commands || undefined, - scopes: functionScopes || undefined, + scopes: (functionScopes as unknown as FunctionScopes[]) || undefined, installationId: $func.installationId || undefined, providerRepositoryId: $func.providerRepositoryId || undefined, providerBranch: $func.providerBranch || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateTimeout.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateTimeout.svelte index d0fd2478fc..6150228b58 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateTimeout.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateTimeout.svelte @@ -10,7 +10,7 @@ import { onMount } from 'svelte'; import { func } from '../store'; import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime, type ProjectKeyScopes } from '@appwrite.io/console'; + import { FunctionRuntime, type ProjectKeyScopes } from '@appwrite.io/console'; const functionId = page.params.function; let timeout: number = null; @@ -21,7 +21,7 @@ async function updateTimeout() { try { - if (!isValueOfStringEnum(Runtime, $func.runtime)) { + if (!isValueOfStringEnum(FunctionRuntime, $func.runtime)) { throw new Error(`Invalid runtime: ${$func.runtime}`); } await sdk.forProject(page.params.region, page.params.project).functions.update({ diff --git a/src/routes/(console)/project-[region]-[project]/pausedProjectModal.svelte b/src/routes/(console)/project-[region]-[project]/pausedProjectModal.svelte index 627d3d9ef7..7fd4387d86 100644 --- a/src/routes/(console)/project-[region]-[project]/pausedProjectModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/pausedProjectModal.svelte @@ -9,7 +9,7 @@ import { Submit, trackError } from '$lib/actions/analytics'; import { generateFingerprintToken } from '$lib/helpers/fingerprint'; import { Alert, Layout, Link, Modal, Typography } from '@appwrite.io/pink-svelte'; - import { Status } from '@appwrite.io/console'; + import { ProjectStatus } from '@appwrite.io/console'; let { show = $bindable(false), @@ -33,7 +33,10 @@ sdk.forConsole.client.headers['X-Appwrite-Console-Fingerprint'] = fingerprint; try { - await sdk.forConsole.projects.updateStatus({ projectId, status: Status.Active }); + await sdk.forConsole.projects.updateStatus({ + projectId, + status: ProjectStatus.Active + }); } finally { delete sdk.forConsole.client.headers['X-Appwrite-Console-Fingerprint']; } diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte index 3961307590..1d436704b5 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte @@ -18,6 +18,7 @@ import UpdateVariables from '../updateVariables.svelte'; import { page } from '$app/state'; import UpdateLabels from './updateLabels.svelte'; + import UpdateOAuth2Server from './updateOAuth2Server.svelte'; import type { PageData } from './$types'; import { Alert } from '@appwrite.io/pink-svelte'; @@ -95,6 +96,7 @@ + { resetImportStores(); @@ -56,7 +56,9 @@ // after picking Overwrite/Skip would silently apply that mode to // other resource types (users, teams, functions, etc.) on submit. const importOptions = { - onDuplicate: $formData.databases.root ? importOnDuplicate : OnDuplicate.Fail + onDuplicate: $formData.databases.root + ? importOnDuplicate + : MigrationOnDuplicate.Fail }; switch ($provider.provider) { @@ -221,7 +223,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Fail} + value={MigrationOnDuplicate.Fail} label="Fail on duplicate (default)"> Migration aborts on the first existing resource (database, @@ -232,7 +234,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Skip} + value={MigrationOnDuplicate.Skip} label="Skip existing resources"> Existing resources are left untouched. Only resources missing on @@ -243,7 +245,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={OnDuplicate.Overwrite} + value={MigrationOnDuplicate.Overwrite} label="Overwrite existing resources"> Existing resources are updated to match the source. Schema drift diff --git a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte new file mode 100644 index 0000000000..a041a569a5 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte @@ -0,0 +1,292 @@ + + + + + OAuth2 server + Configure your project as an OAuth2 authorization server. When enabled, external applications + can authenticate users through your project using the OAuth2 protocol. + + + + {#if enabled} + + + + The consent screen URL shown to users during the OAuth2 authorization + flow. + + + + + + + OAuth2 scopes this server will accept. Up to 100 scopes, each up to 128 + characters long. + + + + + + + Confidential clients + + Server-side apps that authenticate with a client secret. + + + +
+ + +
+ +
+ + +
+ + + + + + + Public clients + + SPAs, mobile, and native apps that cannot keep a client secret. + + + +
+ + +
+ +
+ + +
+ {/if} +
+ + + +
+ + + 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 fa75d27942..e397e4e556 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 @@ -13,9 +13,9 @@ import { onMount } from 'svelte'; import Domain from '../domain.svelte'; import { - Adapter, - BuildRuntime, - Framework, + SiteAdapter, + SiteBuildRuntime, + SiteFramework, ID, TemplateReferenceType } from '@appwrite.io/console'; @@ -50,7 +50,7 @@ let installCommand = $state(''); let outputDirectory = $state(''); let domainIsValid = $state(false); - let framework = $state(Framework.Nextjs); + let framework = $state(SiteFramework.Nextjs); let variables = $state>([]); // Track if we have custom commands from URL @@ -58,15 +58,16 @@ // Framework options - dynamically generate from enum const frameworkOptions = $derived( - Object.values(Framework).map((fw) => ({ + Object.values(SiteFramework).map((fw) => ({ key: fw, name: - fw === Framework.Nextjs + fw === SiteFramework.Nextjs ? 'Next.js' - : fw === Framework.Sveltekit + : fw === SiteFramework.Sveltekit ? 'SvelteKit' : fw.charAt(0).toUpperCase() + fw.slice(1), - buildRuntime: fw === Framework.Other ? BuildRuntime.Static1 : BuildRuntime.Node210 + buildRuntime: + fw === SiteFramework.Other ? SiteBuildRuntime.Static1 : SiteBuildRuntime.Node210 })) ); @@ -85,7 +86,7 @@ const primaryAdapter = $derived.by( () => data.frameworks.frameworks.find((f) => f.key === framework)?.adapters?.[0] ); - const shouldShowStartCommand = $derived(primaryAdapter?.key === Adapter.Ssr); + const shouldShowStartCommand = $derived(primaryAdapter?.key === SiteAdapter.Ssr); $effect(() => { if (framework && data.frameworks && !hasCustomCommands) { @@ -104,9 +105,9 @@ const preset = page.url.searchParams.get('preset') || 'nextjs'; // Map preset string to Framework enum - framework = (Object.values(Framework) as string[]).includes(preset.toLowerCase()) - ? (preset.toLowerCase() as Framework) - : Framework.Nextjs; + framework = (Object.values(SiteFramework) as string[]).includes(preset.toLowerCase()) + ? (preset.toLowerCase() as SiteFramework) + : SiteFramework.Nextjs; // Build configuration - use from URL params or defaults installCommand = page.url.searchParams.get('install') || ''; @@ -157,7 +158,7 @@ buildCommand: buildCommand || undefined, startCommand: shouldShowStartCommand ? startCommand || undefined : undefined, outputDirectory: outputDirectory || undefined, - adapter: framework === Framework.Other ? Adapter.Static : undefined, + adapter: framework === SiteFramework.Other ? SiteAdapter.Static : undefined, providerSilentMode: false }); diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/finish/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/finish/+page.svelte index 6d9b05ecbc..0788cfed8f 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/finish/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/finish/+page.svelte @@ -13,7 +13,7 @@ import { Click, trackEvent } from '$lib/actions/analytics'; import { invalidate } from '$app/navigation'; import { sdk } from '$lib/stores/sdk'; - import type { Adapter, BuildRuntime, Framework } from '@appwrite.io/console'; + import type { SiteAdapter, SiteBuildRuntime, SiteFramework } from '@appwrite.io/console'; import { Dependencies } from '$lib/constants'; import { ConnectRepoModal } from '$lib/components/git'; import { regionalProtocol } from '$routes/(console)/project-[region]-[project]/store'; @@ -50,7 +50,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: data.site.$id, name: data.site.name, - framework: data.site.framework as Framework, + framework: data.site.framework as SiteFramework, enabled: data.site.enabled, logging: data.site.logging || undefined, timeout: data.site.timeout, @@ -58,8 +58,8 @@ buildCommand: data.site.buildCommand, startCommand: data.site.startCommand, outputDirectory: data.site.outputDirectory, - buildRuntime: data.site.buildRuntime as BuildRuntime, - adapter: data.site.adapter as Adapter, + buildRuntime: data.site.buildRuntime as SiteBuildRuntime, + adapter: data.site.adapter as SiteAdapter, fallbackFile: data.site.fallbackFile, installationId: selectedInstallationId, providerRepositoryId: selectedRepository, 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 f2da210d04..c1d347b5f3 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 @@ -11,7 +11,7 @@ import { writable } from 'svelte/store'; import Details from '../details.svelte'; import Aside from './aside.svelte'; - import { BuildRuntime, Framework, ID } from '@appwrite.io/console'; + import { SiteBuildRuntime, SiteFramework, ID } from '@appwrite.io/console'; import type { Models } from '@appwrite.io/console'; import Configuration from '../configuration.svelte'; import { regionalConsoleVariables } from '../../../store'; @@ -68,8 +68,8 @@ return; } - const fr = Object.values(Framework).find((f) => f === framework.key); - const buildRuntime = Object.values(BuildRuntime).find( + const fr = Object.values(SiteFramework).find((f) => f === framework.key); + const buildRuntime = Object.values(SiteBuildRuntime).find( (f) => f === framework.buildRuntime ); site = await sdk.forProject(page.params.region, page.params.project).sites.create({ 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 aca5fe7bb3..526c952879 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 @@ -16,8 +16,8 @@ import ProductionBranch from '$lib/components/git/productionBranchFieldset.svelte'; import Aside from '../../aside.svelte'; import { - BuildRuntime, - Framework, + SiteBuildRuntime, + SiteFramework, ID, VCSReferenceType, VCSDetectionType @@ -113,8 +113,8 @@ return; } try { - const fr = Object.values(Framework).find((f) => f === framework.key); - const buildRuntime = Object.values(BuildRuntime).find( + const fr = Object.values(SiteFramework).find((f) => f === framework.key); + const buildRuntime = Object.values(SiteBuildRuntime).find( (f) => f === framework.buildRuntime ); let site = await sdk.forProject(page.params.region, page.params.project).sites.create({ 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 a11121d55c..8e6a0d43ec 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 @@ -25,9 +25,9 @@ import Configuration from './configuration.svelte'; import Aside from '../../aside.svelte'; import { - Adapter, - BuildRuntime, - Framework, + SiteAdapter, + SiteBuildRuntime, + SiteFramework, ID, TemplateReferenceType, type Models @@ -117,8 +117,8 @@ return; } else { try { - const fr = Object.values(Framework).find((f) => f === framework.key); - const buildRuntime = Object.values(BuildRuntime).find( + const fr = Object.values(SiteFramework).find((f) => f === framework.key); + const buildRuntime = Object.values(SiteBuildRuntime).find( (f) => f === framework.buildRuntime ); let site = await sdk @@ -131,7 +131,7 @@ installCommand: framework.installCommand, buildCommand: framework.buildCommand, outputDirectory: framework.outputDirectory, - adapter: framework.adapter as unknown as Adapter, + adapter: framework.adapter as unknown as SiteAdapter, installationId: connectBehaviour === 'later' ? undefined : selectedInstallationId, fallbackFile: framework?.fallbackFile || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.svelte index fb7bcb49f9..49dd02d24b 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.svelte @@ -2,7 +2,12 @@ import { PaginationWithLimit, EmptyFilter, Empty } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { Container, ResponsiveContainerHeader } from '$lib/layout'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { View } from '$lib/helpers/load'; import { ActionMenu, Alert, Icon, Layout, Popover } from '@appwrite.io/pink-svelte'; import Table from './table.svelte'; @@ -62,7 +67,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: data.site.$id, name: data.site.name, - framework: data.site.framework as Framework, + framework: data.site.framework as SiteFramework, enabled: data.site.enabled, logging: data.site.logging || undefined, timeout: data.site.timeout, @@ -70,8 +75,8 @@ buildCommand: data.site.buildCommand, startCommand: data.site.startCommand, outputDirectory: data.site.outputDirectory, - buildRuntime: data.site.buildRuntime as BuildRuntime, - adapter: data.site.adapter as Adapter, + buildRuntime: data.site.buildRuntime as SiteBuildRuntime, + adapter: data.site.adapter as SiteAdapter, fallbackFile: data.site.fallbackFile, installationId: selectedInstallationId, providerRepositoryId: selectedRepository, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createGitDeploymentModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createGitDeploymentModal.svelte index 150b854ee5..6d52cc5a43 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createGitDeploymentModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createGitDeploymentModal.svelte @@ -11,9 +11,9 @@ import { sdk } from '$lib/stores/sdk'; import { installation, repository, sortBranches } from '$lib/stores/vcs'; import { - Adapter, - BuildRuntime, - Framework, + SiteAdapter, + SiteBuildRuntime, + SiteFramework, VCSReferenceType, type Models } from '@appwrite.io/console'; @@ -84,7 +84,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site.enabled ?? undefined, logging: site.logging ?? undefined, timeout: site.timeout || undefined, @@ -92,8 +92,8 @@ buildCommand: site.buildCommand || undefined, startCommand: site.startCommand || undefined, outputDirectory: site.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: (site.adapter as Adapter) || undefined, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: (site.adapter as SiteAdapter) || undefined, fallbackFile: site.fallbackFile || undefined, installationId: $installation.$id || undefined, providerRepositoryId: selectedRepository || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/+page.svelte index 8833cbed9a..6b9ac0e27c 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/+page.svelte @@ -12,12 +12,12 @@ import { IconInfo } from '@appwrite.io/pink-icons-svelte'; import { LabelCard } from '$lib/components'; import { - Adapter, - BuildRuntime, - Framework, + SiteAdapter, + SiteBuildRuntime, + SiteFramework, type Models, ProxyResourceType, - StatusCode + RedirectStatusCode } from '@appwrite.io/console'; import { statusCodeOptions } from '$lib/stores/domains'; import { writable } from 'svelte/store'; @@ -42,7 +42,7 @@ let domainName = $state(''); let redirect: string = $state(null); let branch: string = $state(null); - let statusCode = $state(StatusCode.TemporaryRedirect); + let statusCode = $state(RedirectStatusCode.TemporaryRedirect); onMount(() => { if ( @@ -134,7 +134,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: data.site.$id, name: data.site.name, - framework: data.site.framework as Framework, + framework: data.site.framework as SiteFramework, enabled: data.site.enabled, logging: data.site.logging || undefined, timeout: data.site.timeout, @@ -142,8 +142,8 @@ buildCommand: data.site.buildCommand, startCommand: data.site.startCommand, outputDirectory: data.site.outputDirectory, - buildRuntime: data.site.buildRuntime as BuildRuntime, - adapter: data.site.adapter as Adapter, + buildRuntime: data.site.buildRuntime as SiteBuildRuntime, + adapter: data.site.adapter as SiteAdapter, fallbackFile: data.site.fallbackFile, installationId: selectedInstallationId, providerRepositoryId: selectedRepository, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/disconnectRepo.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/disconnectRepo.svelte index 123bd40d4d..078628ee6d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/disconnectRepo.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/disconnectRepo.svelte @@ -7,7 +7,12 @@ import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import type { Adapter, BuildRuntime, Framework, Models } from '@appwrite.io/console'; + import type { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + Models + } from '@appwrite.io/console'; import { createEventDispatcher } from 'svelte'; export let show = false; @@ -21,7 +26,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site.enabled ?? undefined, logging: site.logging ?? undefined, timeout: site.timeout || undefined, @@ -29,8 +34,8 @@ buildCommand: site.buildCommand || undefined, startCommand: site.startCommand || undefined, outputDirectory: site.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: (site?.adapter as Adapter) || undefined, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: (site?.adapter as SiteAdapter) || undefined, fallbackFile: site.fallbackFile || undefined, installationId: '', providerRepositoryId: '', diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte index 1f504c4c57..15112469ec 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte @@ -6,7 +6,12 @@ import { Button, Form, InputSelect, InputText } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { Card, Fieldset, Icon, InlineCode, Layout, Tooltip } from '@appwrite.io/pink-svelte'; import { iconPath } from '$lib/stores/app'; import { Link } from '$lib/elements'; @@ -31,12 +36,12 @@ let startCommand = $state(site?.startCommand); let outputDirectory = $state(site?.outputDirectory); let fallback = $state(site?.fallbackFile); - let adapter: Adapter = $state(site.adapter as Adapter); + let adapter: SiteAdapter = $state(site.adapter as SiteAdapter); let selectedFramework = $state( frameworks.find((framework) => framework.key === site.framework) ); - let showFallback = $derived(adapter === Adapter.Static); + let showFallback = $derived(adapter === SiteAdapter.Static); let lastFrameworkAdapterKey = $state(''); let isUntouched = $derived( @@ -63,14 +68,14 @@ // Update adapter const singleAdapter = selectedFramework?.adapters?.length <= 1; if (singleAdapter) { - const hasSSR = selectedFramework?.adapters?.some((a) => a?.key === Adapter.Ssr); + const hasSSR = selectedFramework?.adapters?.some((a) => a?.key === SiteAdapter.Ssr); const hasStatic = selectedFramework?.adapters?.some( - (a) => a?.key === Adapter.Static + (a) => a?.key === SiteAdapter.Static ); if (!hasSSR) { - adapter = Adapter.Static; + adapter = SiteAdapter.Static; } else if (!hasStatic) { - adapter = Adapter.Ssr; + adapter = SiteAdapter.Ssr; } } @@ -81,7 +86,7 @@ buildCommand = data.buildCommand; startCommand = data.startCommand; outputDirectory = data.outputDirectory; - adapter = data.key as Adapter; + adapter = data.key as SiteAdapter; fallback = data.fallbackFile; } else if (hasFrameworkSelectionChanged) { const data = (selectedFramework.adapters.find((a) => a.key === adapter) ?? @@ -109,10 +114,10 @@ }); $effect(() => { - if (adapter === Adapter.Static) { + if (adapter === SiteAdapter.Static) { if (!fallback) { fallback ||= selectedFramework.adapters.find( - (a) => a.key === Adapter.Static + (a) => a.key === SiteAdapter.Static ).fallbackFile; } } @@ -121,7 +126,7 @@ $effect(() => { if (selectedFramework) { if (!selectedFramework.adapters.some((a) => a.key === adapter)) { - adapter = selectedFramework.adapters[0].key as Adapter; + adapter = selectedFramework.adapters[0].key as SiteAdapter; site.adapter = adapter; } if (specs && specs.specifications?.length) { @@ -140,7 +145,7 @@ async function update() { let adptr = selectedFramework.adapters.find((a) => a.key === adapter); if (!adptr?.key && selectedFramework.adapters?.length) { - adapter = selectedFramework.adapters[0].key as Adapter; + adapter = selectedFramework.adapters[0].key as SiteAdapter; adptr = selectedFramework.adapters[0]; site.adapter = adapter; } @@ -156,7 +161,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: selectedFramework.key as Framework, + framework: selectedFramework.key as SiteFramework, enabled: site.enabled ?? undefined, logging: site.logging ?? undefined, timeout: site.timeout || undefined, @@ -164,8 +169,8 @@ buildCommand: buildCommand || undefined, startCommand: startCommand || undefined, outputDirectory: outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: (adptr?.key as Adapter) || undefined, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: (adptr?.key as SiteAdapter) || undefined, fallbackFile: adptr?.key === 'static' ? fallback || undefined : undefined, installationId: site.installationId || undefined, providerRepositoryId: site.providerRepositoryId || undefined, @@ -244,7 +249,7 @@ radius="s" padding="s" name="adapter" - value={`${Adapter.Ssr}`} + value={`${SiteAdapter.Ssr}`} bind:group={adapter}> {#if adapterData?.ssr?.desc?.includes('$')} {@const parts = adapterData.ssr.desc.split('$')} @@ -270,7 +275,7 @@ radius="s" padding="s" name="adapter" - value={Adapter.Static} + value={SiteAdapter.Static} bind:group={adapter}> {#if adapterData?.static?.desc?.includes('$')} {@const parts = adapterData.static.desc.split('$')} @@ -332,7 +337,7 @@ Reset
- {#if adapter === Adapter.Ssr} + {#if adapter === SiteAdapter.Ssr} Build triggers - - Control which branch pushes and file changes trigger automatic deployments. Use glob - patterns to include or exclude specific branches and paths. Learn more. - + Control which branch pushes and file changes trigger automatic deployments. Use glob patterns + to include or exclude specific branches and paths. diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateDeploymentRetention.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateDeploymentRetention.svelte index 530f467afe..547fa6c022 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateDeploymentRetention.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateDeploymentRetention.svelte @@ -7,7 +7,12 @@ import { Button, Form, InputSelect, InputSwitch } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; let { site }: { site: Models.Site } = $props(); @@ -54,15 +59,15 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site.enabled ?? undefined, logging: site.logging ?? undefined, timeout: site.timeout || undefined, installCommand: site.installCommand || undefined, buildCommand: site.buildCommand || undefined, outputDirectory: site.outputDirectory || undefined, - buildRuntime: (site.buildRuntime as BuildRuntime) || undefined, - adapter: site.adapter as Adapter, + buildRuntime: (site.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site.adapter as SiteAdapter, fallbackFile: site.fallbackFile || undefined, installationId: site.installationId || undefined, providerRepositoryId: site.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateLogging.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateLogging.svelte index 0ed59d0d57..fb2d263891 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateLogging.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateLogging.svelte @@ -7,7 +7,12 @@ import { Button, Form, InputSwitch } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { Typography } from '@appwrite.io/pink-svelte'; export let site: Models.Site; @@ -18,7 +23,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging, timeout: site?.timeout || undefined, @@ -27,8 +32,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateName.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateName.svelte index 0fb1664092..dc9b456a5d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateName.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateName.svelte @@ -7,7 +7,12 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { onMount } from 'svelte'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { page } from '$app/state'; export let site: Models.Site; @@ -22,7 +27,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: siteName, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: site?.timeout || undefined, @@ -30,8 +35,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRepository.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRepository.svelte index ab640c480d..cc1a44a92d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRepository.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRepository.svelte @@ -6,7 +6,12 @@ import { Button, Form, InputText } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { onMount } from 'svelte'; import DisconnectRepo from './disconnectRepo.svelte'; import { installation, repository as repositoryStore, sortBranches } from '$lib/stores/vcs'; @@ -71,7 +76,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site?.framework as Framework, + framework: site?.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: site?.timeout || undefined, @@ -79,8 +84,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, @@ -139,7 +144,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: site?.timeout, @@ -147,8 +152,8 @@ buildCommand: site?.buildCommand, startCommand: site?.startCommand, outputDirectory: site?.outputDirectory, - buildRuntime: site?.buildRuntime as BuildRuntime, - adapter: site.adapter as Adapter, + buildRuntime: site?.buildRuntime as SiteBuildRuntime, + adapter: site.adapter as SiteAdapter, fallbackFile: site?.fallbackFile, installationId: selectedInstallationId, providerRepositoryId: selectedRepository, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateResourceLimits.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateResourceLimits.svelte index 62d0171f65..78f724045e 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateResourceLimits.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateResourceLimits.svelte @@ -6,7 +6,12 @@ import { Button, Form, InputSelect } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import Link from '$lib/elements/link.svelte'; import { Alert, Icon, Tooltip } from '@appwrite.io/pink-svelte'; import { IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -39,7 +44,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site.framework as Framework, + framework: site.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: site?.timeout || undefined, @@ -47,8 +52,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRuntimeSettings.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRuntimeSettings.svelte index 4f9458abb7..fdf2b7aa6e 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRuntimeSettings.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateRuntimeSettings.svelte @@ -10,7 +10,12 @@ import { addNotification } from '$lib/stores/notifications'; import { getIconFromRuntime } from '$lib/stores/runtimes'; import { sdk } from '$lib/stores/sdk'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; export let site: Models.Site; export let frameworks: Models.Framework[]; @@ -28,7 +33,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site?.framework as Framework, + framework: site?.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: site?.timeout || undefined, @@ -36,8 +41,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateTimeout.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateTimeout.svelte index 5320734f55..c3b9e66d79 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateTimeout.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateTimeout.svelte @@ -7,7 +7,12 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { onMount } from 'svelte'; - import { Adapter, BuildRuntime, Framework, type Models } from '@appwrite.io/console'; + import { + SiteAdapter, + SiteBuildRuntime, + SiteFramework, + type Models + } from '@appwrite.io/console'; import { page } from '$app/state'; export let site: Models.Site; @@ -21,7 +26,7 @@ await sdk.forProject(page.params.region, page.params.project).sites.update({ siteId: site.$id, name: site.name, - framework: site?.framework as Framework, + framework: site?.framework as SiteFramework, enabled: site?.enabled ?? undefined, logging: site?.logging ?? undefined, timeout: timeout || undefined, @@ -29,8 +34,8 @@ buildCommand: site?.buildCommand || undefined, startCommand: site?.startCommand || undefined, outputDirectory: site?.outputDirectory || undefined, - buildRuntime: (site?.buildRuntime as BuildRuntime) || undefined, - adapter: site?.adapter as Adapter, + buildRuntime: (site?.buildRuntime as SiteBuildRuntime) || undefined, + adapter: site?.adapter as SiteAdapter, fallbackFile: site?.fallbackFile || undefined, installationId: site?.installationId || undefined, providerRepositoryId: site?.providerRepositoryId || undefined, diff --git a/src/routes/(console)/project-[region]-[project]/sites/store.ts b/src/routes/(console)/project-[region]-[project]/sites/store.ts index 5080d43cd4..4b531e30e1 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/store.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/store.ts @@ -1,12 +1,12 @@ import { timeFromNow } from '$lib/helpers/date'; import { timer } from '$lib/helpers/timeConversion'; import type { Column } from '$lib/helpers/types'; -import { Framework, type Models } from '@appwrite.io/console'; +import { SiteFramework, type Models } from '@appwrite.io/console'; import { writable } from 'svelte/store'; -export function getEnumFromModel(model: Models.Framework): Framework { - return Framework[model.name]; +export function getEnumFromModel(model: Models.Framework): SiteFramework { + return SiteFramework[model.name]; } export const columns = writable([ From 3d807dd920ed0eb51e465a6d52315157d51c93a6 Mon Sep 17 00:00:00 2001 From: harsh mahajan Date: Thu, 28 May 2026 19:53:32 +0530 Subject: [PATCH 2/7] fix: generic success message and min=1 guard on token duration inputs --- .../settings/updateOAuth2Server.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte index a041a569a5..ac25a46cde 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte @@ -112,7 +112,7 @@ addNotification({ type: 'success', - message: `OAuth2 server has been ${enabled ? 'enabled' : 'disabled'}.` + message: 'OAuth2 server settings have been updated.' }); trackEvent(Submit.ProjectUpdateOAuth2Server); } catch (error) { @@ -205,6 +205,7 @@ label="Access token duration" bind:value={accessTokenValue} placeholder="8" + min={1} disabled={!$canWriteProjects} /> Date: Thu, 28 May 2026 19:54:50 +0530 Subject: [PATCH 3/7] fix: rename 'Allowed scopes' label to 'Scopes' --- .../settings/updateOAuth2Server.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte index ac25a46cde..ce44973b84 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte @@ -177,7 +177,7 @@ Date: Thu, 28 May 2026 20:02:36 +0530 Subject: [PATCH 4/7] fix: always send scopes array to allow clearing all scopes --- .../settings/updateOAuth2Server.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte index ce44973b84..b37b32daaf 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/updateOAuth2Server.svelte @@ -100,7 +100,7 @@ await sdk.forProject($project.region, $project.$id).project.updateOAuth2Server({ enabled, authorizationUrl, - scopes: scopes.length ? scopes : undefined, + scopes, accessTokenDuration: accessTokenDuration ?? undefined, refreshTokenDuration: refreshTokenDuration ?? undefined, publicAccessTokenDuration: publicAccessTokenDuration ?? undefined, From e826ec65a1ffaa430aa34810f74fc32cf91aa1cd Mon Sep 17 00:00:00 2001 From: harsh mahajan Date: Fri, 29 May 2026 16:31:41 +0530 Subject: [PATCH 5/7] fix: correct enum renames and Models namespace after SDK bump to 81a4f24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new SDK renamed top-level enums (Status→ProjectStatus, StatusCode→RedirectStatusCode, Adapter→SiteAdapter, etc.) but kept Models.* names unchanged (Models.Framework, Models.Runtime). Also removed Scopes in favour of ProjectKeyScopes. - Models.SiteFramework → Models.Framework - Models.FunctionRuntime → Models.Runtime - VCSDetectionType.SiteFramework → VCSDetectionType.Framework - VCSDetectionType.FunctionRuntime → VCSDetectionType.Runtime - Scopes → ProjectKeyScopes in function files (enum removed from SDK) - Fix updateScopes.svelte: restore Scopes component import, remove duplicate type alias --- .../functions/create-function/(components)/aside.svelte | 2 +- .../functions/create-function/(components)/details.svelte | 2 +- .../functions/create-function/deploy/+page.svelte | 2 +- .../(components)/deploymentCard.svelte | 2 +- .../function-[function]/settings/executeFunction.svelte | 2 +- .../settings/updateResourceLimits.svelte | 2 +- .../function-[function]/settings/updateRuntime.svelte | 6 +++--- .../function-[function]/settings/updateScopes.svelte | 8 ++------ .../functions/templates/+page.svelte | 2 +- .../sites/create-site/aside.svelte | 2 +- .../sites/create-site/configuration.svelte | 2 +- .../sites/create-site/deploy/+page.svelte | 6 +++--- .../sites/create-site/details.svelte | 2 +- .../sites/create-site/templates/+page.svelte | 2 +- .../sites/site-[site]/settings/updateBuildSettings.svelte | 2 +- 15 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte index c55d1d7b5e..be42f9f445 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte @@ -21,7 +21,7 @@ {#if selectedRuntime?.name && !loading} - Runtime + FunctionRuntime {#if selectedRuntime?.key} diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte index ac39b30fac..35f1a9295d 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte @@ -59,7 +59,7 @@ {:else} - {@render titleSnippet('Runtime')} + {@render titleSnippet('FunctionRuntime')} - Runtime + FunctionRuntime diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte index 5442bc0653..1005bd39c4 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/settings/updateResourceLimits.svelte @@ -111,7 +111,7 @@ - Runtime + FunctionRuntime Select the runtime for executing your function and define its entrypoint. Version changes apply on redeploy and can be updated here. - + {#each [...data.runtimes] as runtime} diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/aside.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/aside.svelte index 7bf4186e4e..d7a9ff451f 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/aside.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/aside.svelte @@ -52,7 +52,7 @@ {#if framework?.name} {@const frameworkIcon = getFrameworkIcon(framework.key)} - Framework + SiteFramework {#if frameworkIcon} diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/configuration.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/configuration.svelte index f6d8129d64..dcf9de4e74 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/configuration.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/configuration.svelte @@ -38,7 +38,7 @@ ({ 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 e397e4e556..6be2c73f05 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 @@ -56,7 +56,7 @@ // Track if we have custom commands from URL let hasCustomCommands = $state(false); - // Framework options - dynamically generate from enum + // SiteFramework options - dynamically generate from enum const frameworkOptions = $derived( Object.values(SiteFramework).map((fw) => ({ key: fw, @@ -104,7 +104,7 @@ onMount(() => { const preset = page.url.searchParams.get('preset') || 'nextjs'; - // Map preset string to Framework enum + // Map preset string to SiteFramework enum framework = (Object.values(SiteFramework) as string[]).includes(preset.toLowerCase()) ? (preset.toLowerCase() as SiteFramework) : SiteFramework.Nextjs; @@ -262,7 +262,7 @@ diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/details.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/details.svelte index 52c2ed3ba3..45df06ee99 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/details.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/details.svelte @@ -43,7 +43,7 @@ {#if showFramework} diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte index 7965e6c860..f9ffcebe11 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte @@ -111,7 +111,7 @@ {/each} - + {#each [...data.frameworks] as framework} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte index 15112469ec..0831801779 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/settings/updateBuildSettings.svelte @@ -228,7 +228,7 @@ ({ From 4107a7898b207600c9b50abd45d132c4898c870e Mon Sep 17 00:00:00 2001 From: harsh mahajan Date: Fri, 29 May 2026 17:22:29 +0530 Subject: [PATCH 6/7] feat: add OAuth2 server settings card - New updateOAuth2Server.svelte card in project settings - Enable/disable toggle, authorization URL, scopes, per-client token durations with unit selectors, PKCE enforcement - min={1} on all duration inputs, scopes sent directly to allow clearing - Add ProjectUpdateOAuth2Server analytics event Note: awaiting SDK with updateOAuth2Server method and correct enum names --- bun.lock | 4 +- package.json | 2 +- src/lib/stores/domains.ts | 10 ++--- .../settings/+page.ts | 4 +- .../collection-[collection]/+page.svelte | 12 +++--- .../table-[table]/+page.svelte | 12 +++--- .../create-function/(components)/aside.svelte | 6 +-- .../(components)/details.svelte | 2 +- .../create-function/deploy/+page.svelte | 15 +++---- .../create-function/manual/+page.svelte | 4 +- .../repository-[repository]/+page.svelte | 6 +-- .../template-[template]/+page.svelte | 14 +++--- .../template-[template]/permissions.svelte | 8 ++-- .../(components)/deploymentCard.svelte | 2 +- .../(modals)/createGit.svelte | 11 ++--- .../domains/add-domain/+page.svelte | 14 +++--- .../settings/disconnectRepo.svelte | 6 +-- .../settings/executeFunction.svelte | 2 +- .../settings/updateBuildCommand.svelte | 6 +-- .../settings/updateBuildTriggers.svelte | 6 +-- .../settings/updateDeploymentRetention.svelte | 6 +-- .../settings/updateEvents.svelte | 6 +-- .../settings/updateLogging.svelte | 6 +-- .../settings/updateName.svelte | 6 +-- .../settings/updatePermissions.svelte | 6 +-- .../settings/updateRepository.svelte | 12 +++--- .../settings/updateResourceLimits.svelte | 8 ++-- .../settings/updateRuntime.svelte | 12 +++--- .../settings/updateSchedule.svelte | 6 +-- .../settings/updateScopes.svelte | 10 +++-- .../settings/updateTimeout.svelte | 6 +-- .../functions/templates/+page.svelte | 2 +- .../pausedProjectModal.svelte | 7 +-- .../migrations/(import)/wizard.svelte | 14 +++--- .../sites/create-site/aside.svelte | 2 +- .../sites/create-site/configuration.svelte | 2 +- .../sites/create-site/deploy/+page.svelte | 33 +++++++------- .../sites/create-site/details.svelte | 2 +- .../sites/create-site/finish/+page.svelte | 8 ++-- .../sites/create-site/manual/+page.svelte | 6 +-- .../repository-[repository]/+page.svelte | 8 ++-- .../sites/create-site/templates/+page.svelte | 2 +- .../template-[template]/+page.svelte | 12 +++--- .../site-[site]/deployments/+page.svelte | 13 ++---- .../createGitDeploymentModal.svelte | 12 +++--- .../domains/add-domain/+page.svelte | 16 +++---- .../settings/disconnectRepo.svelte | 13 ++---- .../settings/updateBuildSettings.svelte | 43 ++++++++----------- .../settings/updateBuildTriggers.svelte | 13 ++---- .../settings/updateDeploymentRetention.svelte | 13 ++---- .../site-[site]/settings/updateLogging.svelte | 13 ++---- .../site-[site]/settings/updateName.svelte | 13 ++---- .../settings/updateRepository.svelte | 19 +++----- .../settings/updateResourceLimits.svelte | 13 ++---- .../settings/updateRuntimeSettings.svelte | 13 ++---- .../site-[site]/settings/updateTimeout.svelte | 13 ++---- .../project-[region]-[project]/sites/store.ts | 6 +-- 57 files changed, 237 insertions(+), 304 deletions(-) diff --git a/bun.lock b/bun.lock index 40fc5f1023..0b3615bb48 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@81a4f24", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@35c3dea", "@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", @@ -125,7 +125,7 @@ "@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@81a4f24", { "dependencies": { "json-bigint": "1.0.0" } }], + "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@35c3dea", { "dependencies": { "json-bigint": "1.0.0" } }, "sha512-6V+xfUDQs5rIRlQqqidorHeIBP0Ce/zoqY1fn5vgJl6eUooFJmjBcYN36IwR58y1TwWPw3s5r+kewl9r64+J9w=="], "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], diff --git a/package.json b/package.json index c2a656aff5..5db51e9315 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@81a4f24", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@35c3dea", "@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/src/lib/stores/domains.ts b/src/lib/stores/domains.ts index beb89f36fc..348e10c9b7 100644 --- a/src/lib/stores/domains.ts +++ b/src/lib/stores/domains.ts @@ -1,21 +1,21 @@ -import { RedirectStatusCode } from '@appwrite.io/console'; +import { StatusCode } from '@appwrite.io/console'; export const statusCodeOptions = [ { label: '301 Moved permanently', - value: RedirectStatusCode.MovedPermanently + value: StatusCode.MovedPermanently301 }, { label: '302 Found', - value: RedirectStatusCode.Found + value: StatusCode.Found302 }, { label: '307 Temporary redirect', - value: RedirectStatusCode.TemporaryRedirect + value: StatusCode.TemporaryRedirect307 }, { label: '308 Permanent redirect', - value: RedirectStatusCode.PermanentRedirect + value: StatusCode.PermanentRedirect308 } ]; diff --git a/src/routes/(console)/organization-[organization]/settings/+page.ts b/src/routes/(console)/organization-[organization]/settings/+page.ts index 792ed5e7dc..bb7fb6b878 100644 --- a/src/routes/(console)/organization-[organization]/settings/+page.ts +++ b/src/routes/(console)/organization-[organization]/settings/+page.ts @@ -1,7 +1,7 @@ import type { PageLoad } from './$types'; import { Dependencies } from '$lib/constants'; import { sdk } from '$lib/stores/sdk'; -import { OrganizationAddon, Query } from '@appwrite.io/console'; +import { Addon, Query } from '@appwrite.io/console'; import { isCloud } from '$lib/system'; import { redirect } from '@sveltejs/kit'; import { resolve } from '$app/paths'; @@ -40,7 +40,7 @@ export const load: PageLoad = async ({ depends, params, parent }) => { ? sdk.forConsole.organizations .getAddonPrice({ organizationId: params.organization, - addon: OrganizationAddon.Baa + addon: Addon.Baa }) .catch(() => null) : null diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index 1cec62d39d..017e1a03a0 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -29,7 +29,7 @@ IconUpload, IconDownload } from '@appwrite.io/pink-icons-svelte'; - import { MigrationOnDuplicate, type Models } from '@appwrite.io/console'; + import { OnDuplicate, type Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { goto } from '$app/navigation'; import { resolve } from '$app/paths'; @@ -59,7 +59,7 @@ let showImportJson = $state(false); let showImportOptions = $state(false); let showCustomColumnsModal = $state(false); - let importOnDuplicate: MigrationOnDuplicate = $state(MigrationOnDuplicate.Fail); + let importOnDuplicate: OnDuplicate = $state(OnDuplicate.Fail); let pendingFile: Models.File | null = $state(null); let pendingLocalFile = $state(false); @@ -89,7 +89,7 @@ function onSelect(file: Models.File, localFile = false) { pendingFile = file; pendingLocalFile = localFile; - importOnDuplicate = MigrationOnDuplicate.Fail; + importOnDuplicate = OnDuplicate.Fail; showImportOptions = true; } @@ -377,7 +377,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Fail} + value={OnDuplicate.Fail} label="Fail on duplicate (default)"> Import aborts on the first document with a matching ID. @@ -387,7 +387,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Skip} + value={OnDuplicate.Skip} label="Skip existing documents"> Documents with matching IDs will be silently skipped. @@ -397,7 +397,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Overwrite} + value={OnDuplicate.Overwrite} label="Overwrite existing documents"> Documents with matching IDs will be updated with the imported data. diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte index 584c77d961..f1fe008679 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte @@ -43,7 +43,7 @@ IconUpload, IconDownload } from '@appwrite.io/pink-icons-svelte'; - import { MigrationOnDuplicate, type Models } from '@appwrite.io/console'; + import { OnDuplicate, type Models } from '@appwrite.io/console'; import CreateRow from '$database/table-[table]/rows/create.svelte'; import { onDestroy } from 'svelte'; import { isCloud } from '$lib/system'; @@ -66,7 +66,7 @@ let isRefreshing = false; let showImportCSV = false; let showImportOptions = false; - let importOnDuplicate: MigrationOnDuplicate = MigrationOnDuplicate.Fail; + let importOnDuplicate: OnDuplicate = OnDuplicate.Fail; let pendingFile: Models.File | null = null; let pendingLocalFile = false; @@ -123,7 +123,7 @@ function onSelect(file: Models.File, localFile = false) { pendingFile = file; pendingLocalFile = localFile; - importOnDuplicate = MigrationOnDuplicate.Fail; + importOnDuplicate = OnDuplicate.Fail; showImportOptions = true; } @@ -469,7 +469,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Fail} + value={OnDuplicate.Fail} label="Fail on duplicate (default)"> Migration aborts on the first row with a matching ID. @@ -479,7 +479,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Skip} + value={OnDuplicate.Skip} label="Skip existing documents"> Documents with matching IDs will be silently skipped. @@ -489,7 +489,7 @@ size="s" bind:group={importOnDuplicate} name="importOnDuplicate" - value={MigrationOnDuplicate.Overwrite} + value={OnDuplicate.Overwrite} label="Overwrite existing documents"> Documents with matching IDs will be updated with the imported data. diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte index be42f9f445..4acf3d41a7 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/aside.svelte @@ -2,9 +2,9 @@ import { Card, SvgIcon } from '$lib/components'; import { Icon, Layout, Skeleton, Typography } from '@appwrite.io/pink-svelte'; import { IconGithub, IconGitBranch } from '@appwrite.io/pink-icons-svelte'; - import type { Models, FunctionRuntime } from '@appwrite.io/console'; + import type { Models, Runtime } from '@appwrite.io/console'; - export let runtime: FunctionRuntime; + export let runtime: Runtime; export let repositoryName: string = undefined; export let branch: string = undefined; export let rootDir: string = undefined; @@ -21,7 +21,7 @@ {#if selectedRuntime?.name && !loading} - FunctionRuntime + Runtime {#if selectedRuntime?.key} diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte index 35f1a9295d..ac39b30fac 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/(components)/details.svelte @@ -59,7 +59,7 @@ {:else} (); + let runtime = $state(); let installCommand = $state(''); - let selectedScopes = $state([]); + let selectedScopes = $state([]); let rootDir = $state(data.repository?.rootDirectory); let variables = $state>([]); @@ -73,7 +68,7 @@ const runtimeOption = data.runtimesList.runtimes.find( (runtime) => runtime.$id === runtimeParam ); - runtime = (runtimeOption?.$id ?? data.runtimesList.runtimes[0]?.$id) as FunctionRuntime; + runtime = (runtimeOption?.$id ?? data.runtimesList.runtimes[0]?.$id) as Runtime; entrypoint = page.url.searchParams.get('entrypoint') || ''; @@ -214,7 +209,7 @@ data.template.name)); let id = $state(null); - let runtime = $state(); + let runtime = $state(); let branch = $state('main'); let rootDir = $state('./'); let connectBehaviour = $state<'now' | 'later'>('now'); @@ -71,7 +71,7 @@ let showConfig = $state(false); let silentMode = $state(false); let entrypoint = $state(''); - let selectedScopes = $state([]); + let selectedScopes = $state([]); let execute = $state(true); let variables = $state[]>([]); let specification = $state(untrack(() => specificationOptions[0]?.value || '')); @@ -91,7 +91,7 @@ const requestedRuntime = availableRuntimes.find((runtime) => runtime.$id === runtimeParam); if (requestedRuntime) { - return requestedRuntime.$id as FunctionRuntime; + return requestedRuntime.$id as Runtime; } const runtimeById = new Map( @@ -105,7 +105,7 @@ : []; const runtimes = preferredRuntimes.length ? preferredRuntimes : availableRuntimes; - return [...runtimes].sort(sortRuntimesByVersionDesc)[0]?.$id as FunctionRuntime; + return [...runtimes].sort(sortRuntimesByVersionDesc)[0]?.$id as Runtime; } onMount(async () => { @@ -155,7 +155,7 @@ .functions.create({ functionId: id || ID.unique(), name, - runtime: runtime as FunctionRuntime, + runtime: runtime as Runtime, execute: execute && data.template.permissions?.length ? data.template.permissions diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/permissions.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/permissions.svelte index 3cf7cf2c87..3392f994ec 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/permissions.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/template-[template]/permissions.svelte @@ -1,16 +1,16 @@