25 lines
541 B
TypeScript
25 lines
541 B
TypeScript
export default defineEventHandler(async (e) => {
|
|
const session = await getUserSession(e);
|
|
|
|
if(!session.user || !hasPermissions(session.user.permissions, ['admin']))
|
|
{
|
|
setResponseStatus(e, 404);
|
|
return;
|
|
}
|
|
const id = getRouterParam(e, 'id');
|
|
|
|
if(!id)
|
|
{
|
|
setResponseStatus(e, 400);
|
|
return;
|
|
}
|
|
|
|
const result = await runTask(id);
|
|
|
|
if(!result.result)
|
|
{
|
|
setResponseStatus(e, 500);
|
|
throw result.error ?? new Error('Erreur inconnue');
|
|
}
|
|
return
|
|
}); |