const API = require('../../../lib/API') const { BaseStdResponse } = require('../../../BaseStdResponse') const AccessControl = require('../../../lib/AccessControl') const { ConversationService } = require('../../../lib/AIChat/ConversationService') class ListMessage extends API { constructor() { super() this.setPath('/AIChat/Message/List') this.setMethod('GET') } async onRequest(req, res) { const { uuid, session, conversation_id, after_id = 0, current = 1, pagesize = 50 } = req.query if ([uuid, session, conversation_id].some(v => v === '' || v === null || v === undefined)) { return res.json({ ...BaseStdResponse.MISSING_PARAMETER }) } if (!await AccessControl.checkSession(uuid, session)) { return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED }) } const result = await ConversationService.listMessages({ uuid, conversationId: conversation_id, afterId: after_id, current, pagesize }) if (!result) return res.json({ ...BaseStdResponse.ERR, msg: '会话不存在或无权查看' }) return res.json({ ...BaseStdResponse.OK, ...result }) } } module.exports.ListMessage = ListMessage