List.js 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. const API = require('../../../lib/API')
  2. const { BaseStdResponse } = require('../../../BaseStdResponse')
  3. const AccessControl = require('../../../lib/AccessControl')
  4. const { ConversationService } = require('../../../lib/AIChat/ConversationService')
  5. class ListMessage extends API {
  6. constructor() {
  7. super()
  8. this.setPath('/AIChat/Message/List')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. const { uuid, session, conversation_id, after_id = 0, current = 1, pagesize = 50 } = req.query
  13. if ([uuid, session, conversation_id].some(v => v === '' || v === null || v === undefined)) {
  14. return res.json({ ...BaseStdResponse.MISSING_PARAMETER })
  15. }
  16. if (!await AccessControl.checkSession(uuid, session)) {
  17. return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED })
  18. }
  19. const result = await ConversationService.listMessages({
  20. uuid,
  21. conversationId: conversation_id,
  22. afterId: after_id,
  23. current,
  24. pagesize
  25. })
  26. if (!result) return res.json({ ...BaseStdResponse.ERR, msg: '会话不存在或无权查看' })
  27. return res.json({ ...BaseStdResponse.OK, ...result })
  28. }
  29. }
  30. module.exports.ListMessage = ListMessage