feat(isac): add moderated data contributions

This commit is contained in:
JB
2026-07-25 13:08:05 -04:00
parent 6c982f7ed5
commit bb01f9b69f
18 changed files with 359 additions and 23 deletions
+9
View File
@@ -31,6 +31,15 @@ export async function requirePermission(user: AuthUser | null, permission: strin
return user;
}
export async function requireDataView(user: AuthUser | null): Promise<AuthUser> {
if (!user) error(401, 'Sign in required');
const permissions = await getPermissions(user);
if (!permissions.includes('*') && !['data.view', 'data.manage', 'data.propose', 'data.approve'].some((permission) => permissions.includes(permission))) {
error(403, 'ISAC data access required');
}
return user;
}
export function requireAdmin(user: AuthUser | null): asserts user is AuthUser {
if (!user) error(401, 'Sign in required');
if (user.role !== 'admin') error(403, 'Administrator permission required');