| import { useMemo } from 'react';
|
| import { useAuthStore } from '@/stores/authStore';
|
| import { useMe } from '@/features/auth/data/auth';
|
|
|
| export interface UsageLogPermissions {
|
| canViewUsers: boolean;
|
| canViewChannels: boolean;
|
| }
|
|
|
| export function useUsageLogPermissions(): UsageLogPermissions {
|
| const { user: authUser } = useAuthStore((state) => state.auth);
|
| const { data: meData } = useMe();
|
|
|
|
|
| const user = meData || authUser;
|
| const isOwner = user?.isOwner || false;
|
|
|
| const permissions = useMemo(() => {
|
| const userScopes = user?.scopes || [];
|
|
|
| if (isOwner || userScopes.includes('*')) {
|
| return {
|
| canViewUsers: true,
|
| canViewChannels: true,
|
| };
|
| }
|
|
|
| return {
|
| canViewUsers: userScopes.includes('read_users'),
|
| canViewChannels: userScopes.includes('read_channels'),
|
| };
|
| }, [user, isOwner]);
|
|
|
| return permissions;
|
| }
|
|
|