Files
EpicNext-Cms/src/app/api/admin/import/clothing/route.ts
T
openhands df38dccbf1
Local Build and Deploy / deploy (push) Failing after 46s
style: format code biome
2026-07-13 21:57:41 +02:00

47 lines
1.3 KiB
TypeScript

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 });
},
);