GetChangeRecord.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const API = require("../../../lib/API.js")
  2. const db = require("../../../plugin/DataBase/db.js")
  3. const { BaseStdResponse } = require("../../../BaseStdResponse.js")
  4. const AccessControl = require("../../../lib/AccessControl.js")
  5. class AdminPowerGetChangeRecord extends API {
  6. constructor() {
  7. super()
  8. this.setPath('/Admin/Power/Task/GetChangeRecord')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. let { uuid, session, id } = req.query
  13. if ([uuid, session, id].some(v => v === '' || v === null || v === undefined))
  14. return res.json({ ...BaseStdResponse.MISSING_PARAMETER })
  15. if (!await AccessControl.checkSession(uuid, session))
  16. return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED })
  17. const permission = await AccessControl.getPermission(uuid)
  18. if (!permission.includes('admin') && !permission.includes('server') && !permission.includes('service'))
  19. return res.json({ ...BaseStdResponse.PERMISSION_DENIED })
  20. const sql = `
  21. SELECT *
  22. FROM power_change_record
  23. WHERE task_id = ?
  24. ORDER BY id DESC
  25. `
  26. const rows = await db.query(sql, [id])
  27. if (!rows) return res.json({ ...BaseStdResponse.DATABASE_ERR })
  28. return res.json({
  29. ...BaseStdResponse.OK,
  30. data: rows
  31. })
  32. }
  33. }
  34. module.exports.AdminPowerGetChangeRecord = AdminPowerGetChangeRecord