16 lines
590 B
TypeScript
16 lines
590 B
TypeScript
import { deletePost } from '../../../utils/content';
|
|
import { requireContentAdmin } from '../../../utils/guard';
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const user = await requireContentAdmin(event);
|
|
const id = getRouterParam(event, 'id')!;
|
|
try {
|
|
const result = await deletePost(id, user);
|
|
if (!result.ok) throw createError({ statusCode: 403, statusMessage: result.error });
|
|
return { ok: true };
|
|
} catch (e) {
|
|
if (e && typeof e === 'object' && 'statusCode' in e) throw e;
|
|
throw createError({ statusCode: 404, statusMessage: 'Not found' });
|
|
}
|
|
});
|