diff --git a/src/lib/stores/roles.ts b/src/lib/stores/roles.ts index 2c05691c3..c833ae844 100644 --- a/src/lib/stores/roles.ts +++ b/src/lib/stores/roles.ts @@ -41,7 +41,6 @@ export const canWriteTopics = derived(scopes, ($scopes) => $scopes.includes('top export const canSeeBilling = derived(scopes, ($scopes) => $scopes.includes('billing.read')); export const canSeeProjects = derived(scopes, function ($scopes) { - console.log($scopes); return $scopes.includes('projects.read'); }); export const canSeeDatabases = derived(scopes, ($scopes) => $scopes.includes('databases.read')); diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index ca8c8d2b4..67c8c9b03 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -4,17 +4,14 @@ import { getLimit, getPage, pageToOffset } from '$lib/helpers/load'; import { CARD_LIMIT, Dependencies } from '$lib/constants'; import type { PageLoad } from './$types'; import { redirect } from '@sveltejs/kit'; -import { canSeeProjects } from '$lib/stores/roles'; -import { get } from 'svelte/store'; export const load: PageLoad = async ({ params, url, route, depends, parent }) => { - await parent(); + const {roles, scopes} = await parent(); depends(Dependencies.ORGANIZATION); const page = getPage(url); const limit = getLimit(url, route, CARD_LIMIT); const offset = pageToOffset(page, limit); - - if (!get(canSeeProjects)) { + if (!scopes.includes('projects.read') && scopes.includes('billing.read')) { return redirect(301, `/console/organization-${params.organization}/billing`); } diff --git a/src/routes/(console)/organization-[organization]/billing/+page.ts b/src/routes/(console)/organization-[organization]/billing/+page.ts index 541069cd1..6f2b145f9 100644 --- a/src/routes/(console)/organization-[organization]/billing/+page.ts +++ b/src/routes/(console)/organization-[organization]/billing/+page.ts @@ -2,10 +2,15 @@ import { Dependencies } from '$lib/constants'; import type { Address } from '$lib/sdk/billing'; import type { Organization } from '$lib/stores/organization'; import { sdk } from '$lib/stores/sdk'; +import { redirect } from '@sveltejs/kit'; import type { PageLoad } from './$types'; export const load: PageLoad = async ({ parent, depends }) => { - const { organization } = await parent(); + const { organization, scopes } = await parent(); + + if(!scopes.includes('billing.read')) { + return redirect(301, `/console/organization-${organization.$id}`); + } depends(Dependencies.PAYMENT_METHODS); depends(Dependencies.ORGANIZATION); depends(Dependencies.CREDIT);