|
@ -86,62 +86,6 @@ router.get("/", function (req, res) {
|
|
|
sessions.getUserSessions(userId, page, size);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 发送消息
|
|
|
*
|
|
|
* 请求URL:
|
|
|
* /sessions/:session_id/messages
|
|
|
*
|
|
|
* 消息体:
|
|
|
* {
|
|
|
* sender_id: bea851fc,
|
|
|
* sender_name: 李毅,
|
|
|
* content_type: 1,
|
|
|
* content: 李医生,你好
|
|
|
* }
|
|
|
*/
|
|
|
router.post(APIv2.Sessions.Messages, function (req, res) {
|
|
|
let payload = req.body;
|
|
|
let testing = ObjectUtil.fieldsCheck(payload, "sender_id", "sender_name", "content_type", "content");
|
|
|
if (!testing.pass) {
|
|
|
throw {httpStatus: 406, message: testing.message}
|
|
|
}
|
|
|
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
|
|
|
payload.timestamp = new Date();
|
|
|
sessions.saveMessageBySession(req.params.session_id, payload);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 获取消息
|
|
|
*
|
|
|
* 请求URL:
|
|
|
* /sessions/:session_id/messages?session_id=blabla&user_id=abc&start_message_id=100&end_message_id=20
|
|
|
*/
|
|
|
router.get(APIv2.Sessions.Messages, function (req, res) {
|
|
|
let page = req.query.page;
|
|
|
let size = req.query.size;
|
|
|
let user = req.query.user;
|
|
|
let sessionId = req.query.sessionId;
|
|
|
if (!page) {
|
|
|
throw {httpStatus: 406, message: 'Missing page.'};
|
|
|
}
|
|
|
if (!size) {
|
|
|
throw {httpStatus: 406, message: 'Missing size.'};
|
|
|
}
|
|
|
if (!user) {
|
|
|
throw {httpStatus: 406, message: 'Missing user.'};
|
|
|
}
|
|
|
if (!sessionId) {
|
|
|
throw {httpStatus: 406, message: 'Missing sessionId.'};
|
|
|
}
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
sessions.getMessages(sessionId, user, page, size);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 某个聊天记录置顶操作
|
|
|
*
|
|
@ -218,4 +162,92 @@ router.put(APIv2.Sessions.Participant, function (req, res) {
|
|
|
participants.pushUser(sessionId, user);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 发送消息
|
|
|
*
|
|
|
* 请求URL:
|
|
|
* /sessions/:session_id/messages
|
|
|
*
|
|
|
* 消息体:
|
|
|
* {
|
|
|
* sender_id: bea851fc,
|
|
|
* sender_name: 李毅,
|
|
|
* content_type: 1,
|
|
|
* content: 李医生,你好
|
|
|
* }
|
|
|
*/
|
|
|
router.post(APIv2.Sessions.Messages, function (req, res) {
|
|
|
let payload = req.body;
|
|
|
let testing = ObjectUtil.fieldsCheck(payload, "sender_id", "sender_name", "content_type", "content");
|
|
|
if (!testing.pass) {
|
|
|
throw {httpStatus: 406, message: testing.message}
|
|
|
}
|
|
|
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
|
|
|
payload.timestamp = new Date();
|
|
|
sessions.saveMessageBySession(req.params.session_id, payload);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 获取消息
|
|
|
*
|
|
|
* 请求URL:
|
|
|
* /sessions/:session_id/messages?session_id=blabla&user_id=abc&start_message_id=100&end_message_id=20
|
|
|
*/
|
|
|
router.get(APIv2.Sessions.Messages, function (req, res) {
|
|
|
let page = req.query.page;
|
|
|
let size = req.query.size;
|
|
|
let user = req.query.user;
|
|
|
let sessionId = req.query.sessionId;
|
|
|
if (!page) {
|
|
|
throw {httpStatus: 406, message: 'Missing page.'};
|
|
|
}
|
|
|
if (!size) {
|
|
|
throw {httpStatus: 406, message: 'Missing size.'};
|
|
|
}
|
|
|
if (!user) {
|
|
|
throw {httpStatus: 406, message: 'Missing user.'};
|
|
|
}
|
|
|
if (!sessionId) {
|
|
|
throw {httpStatus: 406, message: 'Missing sessionId.'};
|
|
|
}
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
sessions.getMessages(sessionId, user, page, size);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 获取所有会话未读消息数。
|
|
|
*
|
|
|
* 请求URL:/sessions/unread_message_count?user_id=xyz
|
|
|
*/
|
|
|
router.get(APIv2.Sessions.SessionsUnreadMessageCount, function (req, res) {
|
|
|
let userId = req.query.user_id;
|
|
|
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
|
|
|
sessions.getAllSessionsUnreadMessageCount();
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 获取指定会话未读消息数
|
|
|
*
|
|
|
* 请求URL
|
|
|
* /sessions/:session_id/unread_message_count?user_id=xyz
|
|
|
*/
|
|
|
router.get(APIv2.Sessions.SessionUnreadMessageCount, function (req, res) {
|
|
|
let sessionId = req.params.session_id;
|
|
|
let userId = req.query.user_id;
|
|
|
|
|
|
let sessions = new Sessions();
|
|
|
ControllerUtil.regModelEventHandler(sessions, res);
|
|
|
|
|
|
sessions.getSessionUnreadMessageCount(sessionId, userId);
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = router;
|