From d0b8cbcdc2cd6b641d9cdca56086bd0c23eb2168 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Thu, 19 Sep 2024 08:24:53 +0545 Subject: [PATCH] more role fixes --- src/lib/stores/roles.ts | 1 + .../organization-[organization]/header.svelte | 10 +++++----- .../organization-[organization]/members/+page.svelte | 7 ++++++- .../usage/[[invoice]]/ProjectBreakdown.svelte | 5 +++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lib/stores/roles.ts b/src/lib/stores/roles.ts index 4a62dc065..b7b79f500 100644 --- a/src/lib/stores/roles.ts +++ b/src/lib/stores/roles.ts @@ -43,5 +43,6 @@ export const canSeeProjects = derived(scopes, function ($scopes) { }); export const canSeeDatabases = derived(scopes, ($scopes) => $scopes.includes('databases.read')); export const canSeeFunctions = derived(scopes, ($scopes) => $scopes.includes('functions.read')); +export const canSeeTeams = derived(scopes, ($scopes) => $scopes.includes('teams.read')); export const canSeeBuckets = derived(scopes, ($scopes) => $scopes.includes('buckets.read')); export const canSeeMessages = derived(scopes, ($scopes) => $scopes.includes('messages.read')); diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index a8be3ccc8..3a2fec5c5 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -32,7 +32,7 @@ organization, organizationList } from '$lib/stores/organization'; - import { canSeeBilling, canSeeProjects, isOwner } from '$lib/stores/roles'; + import { canSeeBilling, canSeeProjects, canSeeTeams, isOwner } from '$lib/stores/roles'; import { GRACE_PERIOD_OVERRIDE, isCloud } from '$lib/system'; let areMembersLimited: boolean; @@ -68,14 +68,14 @@ title: 'Members', event: 'members', hasChildren: true, - disabled: !$isOwner + disabled: !$canSeeTeams }, { href: `${path}/usage`, event: 'usage', title: 'Usage', hasChildren: true, - disabled: !(isCloud && $isOwner) + disabled: !(isCloud && $canSeeTeams) }, { href: `${path}/billing`, @@ -142,7 +142,6 @@ - {#if $isOwner}
- {/if} {#each tabs as tab} diff --git a/src/routes/(console)/organization-[organization]/members/+page.svelte b/src/routes/(console)/organization-[organization]/members/+page.svelte index 14ede44c0..4ee2f3c07 100644 --- a/src/routes/(console)/organization-[organization]/members/+page.svelte +++ b/src/routes/(console)/organization-[organization]/members/+page.svelte @@ -21,6 +21,7 @@ import type { PageData } from './$types'; import Delete from '../deleteMember.svelte'; import { base } from '$app/paths'; + import { isOwner } from '$lib/stores/roles'; export let data: PageData; @@ -58,7 +59,7 @@ newMemberModal.set(true)} showAlert={false} /> @@ -68,8 +69,10 @@ Email Role 2FA + {#if $isOwner} + {/if} + {#if $isOwner} {#if member.invited && !member.joined} + {/if} {/each} diff --git a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte index 99a829376..82943ffe5 100644 --- a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte +++ b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte @@ -14,6 +14,7 @@ import { humanFileSize } from '$lib/helpers/sizeConvertion'; import type { OrganizationUsage } from '$lib/sdk/billing'; import { base } from '$app/paths'; + import { canSeeProjects } from '$lib/stores/roles'; type Metric = 'users' | 'storage' | 'bandwidth' | 'executions'; export let data: PageData; @@ -60,7 +61,9 @@ Project Usage + {#if $canSeeProjects} + {/if} {#each groupByProject(metric).sort((a, b) => b.usage - a.usage) as project} @@ -69,11 +72,13 @@ {getProjectName(project.projectId)} {format(project.usage)} + {#if $canSeeProjects} View project usage + {/if} {/each}