DeleteRepo.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const API = require("../../lib/API")
  2. const AccessControl = require("../../lib/AccessControl")
  3. const { BaseStdResponse } = require("../../BaseStdResponse")
  4. const db = require("../../plugin/DataBase/db")
  5. // 删除仓库
  6. class DeleteRepo extends API {
  7. constructor() {
  8. super()
  9. this.setMethod("DELETE")
  10. this.setPath("/Repos")
  11. }
  12. async onRequest(req, res) {
  13. let { uuid, session, id } = req.body
  14. if ([uuid, session, id].some(value => value === '' || value === null || value === undefined))
  15. return res.json({
  16. ...BaseStdResponse.MISSING_PARAMETER
  17. })
  18. // 检查 session
  19. if (!await AccessControl.checkSession(uuid, session))
  20. return res.status(401).json({
  21. ...BaseStdResponse.ACCESS_DENIED
  22. })
  23. let sql = 'DELETE FROM repos WHERE create_user = ? AND id = ?'
  24. let result = await db.query(sql, [uuid, id])
  25. if (result && result.affectedRows > 0) {
  26. res.json({
  27. ...BaseStdResponse.OK
  28. })
  29. // TODO 删除仓库
  30. } else {
  31. res.json({ ...BaseStdResponse.ERR, endpoint: 7894378, msg: '删除仓库失败!' })
  32. }
  33. }
  34. }
  35. module.exports.DeleteRepo = DeleteRepo