GetReqLogDetail.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. const API = require("../../../lib/API")
  2. const db = require("../../../plugin/DataBase/db")
  3. const AccessControl = require("../../../lib/AccessControl")
  4. const { BaseStdResponse } = require("../../../BaseStdResponse")
  5. class GetReqLogDetail extends API {
  6. constructor() {
  7. super();
  8. this.setPath('/Admin/User/GetReqLogDetail')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. let {
  13. uuid,
  14. session,
  15. id
  16. } = req.query
  17. if ([uuid, session, id].some(value => value === '' || value === null || value === undefined))
  18. return res.json({
  19. ...BaseStdResponse.MISSING_PARAMETER
  20. })
  21. // 检查 session
  22. if (!await AccessControl.checkSession(uuid, session))
  23. return res.status(401).json({
  24. ...BaseStdResponse.ACCESS_DENIED
  25. })
  26. // 检查权限
  27. let permission = await AccessControl.getPermission(uuid)
  28. if (!permission.includes("admin"))
  29. return res.json({
  30. ...BaseStdResponse.PERMISSION_DENIED
  31. })
  32. let sql = `
  33. SELECT
  34. l.*,
  35. u.username,
  36. u.avatar
  37. FROM
  38. requestLog l
  39. JOIN
  40. users u
  41. ON
  42. l.create_user = u.uuid
  43. WHERE
  44. l.id = ?
  45. `
  46. let rows = await db.query(sql, [id])
  47. if (!rows || rows.length === 0)
  48. return res.json({
  49. ...BaseStdResponse.MISSING_FILE,
  50. msg: '获取日志数据失败!'
  51. })
  52. res.json({
  53. ...BaseStdResponse.OK,
  54. data: rows[0]
  55. })
  56. }
  57. }
  58. module.exports.GetReqLogDetail = GetReqLogDetail