import { withAdmin } from '@/lib/api-handler' import { apiError, apiOk } from '@/lib/api-response' import { PERMS } from '@/lib/permissions' import { logAudit } from '@/lib/services/audit' import { deleteImportedFigure, getFigureList, getFigureStats } from '@/lib/services/figure-import' export const GET = withAdmin({ permission: PERMS.ASSETS_IMPORT }, async (request) => { if (request.nextUrl.searchParams.get('action') === 'stats') return apiOk(await getFigureStats()) const search = request.nextUrl.searchParams.get('search') || '' const page = Number.parseInt(request.nextUrl.searchParams.get('page') || '1', 10) const { items, meta } = await getFigureList({ search, page: page || 1, perPage: 100 }) return apiOk({ items, meta }) }) export const DELETE = withAdmin({ permission: PERMS.ASSETS_IMPORT }, async (request, ctx) => { const lib = request.nextUrl.searchParams.get('lib') if (!lib) return apiError('Missing lib', 400) const { deletedFile } = await deleteImportedFigure(lib) if (!deletedFile) return apiError(`Library "${lib}" not found`, 404) logAudit({ userId: ctx.session.user.id, action: 'figure_delete', target: 'FigureAsset', targetId: 0, after: { lib }, }) return apiOk({ lib, deletedFile }) })