From e79e9b2bce0ff80c5117d0902cda3c017832c6a0 Mon Sep 17 00:00:00 2001 From: "Vincent (Wen Yu) Ge" Date: Wed, 23 Aug 2023 17:21:07 -0400 Subject: [PATCH 01/15] Add docs links to wizards --- src/routes/console/(migration-wizard)/step2.svelte | 11 ++++++++++- .../project-[project]/functions/wizard/step1.svelte | 4 ++-- .../project-[project]/functions/wizard/step2.svelte | 6 +++--- .../project-[project]/functions/wizard/step3.svelte | 8 +++++++- .../project-[project]/functions/wizard/step5.svelte | 2 +- .../settings/migrations/(import)/step1.svelte | 5 ++++- .../settings/migrations/(import)/step2.svelte | 10 +++++++++- 7 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/routes/console/(migration-wizard)/step2.svelte b/src/routes/console/(migration-wizard)/step2.svelte index 005b9e7bc..6b6998906 100644 --- a/src/routes/console/(migration-wizard)/step2.svelte +++ b/src/routes/console/(migration-wizard)/step2.svelte @@ -7,6 +7,15 @@ - Select data + Select resources + + Select the resources you need to migrate to Appwrite. Some resources can be migrated, but with limitations. + Learn about which resources are supported. + diff --git a/src/routes/console/project-[project]/functions/wizard/step1.svelte b/src/routes/console/project-[project]/functions/wizard/step1.svelte index fd0c3a118..93257b01a 100644 --- a/src/routes/console/project-[project]/functions/wizard/step1.svelte +++ b/src/routes/console/project-[project]/functions/wizard/step1.svelte @@ -21,8 +21,8 @@ - Create your function - Let’s create a function. + Configuration function + Create your new Appwrite Function. - Execute access + Permissions - Choose who can execute this function using the client API. For more information, check out + Choose which users have permission to execute this function using Client SDKs. For more information, check out the - Permissions guide + permissions documentation . diff --git a/src/routes/console/project-[project]/functions/wizard/step3.svelte b/src/routes/console/project-[project]/functions/wizard/step3.svelte index 95319ec88..7684a7f5e 100644 --- a/src/routes/console/project-[project]/functions/wizard/step3.svelte +++ b/src/routes/console/project-[project]/functions/wizard/step3.svelte @@ -19,7 +19,13 @@ Events - Set the events that will trigger your function. Maximum 100 events allowed. + Set the events that will trigger your function. Maximum 100 events allowed. + Learn more about events. + . {#if $createFunction?.events?.length} diff --git a/src/routes/console/project-[project]/functions/wizard/step5.svelte b/src/routes/console/project-[project]/functions/wizard/step5.svelte index 932018ffe..55fed42a6 100644 --- a/src/routes/console/project-[project]/functions/wizard/step5.svelte +++ b/src/routes/console/project-[project]/functions/wizard/step5.svelte @@ -45,7 +45,7 @@ Variables - Create the environment variables or secret keys that will be passed to your function + Create the environment variables or secret keys that will be passed to your function. {#if $createFunction.vars.length} diff --git a/src/routes/console/project-[project]/settings/migrations/(import)/step1.svelte b/src/routes/console/project-[project]/settings/migrations/(import)/step1.svelte index 216239176..5d7216b19 100644 --- a/src/routes/console/project-[project]/settings/migrations/(import)/step1.svelte +++ b/src/routes/console/project-[project]/settings/migrations/(import)/step1.svelte @@ -54,7 +54,10 @@ - Choose provider + Select source + + Select a source platform with the project you want to migrate. +
{#each Object.entries(providers) as [key, value]}
diff --git a/src/routes/console/project-[project]/settings/migrations/+page.svelte b/src/routes/console/project-[project]/settings/migrations/+page.svelte index d6f76a42a..857c0bcdc 100644 --- a/src/routes/console/project-[project]/settings/migrations/+page.svelte +++ b/src/routes/console/project-[project]/settings/migrations/+page.svelte @@ -140,7 +140,15 @@ Import project data -

Import data from other products or from a different Appwrite instance.

+

+ Import data from another platform or from a different Appwrite instance. + Learn about which platforms are supported. +

{#if data.migrations.length}
@@ -224,7 +232,14 @@ {#if isSelfHosted} Deploy to Cloud -

Export data from your project to Appwrite Cloud

+

+ Export data from your project to Appwrite Cloud. + Learn more in our documentation. +

@@ -244,7 +259,14 @@ {:else} Export to self-hosted instance -

Export data from your project to a self-hosted instance

+

+ Export data from your project to a self-hosted instance. + Learn more in our documentation. +

From 969ecc7901b5e45b9fa92f8d28b20755ab415b33 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 28 Aug 2023 21:19:59 +0200 Subject: [PATCH 04/15] chore: add functions missing doc links --- src/lib/pages/domains/wizard/step1.svelte | 8 ++++++-- .../function-[function]/createManual.svelte | 9 +++++---- .../functions/function-[function]/execute.svelte | 5 +++-- .../function-[function]/settings/+page.svelte | 13 +++++++++---- .../settings/updateConfiguration.svelte | 8 ++++++-- .../templates/template-[template]/+page.svelte | 8 ++++++-- .../settings/updateInstallations.svelte | 8 ++++++-- 7 files changed, 41 insertions(+), 18 deletions(-) diff --git a/src/lib/pages/domains/wizard/step1.svelte b/src/lib/pages/domains/wizard/step1.svelte index 6c37353c2..fa00ce536 100644 --- a/src/lib/pages/domains/wizard/step1.svelte +++ b/src/lib/pages/domains/wizard/step1.svelte @@ -78,8 +78,12 @@ To add a domain to a locally hosted Appwrite project, you must first configure your server domain. - - + {/if} diff --git a/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte b/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte index 75437ae81..cada9f7e5 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte @@ -80,12 +80,13 @@ required /> {#if $func.version !== 'v3'} - Build commands now available for functions v3.0 + + Build commands now available for functions v3.0 + Update your function version to make use of new features including build commands. - - + {:else} diff --git a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte index 1ddddbb7f..26824e5f7 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte @@ -113,8 +113,9 @@ Update your function version to make use of new features including customizable HTTP data in your executions. - - + Your function is outdated Update your function version to make use of new features including build commands and HTTP data in your executions. To update, follow the steps outlined in our - - documentation. + documentation. - - + {/if} diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte index edebc1d10..8f59e953a 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte @@ -290,8 +290,12 @@ When installing Git in a locally hosted Appwrite project, you must first configure your environment variables. - - + {/if} diff --git a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte index 6b089bce2..2e0b9c2b3 100644 --- a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte +++ b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte @@ -70,8 +70,12 @@ In order to clone a template to a locally hosted Appwrite project, you must set up a Git integration and configure your environment variables. - - + {/if} diff --git a/src/routes/console/project-[project]/settings/updateInstallations.svelte b/src/routes/console/project-[project]/settings/updateInstallations.svelte index 6a36b1452..7f2d79998 100644 --- a/src/routes/console/project-[project]/settings/updateInstallations.svelte +++ b/src/routes/console/project-[project]/settings/updateInstallations.svelte @@ -189,8 +189,12 @@ When installing Git in a locally hosted Appwrite project, you must first configure your environment variables. - - + {/if} From d7cd262362ef320cf6728e6400dd095bc05a9e3e Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Mon, 28 Aug 2023 22:55:55 +0200 Subject: [PATCH 05/15] chore: cleanup some code --- src/lib/constants.ts | 4 ++- src/lib/helpers/debounce.ts | 4 +-- src/lib/helpers/object.ts | 2 +- src/lib/helpers/project.ts | 2 +- src/lib/helpers/stores.ts | 2 +- src/lib/pages/domains/wizard/step1.svelte | 5 +-- src/lib/wizards/functions/cover.svelte | 33 ++++++++++++++++--- .../wizards/functions/steps/details.svelte | 3 +- .../steps/functionConfiguration.svelte | 3 +- .../steps/templateConfiguration.svelte | 3 +- src/lib/wizards/functions/store.ts | 5 --- src/routes/+layout.svelte | 2 +- .../(migration-wizard)/resource-form.svelte | 31 +++++++---------- src/routes/console/+layout.svelte | 5 ++- src/routes/console/+layout.ts | 7 +++- .../(filters)/content.svelte | 2 +- .../(filters)/store.ts | 1 - .../functions/function-[function]/+page.ts | 10 ++---- .../deployment-[deployment]/+page.svelte | 2 +- .../settings/updateConfiguration.svelte | 6 ++-- .../project-[project]/functions/store.ts} | 4 +-- .../template-[template]/+page.svelte | 6 ++-- .../functions/wizard/step1.svelte | 2 +- .../rawVariableEditor.svelte | 10 ++++-- .../project-[project]/settings/+page.ts | 10 ++---- .../settings/updateInstallations.svelte | 6 ++-- src/routes/console/project-[project]/store.ts | 1 - .../project-[project]/updateVariables.svelte | 10 ++++-- .../uploadVariablesModal.svelte | 8 +++-- src/routes/console/store.ts | 8 +++++ src/routes/store.ts | 2 +- 31 files changed, 109 insertions(+), 90 deletions(-) rename src/{lib/stores/consoleVariables.ts => routes/console/project-[project]/functions/store.ts} (56%) diff --git a/src/lib/constants.ts b/src/lib/constants.ts index b73ecbbb9..a2107d03c 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -40,7 +40,9 @@ export enum Dependencies { WEBHOOK = 'dependency:webhook', WEBHOOKS = 'dependency:webhooks', MIGRATIONS = 'dependency:migrations', - COLLECTIONS = 'dependency:collections' + COLLECTIONS = 'dependency:collections', + RUNTIMES = 'dependency:runtimes', + CONSOLE_VARIABLES = 'dependency:console_variables' } export const scopes: { diff --git a/src/lib/helpers/debounce.ts b/src/lib/helpers/debounce.ts index afb93f4a2..6a36b4e47 100644 --- a/src/lib/helpers/debounce.ts +++ b/src/lib/helpers/debounce.ts @@ -1,6 +1,6 @@ -export function debounce void>(fn: F, delay: number) { +export function debounce void>(fn: F, delay: number) { let timeoutID: ReturnType = null; - const debounceFn = function (this: any, ...args: any[]) { + const debounceFn = function (this: unknown, ...args: unknown[]) { clearTimeout(timeoutID); timeoutID = window.setTimeout(() => fn.apply(this, args), delay) as unknown as ReturnType< typeof setTimeout diff --git a/src/lib/helpers/object.ts b/src/lib/helpers/object.ts index fb09d2ab5..0a901aed3 100644 --- a/src/lib/helpers/object.ts +++ b/src/lib/helpers/object.ts @@ -45,7 +45,7 @@ export function deepMap( return result; } -export function parseIfString(value: unknown): any { +export function parseIfString(value: unknown): unknown { if (typeof value === 'string') { try { return JSON.parse(value); diff --git a/src/lib/helpers/project.ts b/src/lib/helpers/project.ts index ff8f887b0..a8a88cd3f 100644 --- a/src/lib/helpers/project.ts +++ b/src/lib/helpers/project.ts @@ -1,5 +1,5 @@ export function getProjectId() { - const pathname = window.location.pathname; + const pathname = window.location.pathname + '/'; const projectMatch = pathname.match(/\/project-(.*?)\//); return projectMatch?.[1] || null; } diff --git a/src/lib/helpers/stores.ts b/src/lib/helpers/stores.ts index 509693a9e..13a63437d 100644 --- a/src/lib/helpers/stores.ts +++ b/src/lib/helpers/stores.ts @@ -9,7 +9,7 @@ import { deepClone, objectEntries } from './object'; * * @export */ -export function createConservative>(obj: Obj) { +export function createConservative>(obj: Obj) { const stores = Object.fromEntries( objectEntries(obj).map(([key, value]) => [key, writable(value)]) ) as { diff --git a/src/lib/pages/domains/wizard/step1.svelte b/src/lib/pages/domains/wizard/step1.svelte index 6c37353c2..2eea50d4d 100644 --- a/src/lib/pages/domains/wizard/step1.svelte +++ b/src/lib/pages/domains/wizard/step1.svelte @@ -9,6 +9,7 @@ import { onMount } from 'svelte'; import { ProxyTypes } from '../index.svelte'; import { domain, typeStore } from './store'; + import { consoleVariables } from '$routes/console/store'; let error = null; let isDomainsEnabled = false; @@ -17,9 +18,9 @@ if (!isSelfHosted) { return; } - const vars = await sdk.forConsole.console.variables(); + //@ts-expect-error needs an sdk release - isDomainsEnabled = vars?._APP_DOMAIN_ENABLED === true; + isDomainsEnabled = (await $consoleVariables)?._APP_DOMAIN_ENABLED === true; }); async function createDomain() { diff --git a/src/lib/wizards/functions/cover.svelte b/src/lib/wizards/functions/cover.svelte index f38cfa2b2..ee607e3c3 100644 --- a/src/lib/wizards/functions/cover.svelte +++ b/src/lib/wizards/functions/cover.svelte @@ -2,7 +2,7 @@ import CreateTemplate from './createTemplate.svelte'; export function connectTemplate(template: MarketplaceTemplate, runtime: string | null = null) { - const variables: any = {}; + const variables: Record = {}; template.variables.forEach((variable) => { variables[variable.name] = variable.value ?? ''; }); @@ -29,17 +29,19 @@
@@ -282,7 +280,7 @@
{:else} - {#if isSelfHosted && !isVcsEnabled} + {#if isSelfHosted && !isVcsEnabled($consoleVariables)} Installing Git to a self-hosted instance diff --git a/src/lib/stores/consoleVariables.ts b/src/routes/console/project-[project]/functions/store.ts similarity index 56% rename from src/lib/stores/consoleVariables.ts rename to src/routes/console/project-[project]/functions/store.ts index 887820b6b..029ac922d 100644 --- a/src/lib/stores/consoleVariables.ts +++ b/src/routes/console/project-[project]/functions/store.ts @@ -2,7 +2,7 @@ import { page } from '$app/stores'; import { derived } from 'svelte/store'; import type { Models } from '@appwrite.io/console'; -export const consoleVariables = derived( +export const runtimes = derived( page, - ($page) => $page.data.consoleVariables as Models.ConsoleVariables + async ($page) => (await $page.data.runtimes) as Models.RuntimeList ); diff --git a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte index 6b089bce2..850de5371 100644 --- a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte +++ b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte @@ -4,12 +4,10 @@ import { Pill } from '$lib/elements'; import { Button } from '$lib/elements/forms'; import { Container } from '$lib/layout'; - import { consoleVariables } from '$lib/stores/consoleVariables'; import { isSelfHosted } from '$lib/system'; import { connectTemplate } from '$lib/wizards/functions/cover.svelte'; + import { consoleVariables, isVcsEnabled } from '$routes/console/store'; import { template } from './store'; - - $: isVcsEnabled = $consoleVariables?._APP_VCS_ENABLED === true; @@ -62,7 +60,7 @@

{$template.tagline}

- {#if isSelfHosted && !isVcsEnabled} + {#if isSelfHosted && !isVcsEnabled($consoleVariables)} Cloning templates to a self-hosted instance diff --git a/src/routes/console/project-[project]/functions/wizard/step1.svelte b/src/routes/console/project-[project]/functions/wizard/step1.svelte index 53c58e72e..7bbecddbf 100644 --- a/src/routes/console/project-[project]/functions/wizard/step1.svelte +++ b/src/routes/console/project-[project]/functions/wizard/step1.svelte @@ -5,7 +5,7 @@ import { WizardStep } from '$lib/layout'; import { onMount } from 'svelte'; import { createFunction } from './store'; - import { runtimes } from '$lib/wizards/functions/store'; + import { runtimes } from '../store'; let showCustomId = false; diff --git a/src/routes/console/project-[project]/rawVariableEditor.svelte b/src/routes/console/project-[project]/rawVariableEditor.svelte index 97382f807..012caaf69 100644 --- a/src/routes/console/project-[project]/rawVariableEditor.svelte +++ b/src/routes/console/project-[project]/rawVariableEditor.svelte @@ -12,9 +12,13 @@ export let showEditor = false; export let variableList: Models.VariableList; - export let sdkCreateVariable: (key: string, value: string) => Promise; - export let sdkUpdateVariable: (variableId: string, key: string, value: string) => Promise; - export let sdkDeleteVariable: (variableId: string) => Promise; + export let sdkCreateVariable: (key: string, value: string) => Promise; + export let sdkUpdateVariable: ( + variableId: string, + key: string, + value: string + ) => Promise; + export let sdkDeleteVariable: (variableId: string) => Promise; let error = ''; let envCode = variableList.variables diff --git a/src/routes/console/project-[project]/settings/+page.ts b/src/routes/console/project-[project]/settings/+page.ts index e57a62558..125a929bd 100644 --- a/src/routes/console/project-[project]/settings/+page.ts +++ b/src/routes/console/project-[project]/settings/+page.ts @@ -1,18 +1,13 @@ import { Dependencies, PAGE_LIMIT } from '$lib/constants'; import { sdk } from '$lib/stores/sdk'; -import { Query, type Models } from '@appwrite.io/console'; +import { Query } from '@appwrite.io/console'; import type { PageLoad } from './$types'; -import { isSelfHosted } from '$lib/system'; export const load: PageLoad = async ({ depends, url }) => { depends(Dependencies.PROJECT_VARIABLES); depends(Dependencies.PROJECT_INSTALLATIONS); const limit = PAGE_LIMIT; const offset = Number(url.searchParams.get('offset') ?? 0); - let consoleVariables: Models.ConsoleVariables = null; - if (isSelfHosted) { - consoleVariables = await sdk.forConsole.console.variables(); - } return { limit, @@ -21,7 +16,6 @@ export const load: PageLoad = async ({ depends, url }) => { installations: await sdk.forProject.vcs.listInstallations([ Query.limit(limit), Query.offset(offset) - ]), - consoleVariables + ]) }; }; diff --git a/src/routes/console/project-[project]/settings/updateInstallations.svelte b/src/routes/console/project-[project]/settings/updateInstallations.svelte index 6a36b1452..5ccb5b1f3 100644 --- a/src/routes/console/project-[project]/settings/updateInstallations.svelte +++ b/src/routes/console/project-[project]/settings/updateInstallations.svelte @@ -29,7 +29,7 @@ import GitDisconnectModal from './GitDisconnectModal.svelte'; import dayjs from 'dayjs'; import { isSelfHosted } from '$lib/system'; - import { consoleVariables } from '$lib/stores/consoleVariables'; + import { consoleVariables, isVcsEnabled } from '$routes/console/store'; export let total: number; export let limit: number; @@ -76,8 +76,6 @@ noScroll: true }); } - - $: isVcsEnabled = $consoleVariables?._APP_VCS_ENABLED === true; @@ -181,7 +179,7 @@ bind:offset />
{:else} - {#if isSelfHosted && !isVcsEnabled} + {#if isSelfHosted && !isVcsEnabled($consoleVariables)} Installing Git to a self-hosted instance diff --git a/src/routes/console/project-[project]/store.ts b/src/routes/console/project-[project]/store.ts index a7051573b..4413c76dd 100644 --- a/src/routes/console/project-[project]/store.ts +++ b/src/routes/console/project-[project]/store.ts @@ -4,7 +4,6 @@ import type { BarSeriesOption } from 'echarts/charts'; import { derived, writable } from 'svelte/store'; export const project = derived(page, ($page) => $page.data.project as Models.Project); - export const onboarding = derived( project, ($project) => $project?.platforms?.length === 0 && $project?.keys?.length === 0 diff --git a/src/routes/console/project-[project]/updateVariables.svelte b/src/routes/console/project-[project]/updateVariables.svelte index a9057b0f0..f9232bf84 100644 --- a/src/routes/console/project-[project]/updateVariables.svelte +++ b/src/routes/console/project-[project]/updateVariables.svelte @@ -37,9 +37,13 @@ export let globalVariableList: Models.VariableList | undefined = undefined; export let isGlobal: boolean; - export let sdkCreateVariable: (key: string, value: string) => Promise; - export let sdkUpdateVariable: (variableId: string, key: string, value: string) => Promise; - export let sdkDeleteVariable: (variableId: string) => Promise; + export let sdkCreateVariable: (key: string, value: string) => Promise; + export let sdkUpdateVariable: ( + variableId: string, + key: string, + value: string + ) => Promise; + export let sdkDeleteVariable: (variableId: string) => Promise; let showVariablesDropdown = []; let selectedVar: Models.Variable = null; diff --git a/src/routes/console/project-[project]/uploadVariablesModal.svelte b/src/routes/console/project-[project]/uploadVariablesModal.svelte index 1d8e7b406..0a8484b7c 100644 --- a/src/routes/console/project-[project]/uploadVariablesModal.svelte +++ b/src/routes/console/project-[project]/uploadVariablesModal.svelte @@ -9,8 +9,12 @@ export let isGlobal: boolean; export let show = false; export let variableList: Models.VariableList; - export let sdkCreateVariable: (key: string, value: string) => Promise; - export let sdkUpdateVariable: (variableId: string, key: string, value: string) => Promise; + export let sdkCreateVariable: (key: string, value: string) => Promise; + export let sdkUpdateVariable: ( + variableId: string, + key: string, + value: string + ) => Promise; let files: FileList; let error: string; diff --git a/src/routes/console/store.ts b/src/routes/console/store.ts index 2e8023dda..d8f11992f 100644 --- a/src/routes/console/store.ts +++ b/src/routes/console/store.ts @@ -1,4 +1,12 @@ import { page } from '$app/stores'; +import type { Models } from '@appwrite.io/console'; import { derived } from 'svelte/store'; export const version = derived(page, ($page) => $page.data.version as string | null); +export const consoleVariables = derived( + page, + async ($page) => (await $page.data.consoleVariables) as Models.ConsoleVariables +); +export async function isVcsEnabled(store: Promise) { + return (await store)?._APP_VCS_ENABLED === true; +} diff --git a/src/routes/store.ts b/src/routes/store.ts index c2f973b21..be6859877 100644 --- a/src/routes/store.ts +++ b/src/routes/store.ts @@ -7,4 +7,4 @@ export const loading = writable(true); export const organizations = derived(page, ($page) => { return $page.data.organizations as Models.TeamList; }); -export const requestedMigration = writable | null>(null); +export const requestedMigration = writable | null>(null); From 42b9c8d47ffbb9019f3cfaaa1e5cf5b9cc162d33 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 08:20:59 +0100 Subject: [PATCH 06/15] feat: Add marketplace usecases & missing templates --- src/lib/stores/marketplace.ts | 58 ++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index d38c3d679..1a36bf6d9 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -9,7 +9,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['starter'], runtimes: [ { name: 'node-18.0', @@ -66,13 +66,31 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['ai', 'chatbot'], runtimes: [ { name: 'node-18.0', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/prompt-chatgpt' + }, + { + name: 'python-3.9', + commands: 'pip install -r requirements.txt', + entrypoint: 'src/main.py', + providerRootDirectory: 'python/prompt_chatgpt' + }, + { + name: 'php-8.0', + commands: 'composer install', + entrypoint: 'src/index.php', + providerRootDirectory: 'php/prompt-chatgpt' + }, + { + name: 'dart-2.17', + commands: 'dart pub get', + entrypoint: 'lib/main.dart', + providerRootDirectory: 'dart/prompt_chatgpt' } ], instructions: `For documentation and instructions check out file.`, @@ -106,13 +124,19 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['chatbot', 'discord'], runtimes: [ { name: 'node-18.0', commands: 'npm install && npm run setup', - entrypoint: 'src/main.js', + entrypoint: 'src/main.js && npm run setup', providerRootDirectory: 'node/discord-command-bot' + }, + { + name: 'python-3.9', + commands: 'pip install -r requirements.txt && python src/setup.py', + entrypoint: 'src/main.py', + providerRootDirectory: 'python/discord_command_bot' } ], instructions: `For documentation and instructions check out file.`, @@ -139,7 +163,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['ai', 'moderation'], runtimes: [ { name: 'node-18.0', @@ -173,7 +197,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['ai', 'moderation'], runtimes: [ { name: 'node-18.0', @@ -206,7 +230,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['pdf', 'invoice'], runtimes: [ { name: 'node-18.0', @@ -232,7 +256,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['github'], runtimes: [ { name: 'node-18.0', @@ -272,7 +296,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['url', 'link'], runtimes: [ { name: 'node-18.0', @@ -326,13 +350,19 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['search', 'algolia'], runtimes: [ { name: 'node-18.0', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/sync-with-algolia' + }, + { + name: 'python-3.9', + commands: 'pip install -r requirements.txt', + entrypoint: 'src/main.py', + providerRootDirectory: 'python/sync_with_algolia' } ], instructions: `For documentation and instructions check out file.`, @@ -396,7 +426,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['search', 'meilisearch'], runtimes: [ { name: 'node-18.0', @@ -472,7 +502,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['sms', 'whatsapp', 'vonage'], runtimes: [ { name: 'node-18.0', @@ -523,7 +553,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['notification', 'fcm'], runtimes: [ { name: 'node-18.0', @@ -574,7 +604,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['placeholder'], + usecases: ['form', 'email'], runtimes: [ { name: 'node-18.0', From 9ab06c13702e9887a5b6b6b8fd5ac2b3c400c618 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 08:23:14 +0100 Subject: [PATCH 07/15] chore: prettier --- src/lib/stores/marketplace.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 1a36bf6d9..17a54c337 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -357,7 +357,7 @@ export const marketplace = [ commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/sync-with-algolia' - }, + }, { name: 'python-3.9', commands: 'pip install -r requirements.txt', From b970f09edc0c8156a8a6e02fce858d83c4b2ac37 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 09:48:24 +0100 Subject: [PATCH 08/15] feat: new template ports --- src/lib/stores/marketplace.ts | 38 ++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 17a54c337..c3e836fcc 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -204,6 +204,18 @@ export const marketplace = [ commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/censor-with-redact' + }, + { + name: 'python-3.9', + commands: 'pip install -r requirements.txt', + entrypoint: 'src/main.py', + providerRootDirectory: 'python/censor_with_redact' + }, + { + name: 'dart-2.17', + commands: 'dart pub get', + entrypoint: 'lib/main.dart', + providerRootDirectory: 'dart/censor_with_redact' } ], instructions: `For documentation and instructions check out file.`, @@ -338,6 +350,12 @@ export const marketplace = [ value: 'urls', placeholder: 'urls', required: false + }, + { + name: 'SHORT_BASE_URL', + description: `The domain to use for the short URLs. You can use your functions subdomain or a custom domain.`, + value: '', + placeholder: 'https://shortdomain.io' } ] }, @@ -363,6 +381,12 @@ export const marketplace = [ commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/sync_with_algolia' + }, + { + name: 'php-8.0', + commands: 'composer install', + entrypoint: 'src/index.php', + providerRootDirectory: 'php/sync-with-algolia' } ], instructions: `For documentation and instructions check out file.`, @@ -399,7 +423,7 @@ export const marketplace = [ { name: 'ALGOLIA_INDEX_ID', description: `The ID of the index in Algolia where the documents are to be synced. Learn more.`, - placeholder: 'appwrite_index', + placeholder: 'my_index', required: true }, { @@ -611,6 +635,18 @@ export const marketplace = [ commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/email-contact-form' + }, + { + name: 'python-3.9', + commands: 'pip install -r requirements.txt', + entrypoint: 'src/main.py', + providerRootDirectory: 'python/email_contact_form' + }, + { + name: 'php-8.0', + commands: 'composer install', + entrypoint: 'src/index.php', + providerRootDirectory: 'php/email-contact-form' } ], instructions: `For documentation and instructions check out file.`, From d05a3d69212d7ce2310ae00dcd6ad092cc0cda57 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 09:52:40 +0100 Subject: [PATCH 09/15] chore: additional usecases --- src/lib/stores/marketplace.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index c3e836fcc..87564d31d 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -124,7 +124,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['chatbot', 'discord'], + usecases: ['bot', 'discord'], runtimes: [ { name: 'node-18.0', @@ -268,7 +268,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['github'], + usecases: ['github', 'bot'], runtimes: [ { name: 'node-18.0', @@ -577,7 +577,7 @@ export const marketplace = [ events: [], cron: '', timeout: 15, - usecases: ['notification', 'fcm'], + usecases: ['notification', 'fcm', 'firebase'], runtimes: [ { name: 'node-18.0', From ee815afa597d57c18c50ce711e3212ee10ac1047 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 09:58:46 +0100 Subject: [PATCH 10/15] fix: missing required field --- src/lib/stores/marketplace.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 87564d31d..adc387831 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -1,4 +1,4 @@ -export const marketplace = [ +export const marketplace: MarketplaceTemplate[] = [ { icon: 'icon-lightning-bolt', id: 'starter', @@ -355,7 +355,8 @@ export const marketplace = [ name: 'SHORT_BASE_URL', description: `The domain to use for the short URLs. You can use your functions subdomain or a custom domain.`, value: '', - placeholder: 'https://shortdomain.io' + placeholder: 'https://shortdomain.io', + required: true } ] }, From 4f6dd9b933d217d41776b3399c5e9cc9afc0516c Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 29 Aug 2023 11:04:54 +0200 Subject: [PATCH 11/15] feat: use new sdk --- package-lock.json | 15 +++++++-------- package.json | 2 +- src/lib/pages/domains/wizard/step1.svelte | 1 - 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index ace5f6d0d..590e07f9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "dependencies": { "@analytics/google-analytics": "^1.0.5", "@analytics/google-tag-manager": "^0.5.3", - "@appwrite.io/console": "npm:matej-appwrite-console@7.1.130", + "@appwrite.io/console": "^0.3.0", "@appwrite.io/pink": "0.1.0-next.8", "@appwrite.io/pink-icons": "^0.1.0-next.8", "@popperjs/core": "^2.11.6", @@ -169,10 +169,9 @@ "integrity": "sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==" }, "node_modules/@appwrite.io/console": { - "name": "matej-appwrite-console", - "version": "7.1.130", - "resolved": "https://registry.npmjs.org/matej-appwrite-console/-/matej-appwrite-console-7.1.130.tgz", - "integrity": "sha512-XsaGxuUNznKKiQpbYAy7VYtj5f0CitrMcIh+9UiHzI0dVXe4ck8humDv6l8XVFp0aQZWxc6RfiPuHo9oreEKuw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.3.0.tgz", + "integrity": "sha512-XHKQHirzQliXoDpMLakSdXwpq9aPoeTABNhW8Z7MK3p6oBfp2gMplDD43Fbd91JREXoJ+RG8okX0z0nIc6hDiQ==", "dependencies": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" @@ -8985,9 +8984,9 @@ "integrity": "sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==" }, "@appwrite.io/console": { - "version": "npm:matej-appwrite-console@7.1.130", - "resolved": "https://registry.npmjs.org/matej-appwrite-console/-/matej-appwrite-console-7.1.130.tgz", - "integrity": "sha512-XsaGxuUNznKKiQpbYAy7VYtj5f0CitrMcIh+9UiHzI0dVXe4ck8humDv6l8XVFp0aQZWxc6RfiPuHo9oreEKuw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.3.0.tgz", + "integrity": "sha512-XHKQHirzQliXoDpMLakSdXwpq9aPoeTABNhW8Z7MK3p6oBfp2gMplDD43Fbd91JREXoJ+RG8okX0z0nIc6hDiQ==", "requires": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" diff --git a/package.json b/package.json index e38f65dc4..27292b7bb 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "dependencies": { "@analytics/google-analytics": "^1.0.5", "@analytics/google-tag-manager": "^0.5.3", - "@appwrite.io/console": "npm:matej-appwrite-console@7.1.130", + "@appwrite.io/console": "^0.3.0", "@appwrite.io/pink": "0.1.0-next.8", "@appwrite.io/pink-icons": "^0.1.0-next.8", "@popperjs/core": "^2.11.6", diff --git a/src/lib/pages/domains/wizard/step1.svelte b/src/lib/pages/domains/wizard/step1.svelte index 2eea50d4d..a5b971fad 100644 --- a/src/lib/pages/domains/wizard/step1.svelte +++ b/src/lib/pages/domains/wizard/step1.svelte @@ -19,7 +19,6 @@ return; } - //@ts-expect-error needs an sdk release isDomainsEnabled = (await $consoleVariables)?._APP_DOMAIN_ENABLED === true; }); From 1771c6648d5a0d478e60c9290ffcad22b1e1de86 Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 29 Aug 2023 11:08:07 +0200 Subject: [PATCH 12/15] fix: disable buttons when vcs disabled --- .../function-[function]/settings/updateConfiguration.svelte | 1 + .../functions/templates/template-[template]/+page.svelte | 5 ++++- .../project-[project]/settings/updateInstallations.svelte | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte index 8f59e953a..3113e5d18 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/updateConfiguration.svelte @@ -317,6 +317,7 @@
diff --git a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte index 2e0b9c2b3..e70569173 100644 --- a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte +++ b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte @@ -87,7 +87,10 @@ View source -
diff --git a/src/routes/console/project-[project]/settings/updateInstallations.svelte b/src/routes/console/project-[project]/settings/updateInstallations.svelte index 7f2d79998..4c6f52ee7 100644 --- a/src/routes/console/project-[project]/settings/updateInstallations.svelte +++ b/src/routes/console/project-[project]/settings/updateInstallations.svelte @@ -206,7 +206,10 @@
- From 8a43dc13574058f7436d13b7e4e6c23c4382aa88 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 10:21:47 +0100 Subject: [PATCH 13/15] feat: simplify use cases --- src/lib/stores/marketplace.ts | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index adc387831..54d80e23e 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -9,7 +9,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['starter'], + usecases: ['Starter'], runtimes: [ { name: 'node-18.0', @@ -66,7 +66,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['ai', 'chatbot'], + usecases: ['AI'], runtimes: [ { name: 'node-18.0', @@ -124,7 +124,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['bot', 'discord'], + usecases: ['Messaging'], runtimes: [ { name: 'node-18.0', @@ -163,7 +163,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['ai', 'moderation'], + usecases: ['AI'], runtimes: [ { name: 'node-18.0', @@ -197,7 +197,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['ai', 'moderation'], + usecases: ['ai'], runtimes: [ { name: 'node-18.0', @@ -242,7 +242,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['pdf', 'invoice'], + usecases: ['Utilities'], runtimes: [ { name: 'node-18.0', @@ -268,7 +268,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['github', 'bot'], + usecases: ['Dev Tools'], runtimes: [ { name: 'node-18.0', @@ -308,7 +308,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['url', 'link'], + usecases: ['Utilities'], runtimes: [ { name: 'node-18.0', @@ -369,7 +369,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['search', 'algolia'], + usecases: ['Databases'], runtimes: [ { name: 'node-18.0', @@ -451,7 +451,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['search', 'meilisearch'], + usecases: ['Databases'], runtimes: [ { name: 'node-18.0', @@ -527,7 +527,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['sms', 'whatsapp', 'vonage'], + usecases: ['Messaging'], runtimes: [ { name: 'node-18.0', @@ -578,7 +578,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['notification', 'fcm', 'firebase'], + usecases: ['Messaging'], runtimes: [ { name: 'node-18.0', @@ -629,7 +629,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['form', 'email'], + usecases: ['Utilities'], runtimes: [ { name: 'node-18.0', From 594c6560e2754d78134dbfed0547d2dec4285266 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 29 Aug 2023 10:23:20 +0100 Subject: [PATCH 14/15] fix: uppercase ai usecase --- src/lib/stores/marketplace.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 54d80e23e..3c76be73a 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -197,7 +197,7 @@ export const marketplace: MarketplaceTemplate[] = [ events: [], cron: '', timeout: 15, - usecases: ['ai'], + usecases: ['AI'], runtimes: [ { name: 'node-18.0', From 41adb059689b8419b30933c9b16a1c9346722ed6 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 29 Aug 2023 12:17:06 +0200 Subject: [PATCH 15/15] fix: merge leftover --- .../project-[project]/settings/updateInstallations.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/settings/updateInstallations.svelte b/src/routes/console/project-[project]/settings/updateInstallations.svelte index 158634713..919377a40 100644 --- a/src/routes/console/project-[project]/settings/updateInstallations.svelte +++ b/src/routes/console/project-[project]/settings/updateInstallations.svelte @@ -205,7 +205,7 @@