const API = require("../../../../lib/API"); const AccessControl = require("../../../../lib/AccessControl"); const { BaseStdResponse } = require("../../../../BaseStdResponse"); const VersionService = require("../../../../lib/DownloadVersionService"); class AdminDownloadVersionDelete extends API { constructor() { super(); this.setPath('/Admin/DownloadVersion'); this.setMethod('DELETE'); } async onRequest(req, res) { const { uuid, session, id } = req.body; if ([uuid, session, id].some(v => v === '' || v === null || v === undefined)) return res.json({ ...BaseStdResponse.MISSING_PARAMETER }); if (!await AccessControl.checkSession(uuid, session)) return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED }); const permission = await AccessControl.getPermission(uuid); if (!permission.includes('admin') && !permission.includes('service')) return res.json({ ...BaseStdResponse.PERMISSION_DENIED }); try { const result = await VersionService.deleteVersion(id); if (!result || result.affectedRows === 0) return res.json({ ...BaseStdResponse.ERR, msg: '删除下载版本失败' }); return res.json({ ...BaseStdResponse.OK }); } catch (err) { this.logger.error(`删除下载版本失败:${err.stack || err}`); return res.json({ ...BaseStdResponse.ERR, msg: '删除下载版本失败' }); } } } module.exports.AdminDownloadVersionDelete = AdminDownloadVersionDelete;