123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /**
- * 会话接口。
- *
- * 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.TopicMessages, function (req, res) {
- let topicId = req.query.topic_id;
- let startMsgId = req.query.start;
- let endMsgId = req.query.end;
- let page = req.query.page;
- let pagesize = req.query.pagesize;
- let user = req.query.user;
- let topic = new Topics();
- ControllerUtil.regModelEventHandler(topic, res);
- topic.getTopicMessages(topicId,user,startMsgId,endMsgId,page,pagesize);
- });
- /**
- * 获取topic单条记录
- */
- router.get(APIv2.Sessions.Topic, function (req, res) {
- let topicId = req.query.topic_id;
- let topic = new Topics();
- ControllerUtil.regModelEventHandler(topic, res);
- topic.getTopicByTopicId(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_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, JSON.parse(jsonValue));
- });
- router.get(APIv2.Sessions.TopicEnded, function (req, res) {
- let sessionId = req.params.session_id;
- let topicId = req.params.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;
|