Built motion from commit eddce310.|2.6.12
[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 _0x13d5=['UserProfileResource','isEmpty','push','FromId','ToId','read','all','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatInternalMessage.socket','status','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','name','send','map','ChatInternalMessage','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','order','sort','where','merge','VIRTUAL','filter','options','then','include','findAll','rows','catch','includeAll','create','body','find','describe','get','messages','lastMessageAt','createdAt','lastMessage','format','YYYY-MM-DD\x20HH:mm:ss','getUsers','User','agent','admin','user','fullname','role','online','lastLoginAt','allowmessenger','showWebBar','-online','VoiceQueue','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation'];(function(_0x261ea0,_0x43b1d4){var _0x3b811a=function(_0xa02903){while(--_0xa02903){_0x261ea0['push'](_0x261ea0['shift']());}};_0x3b811a(++_0x43b1d4);}(_0x13d5,0x1af));var _0x513d=function(_0x3a960c,_0xcceb09){_0x3a960c=_0x3a960c-0x0;var _0x525483=_0x13d5[_0x3a960c];return _0x525483;};'use strict';var emlformat=require(_0x513d('0x0'));var rimraf=require(_0x513d('0x1'));var zipdir=require(_0x513d('0x2'));var jsonpatch=require(_0x513d('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x513d('0x4'));var Mustache=require(_0x513d('0x5'));var util=require(_0x513d('0x6'));var path=require(_0x513d('0x7'));var sox=require(_0x513d('0x8'));var csv=require('to-csv');var ejs=require(_0x513d('0x9'));var fs=require('fs');var fs_extra=require(_0x513d('0xa'));var _=require(_0x513d('0xb'));var squel=require(_0x513d('0xc'));var crypto=require(_0x513d('0xd'));var jsforce=require(_0x513d('0xe'));var deskjs=require(_0x513d('0xf'));var toCsv=require(_0x513d('0x10'));var querystring=require(_0x513d('0x11'));var Papa=require(_0x513d('0x12'));var Redis=require(_0x513d('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x513d('0x14'));var as=require(_0x513d('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x513d('0x16'))(_0x513d('0x17'));var utils=require(_0x513d('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x513d('0x19'));var db=require(_0x513d('0x1a'))['db'];config[_0x513d('0x1b')]=_['defaults'](config['redis'],{'host':_0x513d('0x1c'),'port':0x18eb});var socket=require(_0x513d('0x1d'))(new Redis(config[_0x513d('0x1b')]));require(_0x513d('0x1e'))['register'](socket);function respondWithStatusCode(_0x474e29,_0x2fb5d3){_0x2fb5d3=_0x2fb5d3||0xcc;return function(_0x1140fd){if(_0x1140fd){return _0x474e29['sendStatus'](_0x2fb5d3);}return _0x474e29[_0x513d('0x1f')](_0x2fb5d3)['end']();};}function respondWithResult(_0x444527,_0x265f3e){_0x265f3e=_0x265f3e||0xc8;return function(_0x395bc1){if(_0x395bc1){return _0x444527['status'](_0x265f3e)[_0x513d('0x20')](_0x395bc1);}};}function respondWithFilteredResult(_0x503cef,_0x4a20f5){return function(_0x16397f){if(_0x16397f){var _0x53da2d=typeof _0x4a20f5[_0x513d('0x21')]===_0x513d('0x22')&&typeof _0x4a20f5[_0x513d('0x23')]==='undefined';var _0x4fff39=_0x16397f[_0x513d('0x24')];var _0x5bdda2=_0x53da2d?0x0:_0x4a20f5[_0x513d('0x21')];var _0x5c302b=_0x53da2d?_0x16397f['count']:_0x4a20f5[_0x513d('0x21')]+_0x4a20f5[_0x513d('0x23')];var _0x472a1c;if(_0x5c302b>=_0x4fff39){_0x5c302b=_0x4fff39;_0x472a1c=0xc8;}else{_0x472a1c=0xce;}_0x503cef[_0x513d('0x1f')](_0x472a1c);return _0x503cef[_0x513d('0x25')]('Content-Range',_0x5bdda2+'-'+_0x5c302b+'/'+_0x4fff39)['json'](_0x16397f);}return null;};}function patchUpdates(_0x1738c5){return function(_0x21d951){try{jsonpatch[_0x513d('0x26')](_0x21d951,_0x1738c5,!![]);}catch(_0xc1382f){return BPromise[_0x513d('0x27')](_0xc1382f);}return _0x21d951[_0x513d('0x28')]();};}function saveUpdates(_0x34f99c,_0x2042f8){return function(_0x57bd3c){if(_0x57bd3c){return _0x57bd3c[_0x513d('0x29')](_0x34f99c)['then'](function(_0xa13e5f){return _0xa13e5f;});}return null;};}function removeEntity(_0x43f86c,_0x1d724e){return function(_0xed13e0){if(_0xed13e0){return _0xed13e0[_0x513d('0x2a')]()['then'](function(){_0x43f86c[_0x513d('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x58e6e9,_0x439772){return function(_0x17670c){if(!_0x17670c){_0x58e6e9['sendStatus'](0x194);}return _0x17670c;};}function handleError(_0x3caaca,_0x1fecf8){_0x1fecf8=_0x1fecf8||0x1f4;return function(_0x582190){logger['error'](_0x582190['stack']);if(_0x582190[_0x513d('0x2b')]){delete _0x582190[_0x513d('0x2b')];}_0x3caaca['status'](_0x1fecf8)[_0x513d('0x2c')](_0x582190);};}exports['index']=function(_0x574303,_0x509106){var _0x4b9537={},_0x4ecae9={},_0x5a6610={'count':0x0,'rows':[]};var _0x42ddbb=_[_0x513d('0x2d')](db[_0x513d('0x2e')]['rawAttributes'],function(_0x107ea7){return{'name':_0x107ea7[_0x513d('0x2f')],'type':_0x107ea7[_0x513d('0x30')][_0x513d('0x31')]};});_0x4ecae9['model']=_[_0x513d('0x2d')](_0x42ddbb,_0x513d('0x2b'));_0x4ecae9[_0x513d('0x32')]=_[_0x513d('0x33')](_0x574303['query']);_0x4ecae9[_0x513d('0x34')]=_[_0x513d('0x35')](_0x4ecae9[_0x513d('0x36')],_0x4ecae9[_0x513d('0x32')]);_0x4b9537[_0x513d('0x37')]=_['intersection'](_0x4ecae9[_0x513d('0x36')],qs[_0x513d('0x38')](_0x574303[_0x513d('0x32')][_0x513d('0x38')]));_0x4b9537[_0x513d('0x37')]=_0x4b9537[_0x513d('0x37')][_0x513d('0x39')]?_0x4b9537['attributes']:_0x4ecae9[_0x513d('0x36')];if(!_0x574303['query']['hasOwnProperty']('nolimit')){_0x4b9537[_0x513d('0x23')]=qs[_0x513d('0x23')](_0x574303[_0x513d('0x32')][_0x513d('0x23')]);_0x4b9537[_0x513d('0x21')]=qs[_0x513d('0x21')](_0x574303[_0x513d('0x32')][_0x513d('0x21')]);}_0x4b9537[_0x513d('0x3a')]=qs[_0x513d('0x3b')](_0x574303[_0x513d('0x32')]['sort']);_0x4b9537[_0x513d('0x3c')]=qs[_0x513d('0x34')](_['pick'](_0x574303[_0x513d('0x32')],_0x4ecae9[_0x513d('0x34')]),_0x42ddbb);if(_0x574303[_0x513d('0x32')]['filter']){_0x4b9537[_0x513d('0x3c')]=_[_0x513d('0x3d')](_0x4b9537[_0x513d('0x3c')],{'$or':_[_0x513d('0x2d')](_0x42ddbb,function(_0x23e24b){if(_0x23e24b[_0x513d('0x30')]!==_0x513d('0x3e')){var _0x185063={};_0x185063[_0x23e24b[_0x513d('0x2b')]]={'$like':'%'+_0x574303[_0x513d('0x32')][_0x513d('0x3f')]+'%'};return _0x185063;}})});}_0x4b9537=_[_0x513d('0x3d')]({},_0x4b9537,_0x574303[_0x513d('0x40')]);var _0x3cceef={'where':_0x4b9537[_0x513d('0x3c')]};return db[_0x513d('0x2e')][_0x513d('0x24')](_0x3cceef)[_0x513d('0x41')](function(_0x44e1b9){_0x5a6610[_0x513d('0x24')]=_0x44e1b9;if(_0x574303[_0x513d('0x32')]['includeAll']){_0x4b9537[_0x513d('0x42')]=[{'all':!![]}];}return db[_0x513d('0x2e')][_0x513d('0x43')](_0x4b9537);})[_0x513d('0x41')](function(_0x30bcd8){_0x5a6610[_0x513d('0x44')]=_0x30bcd8;return _0x5a6610;})[_0x513d('0x41')](respondWithFilteredResult(_0x509106,_0x4b9537))[_0x513d('0x45')](handleError(_0x509106,null));};exports['show']=function(_0x15a2d0,_0x44845a){var _0x3b494f={'raw':!![],'where':{'id':_0x15a2d0['params']['id']}},_0x4990e7={};_0x4990e7[_0x513d('0x36')]=_[_0x513d('0x33')](db[_0x513d('0x2e')]['rawAttributes']);_0x4990e7[_0x513d('0x32')]=_[_0x513d('0x33')](_0x15a2d0['query']);_0x4990e7[_0x513d('0x34')]=_[_0x513d('0x35')](_0x4990e7['model'],_0x4990e7[_0x513d('0x32')]);_0x3b494f['attributes']=_[_0x513d('0x35')](_0x4990e7['model'],qs[_0x513d('0x38')](_0x15a2d0['query'][_0x513d('0x38')]));_0x3b494f[_0x513d('0x37')]=_0x3b494f[_0x513d('0x37')][_0x513d('0x39')]?_0x3b494f['attributes']:_0x4990e7[_0x513d('0x36')];if(_0x15a2d0[_0x513d('0x32')][_0x513d('0x46')]){_0x3b494f[_0x513d('0x42')]=[{'all':!![]}];}_0x3b494f=_[_0x513d('0x3d')]({},_0x3b494f,_0x15a2d0[_0x513d('0x40')]);return db[_0x513d('0x2e')]['find'](_0x3b494f)[_0x513d('0x41')](handleEntityNotFound(_0x44845a,null))[_0x513d('0x41')](respondWithResult(_0x44845a,null))[_0x513d('0x45')](handleError(_0x44845a,null));};exports[_0x513d('0x47')]=function(_0x402d60,_0x13f303){return db[_0x513d('0x2e')][_0x513d('0x47')](_0x402d60[_0x513d('0x48')],{})[_0x513d('0x41')](respondWithResult(_0x13f303,0xc9))[_0x513d('0x45')](handleError(_0x13f303,null));};exports['update']=function(_0x306107,_0x1e9218){if(_0x306107[_0x513d('0x48')]['id']){delete _0x306107['body']['id'];}return db[_0x513d('0x2e')][_0x513d('0x49')]({'where':{'id':_0x306107['params']['id']}})[_0x513d('0x41')](handleEntityNotFound(_0x1e9218,null))[_0x513d('0x41')](saveUpdates(_0x306107[_0x513d('0x48')],null))['then'](respondWithResult(_0x1e9218,null))[_0x513d('0x45')](handleError(_0x1e9218,null));};exports[_0x513d('0x2a')]=function(_0x4b3f28,_0x3cd489){return db[_0x513d('0x2e')][_0x513d('0x49')]({'where':{'id':_0x4b3f28['params']['id']}})[_0x513d('0x41')](handleEntityNotFound(_0x3cd489,null))[_0x513d('0x41')](removeEntity(_0x3cd489,null))[_0x513d('0x45')](handleError(_0x3cd489,null));};exports[_0x513d('0x4a')]=function(_0x530cef,_0x21a98e){return db[_0x513d('0x2e')][_0x513d('0x4a')]()[_0x513d('0x41')](respondWithResult(_0x21a98e,null))[_0x513d('0x45')](handleError(_0x21a98e,null));};function wrapUser(_0x3a7a68){return function(_0x1d9670){var _0x5d7bed=_0x3a7a68[_0x513d('0x4b')]({'plain':!![]});_0x5d7bed[_0x513d('0x4c')]=[];if(_0x1d9670){_0x5d7bed[_0x513d('0x4d')]=_0x1d9670[_0x513d('0x4e')];_0x5d7bed[_0x513d('0x4f')]=_0x1d9670;}else{_0x5d7bed[_0x513d('0x4d')]=moment(0x0)[_0x513d('0x50')](_0x513d('0x51'));_0x5d7bed['lastMessage']={};}return _0x5d7bed;};}exports[_0x513d('0x52')]=function(_0x5a87e1,_0x21b43f,_0x46aca4){var _0x303f51=[];return db[_0x513d('0x53')][_0x513d('0x43')]({'where':{'role':[_0x513d('0x54'),_0x513d('0x55'),_0x513d('0x56')]},'attributes':['id',_0x513d('0x57'),_0x513d('0x2b'),_0x513d('0x58'),'userpic','internal',_0x513d('0x59'),_0x513d('0x5a'),_0x513d('0x5b'),_0x513d('0x5c')],'order':qs[_0x513d('0x3b')](_0x513d('0x5d')),'include':[{'model':db[_0x513d('0x5e')],'as':'VoiceQueues','attributes':['id',_0x513d('0x2b'),_0x513d('0x30')],'through':{'attributes':[]}}]})[_0x513d('0x41')](function(_0x4e9762){if(_0x4e9762){var _0x22a129=_0x5a87e1['user'][_0x513d('0x4b')]({'plain':!![]});if(!_0x22a129)throw new Error(_0x513d('0x5f'));if(_0x22a129[_0x513d('0x58')]==='user'){return db[_0x513d('0x60')]['find']({'where':{'name':'Agents','userProfileId':_0x22a129[_0x513d('0x61')]},'raw':!![]})[_0x513d('0x41')](function(_0x182edc){if(_0x182edc){if(_0x182edc[_0x513d('0x62')]===0x0){return db[_0x513d('0x63')][_0x513d('0x43')]({'where':{'sectionId':_0x182edc['id']},'raw':!![]})[_0x513d('0x41')](function(_0x1ca6fd){var _0x1978a5=[];if(_[_0x513d('0x64')](_0x1ca6fd)){_0x1978a5=_[_0x513d('0x3f')](_0x4e9762,function(_0x314426){if(_0x314426['role']!==_0x513d('0x54')){return _0x314426;}});return _0x1978a5;}else{for(var _0x205678=0x0;_0x205678<_0x4e9762['length'];_0x205678++){var _0x405335=_0x4e9762[_0x205678];if(_0x405335[_0x513d('0x58')]===_0x513d('0x54')){var _0x1e80ba=_[_0x513d('0x49')](_0x1ca6fd,function(_0x528a38){return _0x528a38['resourceId']===_0x405335['id'];});if(_0x1e80ba)_0x1978a5[_0x513d('0x65')](_0x405335);}else{_0x1978a5[_0x513d('0x65')](_0x405335);}}return _0x1978a5;}});}else{return _0x4e9762;}}else{var _0x264f3c=_['filter'](_0x4e9762,function(_0x593441){if(_0x593441['role']!=='agent'){return _0x593441;}});return _0x264f3c;}});}else{return _0x4e9762;}}})[_0x513d('0x41')](function(_0x502797){var _0x27bcb1=[];if(_0x502797){_0x303f51=_0x502797;for(var _0xde6aaa=0x0;_0xde6aaa<_0x502797['length'];_0xde6aaa+=0x1){_0x303f51[_0xde6aaa][_0x513d('0x4c')]=[];_0x27bcb1[_0x513d('0x65')](db[_0x513d('0x2e')][_0x513d('0x49')]({'where':{'FromId':[_0x5a87e1[_0x513d('0x56')]['id'],_0x502797[_0xde6aaa]['id']],'ToId':[_0x5a87e1[_0x513d('0x56')]['id'],_0x502797[_0xde6aaa]['id']],'ChatGroupId':null},'attributes':['id',_0x513d('0x4e'),_0x513d('0x66'),_0x513d('0x67'),_0x513d('0x68'),_0x513d('0x48')],'order':qs['sort']('-createdAt'),'limit':0x1,'offset':0x0,'raw':!![]})[_0x513d('0x41')](wrapUser(_0x502797[_0xde6aaa])));}return BPromise[_0x513d('0x69')](_0x27bcb1);}return[];})[_0x513d('0x41')](function(_0x5b6cd8){return{'rows':_0x5b6cd8,'count':_0x5b6cd8[_0x513d('0x39')]};})[_0x513d('0x41')](respondWithResult(_0x21b43f,null))[_0x513d('0x45')](handleError(_0x21b43f,null));};