GetScanTaskList.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 GetScanTaskList extends API {
  6. constructor() {
  7. super()
  8. this.setPath('/AI/GetScanTaskList')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. let { uuid, session, id } = req.query
  13. if ([uuid, session, id].some(value => value === '' || value === null || value === undefined))
  14. return res.json({
  15. ...BaseStdResponse.MISSING_PARAMETER
  16. })
  17. // 检查 session
  18. if (!await AccessControl.checkSession(uuid, session))
  19. return res.status(401).json({
  20. ...BaseStdResponse.ACCESS_DENIED
  21. })
  22. let sql = 'SELECT id, create_time, scan_start_time, scan_end_time, result, repo_hash, state, repo_id, type, source FROM scan_tasks WHERE create_user = ? AND repo_id = ? ORDER BY id DESC'
  23. let rows = await db.query(sql, [uuid, id])
  24. if (!rows || rows.length === 0)
  25. return res.json({
  26. ...BaseStdResponse.OK,
  27. data: []
  28. })
  29. res.json({
  30. ...BaseStdResponse.OK,
  31. data: rows
  32. })
  33. }
  34. }
  35. module.exports.GetScanTaskList = GetScanTaskList