feat(isac): grant agents baseline data contribution access
This commit is contained in:
@@ -2,6 +2,8 @@ import { getDatabase } from '$lib/server/database';
|
||||
import type { AuthUser } from './session';
|
||||
import { error } from '@sveltejs/kit';
|
||||
|
||||
const REGISTERED_AGENT_PERMISSIONS = ['isac.access', 'data.view', 'data.propose'] as const;
|
||||
|
||||
export async function getPermissions(user: AuthUser | null): Promise<string[]> {
|
||||
if (!user) return [];
|
||||
if (user.role === 'admin') return ['*'];
|
||||
@@ -16,7 +18,7 @@ export async function getPermissions(user: AuthUser | null): Promise<string[]> {
|
||||
JOIN user_permissions ON user_permissions.permission_id=permissions.id
|
||||
WHERE user_permissions.user_id=?
|
||||
`)).all(user.id, user.id);
|
||||
const permissions = rows.map((row) => String(row.name));
|
||||
const permissions = [...new Set([...REGISTERED_AGENT_PERMISSIONS, ...rows.map((row) => String(row.name))])];
|
||||
return permissions.includes('system.admin') ? ['*'] : permissions;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user