feat(isac): add moderated data contributions
This commit is contained in:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user