From e193ef4811c5d1cc14927dfab117ff12fa16038c Mon Sep 17 00:00:00 2001 From: Darshan Date: Thu, 26 Jun 2025 19:39:58 +0530 Subject: [PATCH] update: scopes. --- src/lib/stores/roles.ts | 11 ++++++----- .../organization-[organization]/members/+page.ts | 1 + .../databases/database-[database]/+layout.svelte | 4 ++-- .../databases/database-[database]/+page.svelte | 6 +++--- .../databases/database-[database]/grid.svelte | 4 ++-- .../table-[table]/+layout.svelte | 14 +++++++------- .../database-[database]/table-[table]/+page.svelte | 8 ++++---- .../table-[table]/columns/+page.svelte | 6 +++--- .../table-[table]/header.svelte | 4 ++-- .../table-[table]/indexes/+page.svelte | 8 ++++---- .../databases/database-[database]/table.svelte | 4 ++-- 11 files changed, 36 insertions(+), 34 deletions(-) diff --git a/src/lib/stores/roles.ts b/src/lib/stores/roles.ts index b7018701d..6bd01aa46 100644 --- a/src/lib/stores/roles.ts +++ b/src/lib/stores/roles.ts @@ -19,14 +19,15 @@ export const canWritePlatforms = derived(scopes, ($scopes) => $scopes.includes(' export const canWriteTargets = derived(scopes, ($scopes) => $scopes.includes('targets.write')); export const canWriteUsers = derived(scopes, ($scopes) => $scopes.includes('users.write')); export const canWriteTeams = derived(scopes, ($scopes) => $scopes.includes('teams.write')); -export const canWriteCollections = derived(scopes, ($scopes) => - $scopes.includes('collections.write') -); +export const canWriteTables = derived(scopes, ($scopes) => { + return $scopes.includes('collections.write') || $scopes.includes('tables.write'); +}); export const canWriteSites = derived(scopes, ($scopes) => $scopes.includes('sites.write')); export const canWriteDomains = derived(scopes, ($scopes) => $scopes.includes('domains.write')); //TODO: check if correct -// TODO: @itznotabug - add new scopes as well, don't replace completely! -export const canWriteDocuments = derived(scopes, ($scopes) => $scopes.includes('documents.write')); +export const canWriteRows = derived(scopes, ($scopes) => { + return $scopes.includes('documents.write') || $scopes.includes('rows.write'); +}); export const canWriteExecutions = derived(scopes, ($scopes) => $scopes.includes('executions.write') ); diff --git a/src/routes/(console)/organization-[organization]/members/+page.ts b/src/routes/(console)/organization-[organization]/members/+page.ts index 6f03ce677..29ff1d5a6 100644 --- a/src/routes/(console)/organization-[organization]/members/+page.ts +++ b/src/routes/(console)/organization-[organization]/members/+page.ts @@ -7,6 +7,7 @@ import type { PageLoad } from './$types'; export const load: PageLoad = async ({ url, params, route, depends }) => { depends(Dependencies.ORGANIZATION); depends(Dependencies.MEMBERS); + const page = getPage(url); const search = getSearch(url); const limit = getLimit(url, route, PAGE_LIMIT); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte index 5306cffc7..5053513f9 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte @@ -14,7 +14,7 @@ import CreateTable from './createTable.svelte'; import { showCreate } from './store'; import { TablesPanel } from '$lib/commandCenter/panels'; - import { canWriteCollections, canWriteDatabases } from '$lib/stores/roles'; + import { canWriteTables, canWriteDatabases } from '$lib/stores/roles'; import { showCreateBackup, showCreatePolicy } from './backups/store'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; import { currentPlan } from '$lib/stores/organization'; @@ -43,7 +43,7 @@ } }, keys: page.url.pathname.endsWith(databaseId) ? ['c'] : ['c', 'c'], - disabled: page.url.pathname.includes('table-') || !$canWriteCollections, + disabled: page.url.pathname.includes('table-') || !$canWriteTables, group: 'databases', icon: IconPlus }, diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+page.svelte index 5054d5775..ce2d187f0 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+page.svelte @@ -6,7 +6,7 @@ import Table from './table.svelte'; import Grid from './grid.svelte'; import type { PageData } from './$types'; - import { canWriteCollections } from '$lib/stores/roles'; + import { canWriteTables } from '$lib/stores/roles'; import { Icon } from '@appwrite.io/pink-svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; @@ -19,7 +19,7 @@ columns={tableViewColumns} hasSearch searchPlaceholder="Search by name or ID"> - {#if $canWriteCollections} + {#if $canWriteTables} @@ -198,7 +198,7 @@ text event="empty_documentation" size="s">Documentation - {#if $canWriteCollections} + {#if $canWriteTables} Columns - {#if $canWriteCollections} + {#if $canWriteTables} {/if} @@ -236,7 +236,7 @@ text event="empty_documentation" ariaLabel={'create column'}>Documentation - {#if $canWriteCollections} + {#if $canWriteTables} - {#if $canWriteCollections} + {#if $canWriteTables}