mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
Allow members to view shared tasks (#101)
* Allow members to view shared tasks * Remove unnecessary client side logging
This commit is contained in:
parent
13701ab7d5
commit
7c1abba38b
6 changed files with 41 additions and 24 deletions
|
|
@ -1,5 +1,14 @@
|
|||
import { redirect } from 'next/navigation';
|
||||
import { auth } from '@clerk/nextjs/server';
|
||||
import { AuditLogs } from './AuditLogs';
|
||||
|
||||
export default function Page() {
|
||||
export default async function Page() {
|
||||
const { orgRole } = await auth();
|
||||
|
||||
// Only admins can access audit logs
|
||||
if (orgRole !== 'org:admin') {
|
||||
redirect('/usage');
|
||||
}
|
||||
|
||||
return <AuditLogs />;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import {
|
|||
setSentryOrganizationContext,
|
||||
} from '@/lib/server/sentry-context';
|
||||
import { NavbarHeader, NavbarMenu, Section } from '@/components/layout';
|
||||
import { Usage } from './usage/Usage';
|
||||
|
||||
export default async function AuthenticatedLayout({
|
||||
children,
|
||||
|
|
@ -32,25 +31,13 @@ export default async function AuthenticatedLayout({
|
|||
}
|
||||
}
|
||||
|
||||
// Members get access to usage page only, filtered to their own data
|
||||
if (orgRole === 'org:member' || (orgRole && orgRole !== 'org:admin')) {
|
||||
return (
|
||||
<>
|
||||
<NavbarHeader className="h-[72px]" />
|
||||
<NavbarMenu className="h-[72px]" userRole="member" />
|
||||
<Section divider={false} className="min-h-[calc(100vh-72px-72px-2px)]">
|
||||
<div className="flex flex-col gap-8 py-8">
|
||||
<Usage userRole="member" currentUserId={userId} />
|
||||
</div>
|
||||
</Section>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<NavbarHeader className="h-[72px]" />
|
||||
<NavbarMenu className="h-[72px]" userRole="admin" />
|
||||
<NavbarMenu
|
||||
className="h-[72px]"
|
||||
userRole={orgRole === 'org:admin' ? 'admin' : 'member'}
|
||||
/>
|
||||
<Section divider={false} className="min-h-[calc(100vh-72px-72px-2px)]">
|
||||
<div className="flex flex-col gap-8 py-8">{children}</div>
|
||||
</Section>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
import { redirect } from 'next/navigation';
|
||||
import { auth } from '@clerk/nextjs/server';
|
||||
import { ProviderSettings } from './ProviderSettings';
|
||||
|
||||
export default function Page() {
|
||||
export default async function Page() {
|
||||
const { orgRole } = await auth();
|
||||
|
||||
// Only admins can access provider settings
|
||||
if (orgRole !== 'org:admin') {
|
||||
redirect('/usage');
|
||||
}
|
||||
|
||||
return <ProviderSettings />;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,15 @@
|
|||
import { redirect } from 'next/navigation';
|
||||
import { auth } from '@clerk/nextjs/server';
|
||||
import { SettingsPage } from './SettingsPage';
|
||||
|
||||
export default function Settings() {
|
||||
export default async function Settings() {
|
||||
const { orgRole } = await auth();
|
||||
|
||||
// Only admins can access settings
|
||||
if (orgRole !== 'org:admin') {
|
||||
redirect('/usage');
|
||||
}
|
||||
|
||||
return <SettingsPage />;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ export default async function SharedTaskPage({ params }: SharedTaskPageProps) {
|
|||
</div>
|
||||
);
|
||||
} catch (error) {
|
||||
console.error('Error loading shared task:', error);
|
||||
|
||||
// Check if it's an access denied error
|
||||
if (error instanceof Error && error.message.includes('Access denied')) {
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@ import { auth } from '@clerk/nextjs/server';
|
|||
import { Usage } from './Usage';
|
||||
|
||||
export default async function Page() {
|
||||
const { userId } = await auth();
|
||||
const { userId, orgRole } = await auth();
|
||||
|
||||
return <Usage userRole="admin" currentUserId={userId} />;
|
||||
return (
|
||||
<Usage
|
||||
userRole={orgRole === 'org:admin' ? 'admin' : 'member'}
|
||||
currentUserId={userId}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue