-'use strict';
-
-var _ = require('lodash');
-var md5 = require('md5');
-var moment = require('moment');
-
-var User = require('../../models').User;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatMessage = require('../../models').ChatMessage;
-var ChatVisitor = require('../../models').ChatVisitor;
-var UserHasChatRoom = require('../../models').UserHasChatRoom;
-
-
-// Get list of chat_rooms
-exports.index = function (req, res) {
- return ChatRoom
- .findAll({
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }, {
- model: ChatMessage
- }, {
- model: ChatVisitor
- }]
- })
- .then(function (chat_rooms) {
- return res.status(200).send(chat_rooms);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get list of my chat_rooms
-exports.me = function (req, res) {
- return User
- .findById(req.user.id)
- .then(function (user) {
- return user
- .getChatRooms({
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- });
- })
- .then(function (chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.show = function (req, res) {
- return ChatRoom
- .findById(req.params.id, {
- include: [{
- model: ChatMessage,
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'email', 'fullname']
- }, {
- model: User,
- attributes: ['id', 'email', 'name', 'fullname']
- }]
- }, {
- model: User,
- attributes: ['id', 'email', 'name', 'fullname']
- }]
- })
- .then(function (chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
- return res.send(chatRoom);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom by users
-exports.getRoomByUsers = function (req, res, next) {
-
- var _chatRoom;
-
- return ChatRoom
- .findOrCreate({
- where: {
- token: md5(JSON.stringify(req.query.users.sort())).toString('base64')
- },
- defaults: {
- type: 'internal',
- token: md5(JSON.stringify(req.query.users.sort())).toString('base64'),
- status: 'open'
- },
- include: [{
- model: ChatMessage,
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'email', 'fullname']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- })
- .spread(function (chatRoom, created) {
- _chatRoom = chatRoom;
- // _chatRoom.dataValues.ChatMessages = [];
- if (created) {
- return _chatRoom
- .setUsers(req.query.users);
- } else {
- return;
- }
- })
- .then(function () {
- return _chatRoom
- .getUsers();
- })
- .then(function (users) {
- return res.status(200).send(_.merge(_chatRoom.dataValues, {
- Users: users
- }));
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.getRoomByType = function (req, res) {
- User
- .findById(req.user.id)
- .then(function (user) {
- user
- .getChatRooms({
- where: {
- type: req.params.type
- },
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }]
- })
- .then(function (chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.getRoomGroups = function (req, res) {
- User
- .findById(req.user.id)
- .then(function (user) {
- user
- .getChatRooms({
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- })
- .then(function (chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chatRoom in the DB.
-exports.create = function (req, res) {
- // if (req.body.to) {
- //
- // var token;
- // var participants = {
- // users: {
- // ids: []
- // },
- // visitor: {}
- // };
- //
- // switch (req.body.type) {
- // case 'internal':
- //
- // if (!req.body.to.isArray) {
- // req.body.to = [parseInt(req.body.to, 10)];
- // }
- //
- // participants.users.ids = req.body.to;
- //
- // if (!_.contains(req.body.to, req.user.id)) {
- // participants.users.ids.push(req.user.id);
- // }
- //
- // participants.users.ids.sort();
- //
- // token = md5(JSON.stringify(participants)).toString(
- // 'base64');
- //
- // participants.users.fullnames = [];
- //
- // User
- // .findAll({
- // where: {
- // id: {
- // $in: req.body.to
- // }
- // },
- // attributes: ['id', 'fullname']
- // })
- // .then(function(users) {
- //
- // _.sortBy(users, 'id').forEach(function(item, index) {
- // participants.users.fullnames.push(item.fullname);
- // });
- //
- // ChatRoom
- // .findOrCreate({
- // where: {
- // token: token
- // },
- // defaults: _.merge({
- // token: token,
- // participants: JSON.stringify(participants)
- // }, req.body),
- // include: [{
- // model: ChatMessage
- // }]
- // })
- // .spread(function(chatRoom, created) {
- //
- // if (created) {
- // chatRoom
- // .setUsers(participants.users.ids)
- // .then(function() {
- // return res.status(201).send(chatRoom);
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- // } else {
- // return res.status(201).send(chatRoom);
- // }
- //
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- //
- // break;
- // case 'external':
- //
- // participants.visitor.id = req.body.to;
- // participants.users.ids.push(req.user.id);
- // participants.users.ids.sort();
- //
- // token = md5(JSON.stringify(participants)).toString('base64');
- //
- // participants.users.fullnames = [req.user.fullname];
- //
- // ChatVisitor
- // .findById(req.body.to, {
- // attributes: ['id', 'fullname', 'email', 'referer']
- // })
- // .then(function(chatVisitor) {
- // participants.visitor.fullname = chatVisitor.fullname;
- // participants.visitor.referer = chatVisitor.referer;
- // participants.visitor.email = chatVisitor.email;
- //
- // ChatRoom
- // .findOrCreate({
- // where: {
- // token: token
- // },
- // defaults: _.merge({
- // token: token,
- // participants: JSON.stringify(participants)
- // }, req.body),
- // include: [{
- // model: ChatMessage
- // }, {
- // model: ChatVisitor
- // }, {
- // model: User,
- // }]
- // })
- // .spread(function(chatRoom, created) {
- // if (created) {
- //
- // chatRoom
- // .setUsers(participants.users.ids, {
- // individualHooks: true
- // })
- // .then(function() {
- // chatRoom
- // .setChatVisitor(participants.visitor.id)
- // .then(function() {
- // return res.status(201).send(chatRoom);
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- // } else {
- // return res.status(201).send(chatRoom);
- // }
- //
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
- //
- // break;
- // default:
- // }
- // } else {
- // return handleError(res, new Error('field "to" omitted'));
- // }
-};
-
-// Updates an existing chatRoom in the DB.
-exports.update = function (req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- ChatRoom
- .findById(req.params.id)
- .then(function (chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chatRoom, req.body);
- updated
- .save()
- .then(function () {
- return res.status(200).send(chatRoom);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chatRoom in the DB.
-exports.updateUsers = function (req, res) {
- var _chatRoom;
-
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatRoom
- .findById(req.params.id)
- .then(function (chatRoom) {
- if (!chatRoom || !req.body.users) {
- return res.sendStatus(404);
- }
- return chatRoom;
- })
- .then(function (chatRoom) {
- return chatRoom
- .update({
- token: md5(JSON.stringify(req.body.users.sort())).toString('base64')
- });
- })
- .then(function (chatRoom) {
- _chatRoom = chatRoom;
- return chatRoom
- .setUsers(req.body.users.sort(), {
- individualHooks: true
- });
- })
- .then(function () {
- return _chatRoom
- .getUsers();
- })
- .then(function (users) {
- return res.status(200).send(_.merge(_chatRoom.dataValues, {
- Users: users,
- ChatMessages: []
- }));
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chatRoom from the DB.
-exports.destroy = function (req, res) {
- ChatRoom
- .findById(req.params.id)
- .then(function (chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
-
- chatRoom
- .destroy()
- .then(function () {
- return res.sendStatus(204);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x9ac6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x6D\x6F\x6D\x65\x6E\x74","\x74\x6F\x2D\x63\x73\x76","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x4C\x69\x73\x74","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x6D\x61\x70","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x74\x61\x67\x73","\x62\x6F\x64\x79","\x2C","\x73\x70\x6C\x69\x74","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x24\x61\x6E\x64","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x25","\x3B\x25","\x70\x75\x73\x68","\x67\x65\x74\x41\x67\x65\x6E\x74\x73","\x67\x65\x74\x41\x67\x65\x6E\x74\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x73\x63\x6F\x70\x65","\x67\x65\x74\x47\x72\x6F\x75\x70\x73","\x67\x72\x6F\x75\x70","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72\x70\x69\x63","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x45\x78\x74\x65\x72\x6E\x61\x6C\x73","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x63\x6C\x75\x64\x65","\x67\x65\x74\x41\x67\x65\x6E\x74","\x67\x65\x74\x4F\x6E\x6C\x69\x6E\x65\x52\x6F\x6F\x6D","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x65","\x65\x72\x72\x6F\x72","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D\x73","\x73\x68\x6F\x77","\x61\x64\x64\x72\x65\x73\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x67\x65\x74\x55\x73\x65\x72\x73","\x75\x73\x65\x72\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x73\x70\x72\x65\x61\x64","\x62\x61\x73\x65\x36\x34","\x73\x6F\x72\x74","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x50\x45\x4E","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x74\x79\x70\x65","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74","\x20","\x72\x65\x70\x6C\x61\x63\x65","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x66\x6F\x72\x45\x61\x63\x68","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x65\x78\x74\x2F\x63\x73\x76","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79"];_0x9ac6[0];var _=require(_0x9ac6[1]);var md5=require(_0x9ac6[2]);var moment=require(_0x9ac6[3]);var csv=require(_0x9ac6[4]);var util=require(_0x9ac6[5]);var Util=require(_0x9ac6[6]);var User=require(_0x9ac6[8])[_0x9ac6[7]];var Agent=require(_0x9ac6[8])[_0x9ac6[7]];var ChatRoom=require(_0x9ac6[8])[_0x9ac6[9]];var ChatMessage=require(_0x9ac6[8])[_0x9ac6[10]];var ChatWebsite=require(_0x9ac6[8])[_0x9ac6[11]];var ChatApplication=require(_0x9ac6[8])[_0x9ac6[12]];var ChatQueue=require(_0x9ac6[8])[_0x9ac6[13]];var ChatVisitor=require(_0x9ac6[8])[_0x9ac6[14]];var List=require(_0x9ac6[8])[_0x9ac6[15]];var UserHasChatRoom=require(_0x9ac6[8])[_0x9ac6[16]];exports[_0x9ac6[17]]= function(_0x519bx11,_0x519bx12,_0x519bx13){return ChatRoom[_0x9ac6[32]](_[_0x9ac6[31]](Util[_0x9ac6[24]](_0x519bx11[_0x9ac6[23]]),{include:[{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]},{model:ChatMessage},{model:ChatVisitor}]}))[_0x9ac6[22]](function(_0x519bx15){_0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx15)})[_0x9ac6[19]](function(_0x519bx14){console[_0x9ac6[18]](_0x519bx14);return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[33]]= function(_0x519bx11,_0x519bx12){return ChatRoom[_0x9ac6[33]]()[_0x9ac6[22]](function(_0x519bx16){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx16)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};function getChatQueues(_0x519bx18){return function(){switch(_0x519bx18[_0x9ac6[29]]){case _0x9ac6[37]:return User[_0x9ac6[36]](_0x519bx18[_0x9ac6[25]],{attributes:[_0x9ac6[25]]})[_0x9ac6[22]](Util[_0x9ac6[35]]({},{attributes:[_0x9ac6[25]]}))[_0x9ac6[22]](function(_0x519bx19){return {include:{model:ChatWebsite,include:{model:ChatApplication,include:{model:ChatQueue,where:{id:_[_0x9ac6[34]](_0x519bx19,_0x9ac6[25])}}}}}});default:return {}}}}exports[_0x9ac6[38]]= function(_0x519bx11,_0x519bx12){return Promise[_0x9ac6[43]]([])[_0x9ac6[22]](getChatQueues(_0x519bx11[_0x9ac6[37]]))[_0x9ac6[22]](function(_0x519bx1b){return ChatRoom[_0x9ac6[42]](_[_0x9ac6[31]](Util[_0x9ac6[24]](_0x519bx11[_0x9ac6[23]],{status:_0x9ac6[39],updatedAt:{$gte:moment()[_0x9ac6[41]](_0x9ac6[40])}}),_0x519bx1b))})[_0x9ac6[22]](function(_0x519bx1a){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]]({value:_0x519bx1a})})[_0x9ac6[19]](function(_0x519bx14){console[_0x9ac6[18]](_0x519bx14);return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[44]]= function(_0x519bx11,_0x519bx12,_0x519bx13){var _0x519bx1c={tags:_0x519bx11[_0x9ac6[46]][_0x9ac6[45]]};var _0x519bx1d={where:{id:_0x519bx11[_0x9ac6[49]][_0x9ac6[25]][_0x9ac6[48]](_0x9ac6[47])}};return ChatRoom[_0x9ac6[51]](_0x519bx1c,_0x519bx1d)[_0x9ac6[22]](function(_0x519bx1e){if(!_0x519bx1e){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx1e})[_0x9ac6[22]](function(_0x519bx1e){return _0x519bx12[_0x9ac6[50]](200)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};function checkTags(_0x519bx20){if(_0x519bx20){if(_0x519bx20[_0x9ac6[45]]){_0x519bx20[_0x9ac6[52]]= [];if(_[_0x9ac6[53]](_0x519bx20[_0x9ac6[45]])){for(var _0x519bx21=0;_0x519bx21< _0x519bx20[_0x9ac6[45]][_0x9ac6[54]];_0x519bx21++){_0x519bx20[_0x9ac6[52]][_0x9ac6[57]]({tags:{$like:_0x9ac6[55]+ _0x519bx20[_0x9ac6[45]][_0x519bx21]+ _0x9ac6[56]}})}}else {_0x519bx20[_0x9ac6[52]][_0x9ac6[57]]({tags:{$like:_0x9ac6[55]+ _0x519bx20[_0x9ac6[45]]+ _0x9ac6[56]}})};delete _0x519bx20[_0x9ac6[45]]}}}exports[_0x9ac6[58]]= function(_0x519bx11,_0x519bx12,_0x519bx13){switch(_0x519bx11[_0x9ac6[37]][_0x9ac6[29]]){case _0x9ac6[37]:return User[_0x9ac6[36]](_0x519bx11[_0x9ac6[37]][_0x9ac6[25]],{attributes:[_0x9ac6[25]],where:{id:{$ne:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]},online:true}})[_0x9ac6[22]](Util[_0x9ac6[59]](_[_0x9ac6[31]](_0x519bx11[_0x9ac6[23]],{id:{$ne:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]}})))[_0x9ac6[22]](function(_0x519bx15){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx15)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)});default:return User[_0x9ac6[60]](_0x9ac6[43])[_0x9ac6[32]](_[_0x9ac6[31]](Util[_0x9ac6[24]](_0x519bx11[_0x9ac6[23]]),{where:{id:{$ne:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]},online:true}}))[_0x9ac6[22]](function(_0x519bx15){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx15)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})}};exports[_0x9ac6[61]]= function(_0x519bx11,_0x519bx12,_0x519bx13){checkTags(_0x519bx11[_0x9ac6[23]]);var _0x519bx22={where:_[_0x9ac6[31]]({type:_0x9ac6[62]},_0x519bx11[_0x9ac6[23]])};switch(_0x519bx11[_0x9ac6[37]][_0x9ac6[29]]){case _0x9ac6[63]:_[_0x9ac6[31]](_0x519bx22,{include:[{model:User,attributes:[_0x9ac6[25]],where:{id:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]}}]});break;default:};return ChatRoom[_0x9ac6[65]](_0x519bx22)[_0x9ac6[22]](function(_0x519bx1e){return ChatRoom[_0x9ac6[65]]({where:{id:{$in:_[_0x9ac6[34]](_0x519bx1e,_0x9ac6[25])}},include:[{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[29],_0x9ac6[64]]},{model:ChatVisitor}]})})[_0x9ac6[22]](function(_0x519bx1e){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]]({rows:_0x519bx1e,count:_0x519bx1e[_0x9ac6[54]]})})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[66]]= function(_0x519bx11,_0x519bx12,_0x519bx13){checkTags(_0x519bx11[_0x9ac6[23]]);var _0x519bx22={where:_[_0x9ac6[31]]({type:_0x9ac6[67]},_0x519bx11[_0x9ac6[23]]),include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[27]]}]};switch(_0x519bx11[_0x9ac6[37]][_0x9ac6[29]]){case _0x9ac6[63]:_0x519bx22[_0x9ac6[68]][_0x9ac6[57]]({model:User,attributes:[_0x9ac6[25]],where:{id:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]}});break;default:};return ChatRoom[_0x9ac6[65]](_0x519bx22)[_0x9ac6[22]](function(_0x519bx1e){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]]({rows:_0x519bx1e,count:_0x519bx1e[_0x9ac6[54]]})})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[69]]= function(_0x519bx11,_0x519bx12,_0x519bx13){return User[_0x9ac6[60]](_0x9ac6[43])[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx15){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx15)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[70]]= function(_0x519bx11,_0x519bx12,_0x519bx13){return ChatRoom[_0x9ac6[60]](_0x9ac6[71])[_0x9ac6[32]](_[_0x9ac6[31]](Util[_0x9ac6[24]](_0x519bx11[_0x9ac6[23]]),{include:[{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]},{model:ChatMessage},{model:ChatVisitor}]}))[_0x9ac6[22]](function(_0x519bx15){_0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx15)})[_0x9ac6[19]](function(_0x519bx14){console[_0x9ac6[18]](_0x519bx14);return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[72]]= function(_0x519bx11,_0x519bx12){return User[_0x9ac6[36]](_0x519bx11[_0x9ac6[37]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx18){return _0x519bx18[_0x9ac6[74]]({include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[27],_0x9ac6[28]]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]}]})})[_0x9ac6[22]](function(_0x519bx1e){if(!_0x519bx1e){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx12[_0x9ac6[20]](_0x519bx1e)})[_0x9ac6[19]](function(_0x519bx14){console[_0x9ac6[73]](_0x519bx14);return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[75]]= function(_0x519bx11,_0x519bx12){return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[28],_0x9ac6[27]]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[28],_0x9ac6[26],_0x9ac6[27],_0x9ac6[64],_0x9ac6[29],_0x9ac6[30]]}]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[28],_0x9ac6[26],_0x9ac6[27],_0x9ac6[64],_0x9ac6[29],_0x9ac6[30]]},{model:ChatVisitor},{model:ChatWebsite,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[76]],include:[List]}]})[_0x9ac6[22]](function(_0x519bx23){if(!_0x519bx23){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx12[_0x9ac6[20]](_0x519bx23)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[77]]= function(_0x519bx11,_0x519bx12,_0x519bx13){var _0x519bx24;return ChatRoom[_0x9ac6[87]]({where:{token:md5(JSON[_0x9ac6[85]](_0x519bx11[_0x9ac6[23]][_0x9ac6[80]][_0x9ac6[84]]())).toString(_0x9ac6[83])},defaults:{type:_0x9ac6[30],token:md5(JSON[_0x9ac6[85]](_0x519bx11[_0x9ac6[23]][_0x9ac6[80]][_0x9ac6[84]]())).toString(_0x9ac6[83]),status:_0x9ac6[86]},include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[28],_0x9ac6[27]]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]}]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]}]})[_0x9ac6[82]](function(_0x519bx23,_0x519bx26){_0x519bx24= _0x519bx23;if(_0x519bx26){return _0x519bx24[_0x9ac6[81]](_0x519bx11[_0x9ac6[23]][_0x9ac6[80]])}})[_0x9ac6[22]](function(){return _0x519bx24[_0x9ac6[79]]()})[_0x9ac6[22]](function(_0x519bx25){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_[_0x9ac6[31]](_0x519bx24[_0x9ac6[78]],{Users:_0x519bx25}))})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[88]]= function(_0x519bx11,_0x519bx12,_0x519bx13){var _0x519bx24;return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx23){_0x519bx24= _0x519bx23;if(!_0x519bx24){return _0x519bx12[_0x9ac6[50]](404)}})[_0x9ac6[22]](function(){return ChatMessage[_0x9ac6[90]](_[_0x9ac6[31]](_0x519bx11[_0x9ac6[46]],{type:_0x519bx24[_0x9ac6[89]],ChatRoomId:_0x519bx11[_0x9ac6[49]][_0x9ac6[25]],UserId:_0x519bx11[_0x9ac6[37]][_0x9ac6[25]]}))})[_0x9ac6[22]](function(_0x519bx27){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx27)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[91]]= function(_0x519bx11,_0x519bx12,_0x519bx13){return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[27]]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[27]]}]}]})[_0x9ac6[22]](function(_0x519bx23){var _0x519bx28=[];_0x519bx23[_0x9ac6[96]][_0x9ac6[95]](function(_0x519bx27){_0x519bx28[_0x9ac6[57]]({name:_0x519bx27[_0x9ac6[7]]?_0x519bx27[_0x9ac6[7]][_0x9ac6[27]]:_0x519bx27[_0x9ac6[14]][_0x9ac6[27]],text:_0x519bx27[_0x9ac6[46]][_0x9ac6[93]](/(\r\n|\n|\r)/gm,_0x9ac6[92]),date:_0x519bx27[_0x9ac6[94]]})});return _0x519bx12[_0x9ac6[89]](_0x9ac6[97])[_0x9ac6[21]](200)[_0x9ac6[20]](csv(_0x519bx28))})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[98]]= function(_0x519bx11,_0x519bx12){return User[_0x9ac6[36]](_0x519bx11[_0x9ac6[37]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx18){return _0x519bx18[_0x9ac6[74]]({where:{type:_0x519bx11[_0x9ac6[49]][_0x9ac6[89]]},include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[27],_0x9ac6[28]]}]})})[_0x9ac6[22]](function(_0x519bx1e){if(!_0x519bx1e){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx12[_0x9ac6[20]](_0x519bx1e)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[99]]= function(_0x519bx11,_0x519bx12){return User[_0x9ac6[36]](_0x519bx11[_0x9ac6[37]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx18){return _0x519bx18[_0x9ac6[74]]({include:[{model:ChatVisitor,attributes:[_0x9ac6[25],_0x9ac6[27],_0x9ac6[28]]},{model:User,attributes:[_0x9ac6[25],_0x9ac6[26],_0x9ac6[27],_0x9ac6[28],_0x9ac6[29],_0x9ac6[30]]}]})})[_0x9ac6[22]](function(_0x519bx1e){if(!_0x519bx1e){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx12[_0x9ac6[20]](_0x519bx1e)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[90]]= function(_0x519bx11,_0x519bx12){};exports[_0x9ac6[51]]= function(_0x519bx11,_0x519bx12){if(_0x519bx11[_0x9ac6[46]][_0x9ac6[25]]){delete _0x519bx11[_0x9ac6[46]][_0x9ac6[25]]};return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx23){if(!_0x519bx23){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx23[_0x9ac6[51]](_0x519bx11[_0x9ac6[46]])})[_0x9ac6[22]](function(_0x519bx23){return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx23)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[100]]= function(_0x519bx11,_0x519bx12){var _0x519bx24;if(_0x519bx11[_0x9ac6[46]][_0x9ac6[25]]){delete _0x519bx11[_0x9ac6[46]][_0x9ac6[25]]};return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx23){if(!_0x519bx23|| !_0x519bx11[_0x9ac6[46]][_0x9ac6[80]]){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx23})[_0x9ac6[22]](function(_0x519bx23){return _0x519bx23[_0x9ac6[51]]({type:_0x9ac6[62],token:md5(JSON[_0x9ac6[85]](_0x519bx11[_0x9ac6[46]][_0x9ac6[80]][_0x9ac6[84]]())).toString(_0x9ac6[83])})})[_0x9ac6[22]](function(_0x519bx23){_0x519bx24= _0x519bx23;return _0x519bx23[_0x9ac6[81]](_0x519bx11[_0x9ac6[46]][_0x9ac6[80]][_0x9ac6[84]](),{individualHooks:true})})[_0x9ac6[22]](function(){return _0x519bx24[_0x9ac6[79]]()})[_0x9ac6[22]](function(_0x519bx25){_[_0x9ac6[31]](_0x519bx24[_0x9ac6[78]],{Users:_0x519bx25});return _0x519bx12[_0x9ac6[21]](200)[_0x9ac6[20]](_0x519bx24)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};exports[_0x9ac6[101]]= function(_0x519bx11,_0x519bx12){return ChatRoom[_0x9ac6[36]](_0x519bx11[_0x9ac6[49]][_0x9ac6[25]])[_0x9ac6[22]](function(_0x519bx23){if(!_0x519bx23){return _0x519bx12[_0x9ac6[50]](404)};return _0x519bx23[_0x9ac6[101]]()})[_0x9ac6[22]](function(){return _0x519bx12[_0x9ac6[50]](204)})[_0x9ac6[19]](function(_0x519bx14){return handleError(_0x519bx12,_0x519bx14)})};function handleError(_0x519bx12,_0x519bx14){console[_0x9ac6[18]](_0x519bx14);return _0x519bx12[_0x9ac6[21]](500)[_0x9ac6[20]](_0x519bx14)}
\ No newline at end of file