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}
- {#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}
Create column
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte
index 66c064aff..3d7f2caea 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte
@@ -4,7 +4,7 @@
import { Id, Tab, Tabs } from '$lib/components';
import { isTabSelected } from '$lib/helpers/load';
import { Cover, CoverTitle } from '$lib/layout';
- import { canWriteCollections } from '$lib/stores/roles';
+ import { canWriteTables } from '$lib/stores/roles';
import { table } from './store';
import { isTabletViewport } from '$lib/stores/viewport';
@@ -50,7 +50,7 @@
href: `${path}/settings`,
title: 'Settings',
event: 'settings',
- disabled: !$canWriteCollections
+ disabled: !$canWriteTables
}
].filter((tab) => !tab.disabled)
);
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte
index 24b6431d9..0b690fe31 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte
@@ -11,7 +11,7 @@
import CreateColumnDropdown from '../columns/createColumnDropdown.svelte';
import type { Option } from '../columns/store';
import FailedModal from '../failedModal.svelte';
- import { canWriteCollections } from '$lib/stores/roles';
+ import { canWriteTables } from '$lib/stores/roles';
import {
ActionMenu,
Badge,
@@ -59,7 +59,7 @@
Indexes
- {#if $canWriteCollections}
+ {#if $canWriteTables}
{:else}
Documentation
- {#if $canWriteCollections}
+ {#if $canWriteTables}