From 8058d115db0e0157cf2e39109bd4cbdb5ac6b93c Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 7 Mar 2025 13:26:41 +0100 Subject: [PATCH] feat: permissions --- .../template-[template]/+page.svelte | 22 +++++---- .../template-[template]/permissions.svelte | 45 +++++++++---------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/src/routes/(console)/project-[project]/functions/create-function/template-[template]/+page.svelte b/src/routes/(console)/project-[project]/functions/create-function/template-[template]/+page.svelte index 34ad58023..eb9ac8d16 100644 --- a/src/routes/(console)/project-[project]/functions/create-function/template-[template]/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/create-function/template-[template]/+page.svelte @@ -46,10 +46,11 @@ let repositoryPrivate = true; let selectedInstallationId = ''; let selectedRepository = ''; - let showSiteConfig = false; + let showConfig = false; let silentMode = false; let entrypoint = ''; - let scopes: string[] = []; + let selectedScopes: string[] = []; + let execute = false; let variables: Partial[] = []; onMount(async () => { @@ -83,7 +84,7 @@ ); repository.set(repo); selectedRepository = repo.id; - showSiteConfig = true; + showConfig = true; } catch (error) { addNotification({ type: 'error', @@ -107,7 +108,7 @@ id, name, runtime as Runtime, - undefined, + undefined, //excute ? permissions || undefined : undefined, undefined, undefined, undefined, @@ -115,7 +116,7 @@ undefined, entrypoint, undefined, - scopes, + selectedScopes?.length ? selectedScopes : undefined, $installation.$id, $repository.id, branch, @@ -206,7 +207,7 @@ confirmExit>
- {#if selectedRepository && showSiteConfig} + {#if selectedRepository && showConfig} { - showSiteConfig = false; + showConfig = false; }}> Update @@ -265,7 +266,10 @@
- + @@ -308,7 +312,7 @@ repository.set(e.detail); repositoryName = e.detail.name; selectedRepository = e.detail.id; - showSiteConfig = true; + showConfig = true; }} /> {/if} diff --git a/src/routes/(console)/project-[project]/functions/create-function/template-[template]/permissions.svelte b/src/routes/(console)/project-[project]/functions/create-function/template-[template]/permissions.svelte index f37082706..219428209 100644 --- a/src/routes/(console)/project-[project]/functions/create-function/template-[template]/permissions.svelte +++ b/src/routes/(console)/project-[project]/functions/create-function/template-[template]/permissions.svelte @@ -3,24 +3,17 @@ import { Fieldset, Layout, Selector } from '@appwrite.io/pink-svelte'; export let templateScopes: string[]; + export let selectedScopes: string[]; + export let execute = false; - let execute = false; - // onMount(() => { - // $templateConfig.execute = $template.permissions.includes('any'); - // templateScopes = scopes - // .filter((scope) => $template.scopes.includes(scope.scope)) - // .map((scope) => ({ - // ...scope, - // active: true - // })); - // }); - - // $: $templateConfig.scopes = templateScopes - // ?.filter((scope) => scope.active) - // ?.map((scope) => scope.scope); - - $: console.log(templateScopes); - $: console.log(scopes); + let scopeList = scopes + .filter((s) => templateScopes.includes(s.scope)) + .map((s) => { + return { + value: s, + checked: false + }; + });
@@ -33,14 +26,18 @@ bind:checked={execute}> - {#if templateScopes.length > 0} - {#each templateScopes as s} - {@const scope = scopes.find((sc) => sc.scope === s)} + {#if scopeList.length > 0} + {#each scopeList as scope} + id={scope.value.scope} + label={scope.value.scope} + description={scope.value.description} + bind:checked={scope.checked} + on:change={() => { + selectedScopes = scopeList + .filter((s) => s.checked) + .map((s) => s.value.scope); + }}> {/each} {/if}