Built motion from commit (unavailable).|2.4.3
[motion2.git] / server / api / chatInternalMessage / chatInternalMessage.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xd1cd=['../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','then','error','stack','name','send','index','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','key','VIRTUAL','field','filter','options','ChatInternalMessage','includeAll','include','findAll','rows','show','rawAttributes','find','catch','body','update','params','destroy','describe','get','messages','createdAt','lastMessage','YYYY-MM-DD\x20HH:mm:ss','getUsers','User','agent','admin','fullname','role','userpic','online','lastLoginAt','showWebBar','-online','VoiceQueue','VoiceQueues','Agents','autoAssociation','UserProfileResource','isEmpty','resourceId','push','ToId','read','-createdAt','html-pdf','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../config/logger','api'];(function(_0x5519a9,_0x1c5147){var _0x32f2cc=function(_0x52ed58){while(--_0x52ed58){_0x5519a9['push'](_0x5519a9['shift']());}};_0x32f2cc(++_0x1c5147);}(_0xd1cd,0x127));var _0xdd1c=function(_0x363578,_0x2384dd){_0x363578=_0x363578-0x0;var _0x541de5=_0xd1cd[_0x363578];return _0x541de5;};'use strict';var pdf=require(_0xdd1c('0x0'));var emlformat=require(_0xdd1c('0x1'));var rimraf=require(_0xdd1c('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xdd1c('0x3'));var moment=require(_0xdd1c('0x4'));var BPromise=require(_0xdd1c('0x5'));var Mustache=require(_0xdd1c('0x6'));var util=require(_0xdd1c('0x7'));var path=require(_0xdd1c('0x8'));var sox=require(_0xdd1c('0x9'));var csv=require(_0xdd1c('0xa'));var ejs=require(_0xdd1c('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xdd1c('0xc'));var crypto=require(_0xdd1c('0xd'));var jsforce=require(_0xdd1c('0xe'));var deskjs=require(_0xdd1c('0xf'));var toCsv=require(_0xdd1c('0xa'));var querystring=require(_0xdd1c('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xdd1c('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdd1c('0x12'))(_0xdd1c('0x13'));var utils=require(_0xdd1c('0x14'));var config=require(_0xdd1c('0x15'));var db=require('../../mysqldb')['db'];config[_0xdd1c('0x16')]=_[_0xdd1c('0x17')](config['redis'],{'host':_0xdd1c('0x18'),'port':0x18eb});var socket=require(_0xdd1c('0x19'))(new Redis(config['redis']));require('./chatInternalMessage.socket')[_0xdd1c('0x1a')](socket);function respondWithStatusCode(_0x168791,_0x48debc){_0x48debc=_0x48debc||0xcc;return function(_0x1bbb7d){if(_0x1bbb7d){return _0x168791[_0xdd1c('0x1b')](_0x48debc);}return _0x168791[_0xdd1c('0x1c')](_0x48debc)['end']();};}function respondWithResult(_0x29dcc9,_0x2b2f87){_0x2b2f87=_0x2b2f87||0xc8;return function(_0x3a2a50){if(_0x3a2a50){return _0x29dcc9[_0xdd1c('0x1c')](_0x2b2f87)[_0xdd1c('0x1d')](_0x3a2a50);}};}function respondWithFilteredResult(_0x1a3c77,_0x5de65f){return function(_0x3005b8){if(_0x3005b8){var _0x313637=_0x3005b8[_0xdd1c('0x1e')],_0x499bba=_0x5de65f[_0xdd1c('0x1f')],_0x338175=_0x5de65f[_0xdd1c('0x1f')]+_0x5de65f[_0xdd1c('0x20')],_0x433360;if(_0x338175>=_0x313637){_0x338175=_0x313637;_0x433360=0xc8;}else{_0x433360=0xce;}_0x1a3c77[_0xdd1c('0x1c')](_0x433360);return _0x1a3c77[_0xdd1c('0x21')](_0xdd1c('0x22'),_0x499bba+'-'+_0x338175+'/'+_0x313637)[_0xdd1c('0x1d')](_0x3005b8);}return null;};}function patchUpdates(_0xb38f40){return function(_0x1bff98){try{jsonpatch[_0xdd1c('0x23')](_0x1bff98,_0xb38f40,!![]);}catch(_0x9cada7){return BPromise[_0xdd1c('0x24')](_0x9cada7);}return _0x1bff98['save']();};}function saveUpdates(_0x2e91d4,_0x557977){return function(_0xe30abd){if(_0xe30abd){return _0xe30abd['update'](_0x2e91d4)['then'](function(_0x9fef8){return _0x9fef8;});}return null;};}function removeEntity(_0x1ab740,_0x23d459){return function(_0x25abc8){if(_0x25abc8){return _0x25abc8['destroy']()[_0xdd1c('0x25')](function(){_0x1ab740[_0xdd1c('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43bcc4,_0x3d481f){return function(_0x2c866a){if(!_0x2c866a){_0x43bcc4[_0xdd1c('0x1b')](0x194);}return _0x2c866a;};}function handleError(_0x1a1bdf,_0x765e62){_0x765e62=_0x765e62||0x1f4;return function(_0x141737){logger[_0xdd1c('0x26')](_0x141737[_0xdd1c('0x27')]);if(_0x141737['name']){delete _0x141737[_0xdd1c('0x28')];}_0x1a1bdf[_0xdd1c('0x1c')](_0x765e62)[_0xdd1c('0x29')](_0x141737);};}exports[_0xdd1c('0x2a')]=function(_0x44c852,_0x4b4175){var _0x3838a6={},_0x27f5e3={},_0xa775a={'count':0x0,'rows':[]};var _0x3d1009=db['ChatInternalMessage']['rawAttributes'];_0x27f5e3['model']=_[_0xdd1c('0x2b')](_0x3d1009);_0x27f5e3['query']=_[_0xdd1c('0x2b')](_0x44c852[_0xdd1c('0x2c')]);_0x27f5e3[_0xdd1c('0x2d')]=_[_0xdd1c('0x2e')](_0x27f5e3[_0xdd1c('0x2f')],_0x27f5e3[_0xdd1c('0x2c')]);_0x3838a6[_0xdd1c('0x30')]=_['intersection'](_0x27f5e3['model'],qs['fields'](_0x44c852['query'][_0xdd1c('0x31')]));_0x3838a6['attributes']=_0x3838a6[_0xdd1c('0x30')][_0xdd1c('0x32')]?_0x3838a6['attributes']:_0x27f5e3[_0xdd1c('0x2f')];if(!_0x44c852[_0xdd1c('0x2c')][_0xdd1c('0x33')](_0xdd1c('0x34'))){_0x3838a6[_0xdd1c('0x20')]=qs[_0xdd1c('0x20')](_0x44c852['query']['limit']);_0x3838a6[_0xdd1c('0x1f')]=qs[_0xdd1c('0x1f')](_0x44c852[_0xdd1c('0x2c')][_0xdd1c('0x1f')]);}_0x3838a6[_0xdd1c('0x35')]=qs[_0xdd1c('0x36')](_0x44c852[_0xdd1c('0x2c')]['sort']);_0x3838a6[_0xdd1c('0x37')]=qs[_0xdd1c('0x2d')](_[_0xdd1c('0x38')](_0x44c852['query'],_0x27f5e3[_0xdd1c('0x2d')]));if(_0x44c852['query']['filter']){_0x3838a6['where']=_[_0xdd1c('0x39')](_0x3838a6[_0xdd1c('0x37')],{'$or':_['map'](_0x3d1009,function(_0x93ea2e){if(_0x93ea2e[_0xdd1c('0x3a')][_0xdd1c('0x3b')]!==_0xdd1c('0x3c')){var _0x2d1625={};_0x2d1625[_0x93ea2e[_0xdd1c('0x3d')]]={'$like':'%'+_0x44c852[_0xdd1c('0x2c')][_0xdd1c('0x3e')]+'%'};return _0x2d1625;}})});}_0x3838a6=_[_0xdd1c('0x39')]({},_0x3838a6,_0x44c852[_0xdd1c('0x3f')]);var _0x4dcfc6={'where':_0x3838a6[_0xdd1c('0x37')]};return db[_0xdd1c('0x40')][_0xdd1c('0x1e')](_0x4dcfc6)[_0xdd1c('0x25')](function(_0x234ed0){_0xa775a[_0xdd1c('0x1e')]=_0x234ed0;if(_0x44c852[_0xdd1c('0x2c')][_0xdd1c('0x41')]){_0x3838a6[_0xdd1c('0x42')]=[{'all':!![]}];}return db[_0xdd1c('0x40')][_0xdd1c('0x43')](_0x3838a6);})[_0xdd1c('0x25')](function(_0x220b10){_0xa775a[_0xdd1c('0x44')]=_0x220b10;return _0xa775a;})[_0xdd1c('0x25')](respondWithFilteredResult(_0x4b4175,_0x3838a6))['catch'](handleError(_0x4b4175,null));};exports[_0xdd1c('0x45')]=function(_0x478cfc,_0x12433c){var _0x59636b={'raw':!![],'where':{'id':_0x478cfc['params']['id']}},_0x395800={};_0x395800[_0xdd1c('0x2f')]=_['keys'](db['ChatInternalMessage'][_0xdd1c('0x46')]);_0x395800[_0xdd1c('0x2c')]=_[_0xdd1c('0x2b')](_0x478cfc['query']);_0x395800['filters']=_[_0xdd1c('0x2e')](_0x395800[_0xdd1c('0x2f')],_0x395800[_0xdd1c('0x2c')]);_0x59636b['attributes']=_[_0xdd1c('0x2e')](_0x395800['model'],qs[_0xdd1c('0x31')](_0x478cfc[_0xdd1c('0x2c')][_0xdd1c('0x31')]));_0x59636b[_0xdd1c('0x30')]=_0x59636b[_0xdd1c('0x30')][_0xdd1c('0x32')]?_0x59636b[_0xdd1c('0x30')]:_0x395800[_0xdd1c('0x2f')];if(_0x478cfc[_0xdd1c('0x2c')][_0xdd1c('0x41')]){_0x59636b['include']=[{'all':!![]}];}_0x59636b=_[_0xdd1c('0x39')]({},_0x59636b,_0x478cfc[_0xdd1c('0x3f')]);return db[_0xdd1c('0x40')][_0xdd1c('0x47')](_0x59636b)[_0xdd1c('0x25')](handleEntityNotFound(_0x12433c,null))[_0xdd1c('0x25')](respondWithResult(_0x12433c,null))[_0xdd1c('0x48')](handleError(_0x12433c,null));};exports['create']=function(_0x2cd3a0,_0x1bc661){return db[_0xdd1c('0x40')]['create'](_0x2cd3a0[_0xdd1c('0x49')],{})[_0xdd1c('0x25')](respondWithResult(_0x1bc661,0xc9))['catch'](handleError(_0x1bc661,null));};exports[_0xdd1c('0x4a')]=function(_0x2b1978,_0x2a9ec0){if(_0x2b1978[_0xdd1c('0x49')]['id']){delete _0x2b1978[_0xdd1c('0x49')]['id'];}return db[_0xdd1c('0x40')][_0xdd1c('0x47')]({'where':{'id':_0x2b1978[_0xdd1c('0x4b')]['id']}})['then'](handleEntityNotFound(_0x2a9ec0,null))['then'](saveUpdates(_0x2b1978[_0xdd1c('0x49')],null))['then'](respondWithResult(_0x2a9ec0,null))[_0xdd1c('0x48')](handleError(_0x2a9ec0,null));};exports[_0xdd1c('0x4c')]=function(_0x58a88b,_0x218d34){return db[_0xdd1c('0x40')][_0xdd1c('0x47')]({'where':{'id':_0x58a88b[_0xdd1c('0x4b')]['id']}})[_0xdd1c('0x25')](handleEntityNotFound(_0x218d34,null))[_0xdd1c('0x25')](removeEntity(_0x218d34,null))[_0xdd1c('0x48')](handleError(_0x218d34,null));};exports[_0xdd1c('0x4d')]=function(_0x361952,_0x19a8fe){return db[_0xdd1c('0x40')]['describe']()['then'](respondWithResult(_0x19a8fe,null))[_0xdd1c('0x48')](handleError(_0x19a8fe,null));};function wrapUser(_0x2b6993){return function(_0x266b8a){var _0x2d05fe=_0x2b6993[_0xdd1c('0x4e')]({'plain':!![]});_0x2d05fe[_0xdd1c('0x4f')]=[];if(_0x266b8a){_0x2d05fe['lastMessageAt']=_0x266b8a[_0xdd1c('0x50')];_0x2d05fe[_0xdd1c('0x51')]=_0x266b8a;}else{_0x2d05fe['lastMessageAt']=moment(0x0)['format'](_0xdd1c('0x52'));_0x2d05fe[_0xdd1c('0x51')]={};}return _0x2d05fe;};}exports[_0xdd1c('0x53')]=function(_0x295574,_0x2b7ac2,_0x24f1ae){var _0xaee645=[];return db[_0xdd1c('0x54')][_0xdd1c('0x43')]({'where':{'role':[_0xdd1c('0x55'),_0xdd1c('0x56'),'user']},'attributes':['id',_0xdd1c('0x57'),'name',_0xdd1c('0x58'),_0xdd1c('0x59'),'internal',_0xdd1c('0x5a'),_0xdd1c('0x5b'),'allowmessenger',_0xdd1c('0x5c')],'order':qs['sort'](_0xdd1c('0x5d')),'include':[{'model':db[_0xdd1c('0x5e')],'as':_0xdd1c('0x5f'),'attributes':['id',_0xdd1c('0x28'),_0xdd1c('0x3a')],'through':{'attributes':[]}}]})[_0xdd1c('0x25')](function(_0x281c1e){if(_0x281c1e){var _0x3ec302=_0x295574['user'][_0xdd1c('0x4e')]({'plain':!![]});if(!_0x3ec302)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3ec302[_0xdd1c('0x58')]==='user'){return db['UserProfileSection'][_0xdd1c('0x47')]({'where':{'name':_0xdd1c('0x60'),'userProfileId':_0x3ec302['userProfileId']},'raw':!![]})['then'](function(_0x53a8ad){if(_0x53a8ad){if(_0x53a8ad[_0xdd1c('0x61')]===0x0){return db[_0xdd1c('0x62')][_0xdd1c('0x43')]({'where':{'sectionId':_0x53a8ad['id']},'raw':!![]})['then'](function(_0x1bf222){var _0x1fc0a0=[];if(_[_0xdd1c('0x63')](_0x1bf222)){_0x1fc0a0=_[_0xdd1c('0x3e')](_0x281c1e,function(_0x5158a7){if(_0x5158a7['role']!==_0xdd1c('0x55')){return _0x5158a7;}});return _0x1fc0a0;}else{for(var _0x16a49f=0x0;_0x16a49f<_0x281c1e[_0xdd1c('0x32')];_0x16a49f++){var _0x323b6d=_0x281c1e[_0x16a49f];if(_0x323b6d[_0xdd1c('0x58')]===_0xdd1c('0x55')){var _0xb51a6c=_[_0xdd1c('0x47')](_0x1bf222,function(_0x45c57e){return _0x45c57e[_0xdd1c('0x64')]===_0x323b6d['id'];});if(_0xb51a6c)_0x1fc0a0[_0xdd1c('0x65')](_0x323b6d);}else{_0x1fc0a0[_0xdd1c('0x65')](_0x323b6d);}}return _0x1fc0a0;}});}else{return _0x281c1e;}}else{var _0x4101c6=_['filter'](_0x281c1e,function(_0x4e878b){if(_0x4e878b[_0xdd1c('0x58')]!==_0xdd1c('0x55')){return _0x4e878b;}});return _0x4101c6;}});}else{return _0x281c1e;}}})[_0xdd1c('0x25')](function(_0x4a6534){var _0x557e5c=[];if(_0x4a6534){_0xaee645=_0x4a6534;for(var _0x99685f=0x0;_0x99685f<_0x4a6534[_0xdd1c('0x32')];_0x99685f+=0x1){_0xaee645[_0x99685f][_0xdd1c('0x4f')]=[];_0x557e5c[_0xdd1c('0x65')](db[_0xdd1c('0x40')][_0xdd1c('0x47')]({'where':{'FromId':[_0x295574['user']['id'],_0x4a6534[_0x99685f]['id']],'ToId':[_0x295574['user']['id'],_0x4a6534[_0x99685f]['id']],'ChatGroupId':null},'attributes':['id',_0xdd1c('0x50'),'FromId',_0xdd1c('0x66'),_0xdd1c('0x67'),_0xdd1c('0x49')],'order':qs[_0xdd1c('0x36')](_0xdd1c('0x68')),'limit':0x1,'offset':0x0,'raw':!![]})[_0xdd1c('0x25')](wrapUser(_0x4a6534[_0x99685f])));}return BPromise['all'](_0x557e5c);}return[];})[_0xdd1c('0x25')](function(_0x3c964a){return{'rows':_0x3c964a,'count':_0x3c964a[_0xdd1c('0x32')]};})['then'](respondWithResult(_0x2b7ac2,null))[_0xdd1c('0x48')](handleError(_0x2b7ac2,null));};