topic.endpoint.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * 会话接口。
  3. *
  4. * author: Sand
  5. * since: 12/15/2016
  6. */
  7. "use strict";
  8. let express = require('express');
  9. let router = express.Router();
  10. let log = require('../../util/log.js');
  11. let ObjectUtil = require("../../util/object.util.js");
  12. let ControllerUtil = require('../../util/controller.util');
  13. let Topics = require('../../models/sessions/topics');
  14. const APIv2 = require('../../include/endpoints').APIv2;
  15. /**
  16. * 获取用户的聊天列表
  17. */
  18. router.get(APIv2.Sessions.TopicMessages, function (req, res) {
  19. let topicId = req.query.topic_id;
  20. let topic = new Topics();
  21. ControllerUtil.regModelEventHandler(topic, res);
  22. topic.getTopicMessages(topicId);
  23. });
  24. router.get(APIv2.Sessions.TopicList, function (req, res) {
  25. let user = req.query.user;
  26. let status = req.query.status;
  27. let type = req.query.type;//SESSION_TYPES
  28. let page = req.query.page;
  29. let pagesize = req.query.pagesize;
  30. let topic = new Topics();
  31. ControllerUtil.regModelEventHandler(topic, res);
  32. topic.getTopics(user,status,page,pagesize,type);
  33. });
  34. router.post(APIv2.Sessions.Topics, function (req, res) {
  35. let payload = req.body;
  36. let testing = ObjectUtil.fieldsCheck(payload, "topic_id", "topic_name", "participants", "messages", "session_id", "session_type");
  37. if (!testing.pass) {
  38. throw {httpStatus: 406, message: testing.message}
  39. }
  40. let topic = new Topics();
  41. ControllerUtil.regModelEventHandler(topic, res);
  42. topic.createTopic(payload.topic_name, payload.topic_id, payload.session_id, JSON.parse(payload.participants), JSON.parse(payload.messages),payload.session_type);
  43. });
  44. router.put(APIv2.Sessions.Topics, function (req, res) {
  45. let payload = req.body;
  46. let topicId = payload.topic_id;
  47. let jsonValue = payload.data;
  48. let topic = new Topics();
  49. ControllerUtil.regModelEventHandler(topic, res);
  50. topic.updateTopic(topicId, JSON.parse(jsonValue));
  51. });
  52. router.get(APIv2.Sessions.TopicEnded, function (req, res) {
  53. let sessionId = req.params.session_id;
  54. let topicId = req.params.topic_id;
  55. let topic = new Topics();
  56. ControllerUtil.regModelEventHandler(topic, res);
  57. topic.isTopicEnded(sessionId, topicId, null);
  58. });
  59. router.post(APIv2.Sessions.TopicEnded, function (req, res) {
  60. let payload = req.body;
  61. let endUser = payload.end_user;
  62. let endUserName = payload.end_user_name;
  63. let topicId = payload.topic_id;
  64. let topic = new Topics();
  65. ControllerUtil.regModelEventHandler(topic, res);
  66. topic.endTopic(topicId, endUser, endUserName);
  67. });
  68. module.exports = router;