import IMService from './api-im'

/**
 * @api {GET} /sessions/:session_id/messages
 * @apiVersion 0.0.1
 * @desc 获取消息
 * @param {Object} params 查询参数对象
 * @param {String} params.sessionId 会话ID
 * @param {String} params.userCode 登录者Code
 * @param {int} params.page 分页索引
 * @param {int} params.pagesize 每页数据条数
 * @param {String} params.startMsgId 起始消息ID
 * @param {String} params.endMsgId 截止消息ID
 * @param {int} params.contentType 消息内容类型:
 *  PlainText: 1,   // 信息
 *  Image: 2,       // 图片信息
 *  Audio: 3,       // 语音信息
 *  Article: 4,     // 文章信息
 *  GoTo: 5,        // 跳转信息,求组其他医生或者邀请其他医生发送的推送消息
 *  TopicBegin: 6,  // 议题开始
 *  TopicEnd: 7,    // 议题结束 10 11 系统发送的会话消息
 *  TopicInto: 14,    // 进入议题 系统发送的会话消息
 *  Video:12,//视频
 *  System:13,//系统消息
 * @param {int} params.isoffset 偏移量：
 *  startMsgId endMsgId 为空取会话倒序的根据分页的消息数据
 *  startMsgId 为空 endMsgId 不为空根据endMsgId取旧的消息（offset=1可以排除本身）返回指定分页的数据
 *  endMsgId 为空 startMsgId 不为空 根据 startMsgId 取出新消息（offset=1可以排除本身）返回指定分页的数据
 *  endMsgId startMsgId 都不为空返回指定区间的消息
 */
function getMsgs(params) {
    return IMService.Sessions.getMessagesBySession(params)
}

/**
 * @api {GET} /sessions/:session_id/messages
 * @apiVersion 0.0.1
 * @desc 发送消息
 * @param {Object} params 查询参数对象
 * @param {String} params.sessionId 会话ID
 * @param {String} params.sendorCode 发送者Code，如果是医生登录则为医生Code
 * @param {String} params.sendorName 发送者Name，如果是医生登录则为医生Name
 * @param {int} params.content 消息内容
 * @param {int} params.contentType 消息内容类型:
 *  PlainText: 1,   // 信息
 *  Image: 2,       // 图片信息
 *  Audio: 3,       // 语音信息
 *  Article: 4,     // 文章信息
 *  GoTo: 5,        // 跳转信息,求组其他医生或者邀请其他医生发送的推送消息
 *  TopicBegin: 6,  // 议题开始
 *  TopicEnd: 7,    // 议题结束 10 11 系统发送的会话消息
 *  TopicInto: 14,    // 进入议题 系统发送的会话消息
 *  Video:12,//视频
 *  System:13,//系统消息
 * @param {int} params.isoffset 偏移量：
 *  startMsgId endMsgId 为空取会话倒序的根据分页的消息数据
 *  startMsgId 为空 endMsgId 不为空根据endMsgId取旧的消息（offset=1可以排除本身）返回指定分页的数据
 *  endMsgId 为空 startMsgId 不为空 根据 startMsgId 取出新消息（offset=1可以排除本身）返回指定分页的数据
 *  endMsgId startMsgId 都不为空返回指定区间的消息
 */
function sendMsg(params) {
    return IMService.Sessions.sendMessage(params)
}

export default {
    getMsgs,
    sendMsg
}
