From a5532d84ba8c8ddd4dcac8b8caaca8ad89427d12 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Wed, 18 Sep 2024 15:15:23 +0545 Subject: [PATCH] fix redirects --- src/lib/stores/roles.ts | 1 - src/routes/(console)/organization-[organization]/+page.ts | 7 ++----- .../(console)/organization-[organization]/billing/+page.ts | 7 ++++++- 3 files changed, 8 insertions(+), 7 deletions(-) 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);