/** * 会话接口。 * * author: Sand * since: 12/15/2016 */ "use strict"; let express = require('express'); let router = express.Router(); let log = require('../../util/log.js'); let ObjectUtil = require("../../util/object.util.js"); let ControllerUtil = require('../../util/controller.util'); let Topics = require('../../models/sessions/topics'); const APIv2 = require('../../include/endpoints').APIv2; /** * 获取用户的聊天列表 */ router.get(APIv2.Sessions.Topics, function (req, res) { let topicId = req.query.topicId; let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.getTopicMessages(topicId); }); router.get(APIv2.Sessions.TopicList, function (req, res) { let user = req.query.user; let status = req.query.status; let type = req.query.type;//SESSION_TYPES let page = req.query.page; let pagesize = req.query.pagesize; let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.getTopics(user,status,page,pagesize,type); }); router.post(APIv2.Sessions.Topics, function (req, res) { let payload = req.body; let testing = ObjectUtil.fieldsCheck(payload, "topic_id", "topic_name", "participants", "messages", "session_id", "session_type"); if (!testing.pass) { throw {httpStatus: 406, message: testing.message} } let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.createTopic(payload.topic_name, payload.topic_id, payload.session_id, JSON.parse(payload.participants), JSON.parse(payload.messages),payload.session_type); }); router.put(APIv2.Sessions.Topics, function (req, res) { let payload = req.body; let topicId = payload.topic_id; let jsonValue = payload.data; let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.updateTopic(topicId, jsonValue); }); router.get(APIv2.Sessions.TopicEnded, function (req, res) { let sessionId = req.session_id; let topicId = req.topic_id; let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.isTopicEnded(sessionId, topicId, null); }); router.post(APIv2.Sessions.TopicEnded, function (req, res) { let payload = req.body; let endUser = payload.end_user; let endUserName = payload.end_user_name; let topicId = payload.topic_id; let topic = new Topics(); ControllerUtil.regModelEventHandler(topic, res); topic.endTopic(topicId, endUser, endUserName); }); module.exports = router;