UNPKG

wranglebot

Version:

open source media asset management

27 lines (23 loc) 1.04 kB
import { WrangleBot } from "../../../core/WrangleBot.js"; import { SocketServer } from "../../SocketServer.js"; import LogBot from "logbotjs"; import RouteResult from "../../RouteResult.js"; export default { method: "delete", requiredRole: ["admin", "maintainer"], url: "/library/:libraryName/metafiles/:metaFileId/metacopies/:metaCopyId", handler: async (req, res, bot: WrangleBot, server: SocketServer) => { const { libraryName, metaFileId, metaCopyId } = req.params; const { deleteFile } = req.body; const lib = await bot.query.library.one(libraryName).fetch(); const metaFile = lib.query.metafiles.one(metaFileId).fetch(); await metaFile.query.metacopies.one(metaCopyId).delete({ deleteFile: deleteFile || false, }); LogBot.log(200, `[API] DELETE /library/${libraryName}/metafiles/${metaFileId}/metacopies/${metaCopyId} by IP ${req.ip}`); return new RouteResult(200, { status: "success", message: `Deleted metacopy ${metaCopyId} from ${metaFile.basename}`, }); }, };