Built motion from commit (unavailable).|2.5.14
[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 _0x2fad=['count','offset','limit','set','Content-Range','apply','destroy','error','name','send','index','ChatInternalMessage','rawAttributes','fieldName','type','key','map','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','then','includeAll','include','show','create','catch','update','body','find','describe','get','messages','lastMessageAt','format','YYYY-MM-DD\x20HH:mm:ss','lastMessage','getUsers','User','findAll','admin','user','fullname','role','userpic','internal','online','lastLoginAt','allowmessenger','showWebBar','VoiceQueue','Unable\x20to\x20retrieve\x20the\x20current\x20user','Agents','userProfileId','UserProfileResource','isEmpty','agent','push','createdAt','FromId','ToId','read','-createdAt','all','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','localhost','socket.io-emitter','redis','./chatInternalMessage.socket','register','status','end','json'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x2fad,0x127));var _0xd2fa=function(_0x4dd479,_0x26d87a){_0x4dd479=_0x4dd479-0x0;var _0x1b6807=_0x2fad[_0x4dd479];return _0x1b6807;};'use strict';var pdf=require(_0xd2fa('0x0'));var emlformat=require(_0xd2fa('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd2fa('0x2'));var jsonpatch=require(_0xd2fa('0x3'));var rp=require(_0xd2fa('0x4'));var moment=require(_0xd2fa('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xd2fa('0x6'));var util=require(_0xd2fa('0x7'));var path=require(_0xd2fa('0x8'));var sox=require(_0xd2fa('0x9'));var csv=require('to-csv');var ejs=require(_0xd2fa('0xa'));var fs=require('fs');var _=require(_0xd2fa('0xb'));var squel=require(_0xd2fa('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xd2fa('0xd'));var toCsv=require(_0xd2fa('0xe'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd2fa('0xf'));var authService=require(_0xd2fa('0x10'));var qs=require(_0xd2fa('0x11'));var as=require(_0xd2fa('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd2fa('0x13'))('api');var utils=require(_0xd2fa('0x14'));var config=require(_0xd2fa('0x15'));var licenseUtil=require(_0xd2fa('0x16'));var db=require(_0xd2fa('0x17'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xd2fa('0x18'),'port':0x18eb});var socket=require(_0xd2fa('0x19'))(new Redis(config[_0xd2fa('0x1a')]));require(_0xd2fa('0x1b'))[_0xd2fa('0x1c')](socket);function respondWithStatusCode(_0xaeafd3,_0x5b314a){_0x5b314a=_0x5b314a||0xcc;return function(_0x50203e){if(_0x50203e){return _0xaeafd3['sendStatus'](_0x5b314a);}return _0xaeafd3[_0xd2fa('0x1d')](_0x5b314a)[_0xd2fa('0x1e')]();};}function respondWithResult(_0x438be3,_0x25fbc5){_0x25fbc5=_0x25fbc5||0xc8;return function(_0x1462d2){if(_0x1462d2){return _0x438be3[_0xd2fa('0x1d')](_0x25fbc5)[_0xd2fa('0x1f')](_0x1462d2);}};}function respondWithFilteredResult(_0x6eb3b1,_0x410719){return function(_0x4ce638){if(_0x4ce638){var _0x20e933=_0x4ce638[_0xd2fa('0x20')],_0x86cc92=_0x410719['offset'],_0x535417=_0x410719[_0xd2fa('0x21')]+_0x410719[_0xd2fa('0x22')],_0x535e0d;if(_0x535417>=_0x20e933){_0x535417=_0x20e933;_0x535e0d=0xc8;}else{_0x535e0d=0xce;}_0x6eb3b1[_0xd2fa('0x1d')](_0x535e0d);return _0x6eb3b1[_0xd2fa('0x23')](_0xd2fa('0x24'),_0x86cc92+'-'+_0x535417+'/'+_0x20e933)['json'](_0x4ce638);}return null;};}function patchUpdates(_0x53adf1){return function(_0xd4f109){try{jsonpatch[_0xd2fa('0x25')](_0xd4f109,_0x53adf1,!![]);}catch(_0x568812){return BPromise['reject'](_0x568812);}return _0xd4f109['save']();};}function saveUpdates(_0x308e46,_0x167d62){return function(_0x103c78){if(_0x103c78){return _0x103c78['update'](_0x308e46)['then'](function(_0x37734b){return _0x37734b;});}return null;};}function removeEntity(_0x2356c6,_0x2377b7){return function(_0x48e74d){if(_0x48e74d){return _0x48e74d[_0xd2fa('0x26')]()['then'](function(){_0x2356c6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x12e06c,_0x2c0624){return function(_0x29f577){if(!_0x29f577){_0x12e06c['sendStatus'](0x194);}return _0x29f577;};}function handleError(_0x59ffdd,_0x16feb5){_0x16feb5=_0x16feb5||0x1f4;return function(_0x25855b){logger[_0xd2fa('0x27')](_0x25855b['stack']);if(_0x25855b['name']){delete _0x25855b[_0xd2fa('0x28')];}_0x59ffdd['status'](_0x16feb5)[_0xd2fa('0x29')](_0x25855b);};}exports[_0xd2fa('0x2a')]=function(_0x33f393,_0x4a9393){var _0x4e5561={},_0x33d62c={},_0x4ae57e={'count':0x0,'rows':[]};var _0xdcb87c=_['map'](db[_0xd2fa('0x2b')][_0xd2fa('0x2c')],function(_0xf162d0){return{'name':_0xf162d0[_0xd2fa('0x2d')],'type':_0xf162d0[_0xd2fa('0x2e')][_0xd2fa('0x2f')]};});_0x33d62c['model']=_[_0xd2fa('0x30')](_0xdcb87c,_0xd2fa('0x28'));_0x33d62c['query']=_[_0xd2fa('0x31')](_0x33f393[_0xd2fa('0x32')]);_0x33d62c[_0xd2fa('0x33')]=_[_0xd2fa('0x34')](_0x33d62c[_0xd2fa('0x35')],_0x33d62c['query']);_0x4e5561[_0xd2fa('0x36')]=_['intersection'](_0x33d62c[_0xd2fa('0x35')],qs[_0xd2fa('0x37')](_0x33f393[_0xd2fa('0x32')][_0xd2fa('0x37')]));_0x4e5561[_0xd2fa('0x36')]=_0x4e5561[_0xd2fa('0x36')][_0xd2fa('0x38')]?_0x4e5561[_0xd2fa('0x36')]:_0x33d62c[_0xd2fa('0x35')];if(!_0x33f393[_0xd2fa('0x32')][_0xd2fa('0x39')](_0xd2fa('0x3a'))){_0x4e5561['limit']=qs['limit'](_0x33f393[_0xd2fa('0x32')]['limit']);_0x4e5561[_0xd2fa('0x21')]=qs[_0xd2fa('0x21')](_0x33f393[_0xd2fa('0x32')][_0xd2fa('0x21')]);}_0x4e5561[_0xd2fa('0x3b')]=qs['sort'](_0x33f393[_0xd2fa('0x32')][_0xd2fa('0x3c')]);_0x4e5561[_0xd2fa('0x3d')]=qs[_0xd2fa('0x33')](_[_0xd2fa('0x3e')](_0x33f393[_0xd2fa('0x32')],_0x33d62c[_0xd2fa('0x33')]),_0xdcb87c);if(_0x33f393[_0xd2fa('0x32')][_0xd2fa('0x3f')]){_0x4e5561[_0xd2fa('0x3d')]=_[_0xd2fa('0x40')](_0x4e5561[_0xd2fa('0x3d')],{'$or':_['map'](_0xdcb87c,function(_0x59c6e6){if(_0x59c6e6[_0xd2fa('0x2e')]!==_0xd2fa('0x41')){var _0x22cadd={};_0x22cadd[_0x59c6e6[_0xd2fa('0x28')]]={'$like':'%'+_0x33f393['query'][_0xd2fa('0x3f')]+'%'};return _0x22cadd;}})});}_0x4e5561=_['merge']({},_0x4e5561,_0x33f393['options']);var _0x186a00={'where':_0x4e5561[_0xd2fa('0x3d')]};return db[_0xd2fa('0x2b')][_0xd2fa('0x20')](_0x186a00)[_0xd2fa('0x42')](function(_0x5ae2d4){_0x4ae57e[_0xd2fa('0x20')]=_0x5ae2d4;if(_0x33f393['query'][_0xd2fa('0x43')]){_0x4e5561[_0xd2fa('0x44')]=[{'all':!![]}];}return db['ChatInternalMessage']['findAll'](_0x4e5561);})[_0xd2fa('0x42')](function(_0x58fbbb){_0x4ae57e['rows']=_0x58fbbb;return _0x4ae57e;})[_0xd2fa('0x42')](respondWithFilteredResult(_0x4a9393,_0x4e5561))['catch'](handleError(_0x4a9393,null));};exports[_0xd2fa('0x45')]=function(_0x33a146,_0x5d4239){var _0x538e03={'raw':!![],'where':{'id':_0x33a146['params']['id']}},_0x4e8efd={};_0x4e8efd[_0xd2fa('0x35')]=_[_0xd2fa('0x31')](db[_0xd2fa('0x2b')][_0xd2fa('0x2c')]);_0x4e8efd['query']=_['keys'](_0x33a146[_0xd2fa('0x32')]);_0x4e8efd[_0xd2fa('0x33')]=_[_0xd2fa('0x34')](_0x4e8efd[_0xd2fa('0x35')],_0x4e8efd[_0xd2fa('0x32')]);_0x538e03[_0xd2fa('0x36')]=_[_0xd2fa('0x34')](_0x4e8efd[_0xd2fa('0x35')],qs[_0xd2fa('0x37')](_0x33a146[_0xd2fa('0x32')][_0xd2fa('0x37')]));_0x538e03[_0xd2fa('0x36')]=_0x538e03[_0xd2fa('0x36')][_0xd2fa('0x38')]?_0x538e03[_0xd2fa('0x36')]:_0x4e8efd[_0xd2fa('0x35')];if(_0x33a146['query'][_0xd2fa('0x43')]){_0x538e03[_0xd2fa('0x44')]=[{'all':!![]}];}_0x538e03=_[_0xd2fa('0x40')]({},_0x538e03,_0x33a146['options']);return db['ChatInternalMessage']['find'](_0x538e03)['then'](handleEntityNotFound(_0x5d4239,null))[_0xd2fa('0x42')](respondWithResult(_0x5d4239,null))['catch'](handleError(_0x5d4239,null));};exports['create']=function(_0x2509b7,_0x44a53d){return db[_0xd2fa('0x2b')][_0xd2fa('0x46')](_0x2509b7['body'],{})[_0xd2fa('0x42')](respondWithResult(_0x44a53d,0xc9))[_0xd2fa('0x47')](handleError(_0x44a53d,null));};exports[_0xd2fa('0x48')]=function(_0x5549b4,_0x1e1b5b){if(_0x5549b4[_0xd2fa('0x49')]['id']){delete _0x5549b4[_0xd2fa('0x49')]['id'];}return db[_0xd2fa('0x2b')][_0xd2fa('0x4a')]({'where':{'id':_0x5549b4['params']['id']}})[_0xd2fa('0x42')](handleEntityNotFound(_0x1e1b5b,null))[_0xd2fa('0x42')](saveUpdates(_0x5549b4[_0xd2fa('0x49')],null))[_0xd2fa('0x42')](respondWithResult(_0x1e1b5b,null))[_0xd2fa('0x47')](handleError(_0x1e1b5b,null));};exports[_0xd2fa('0x26')]=function(_0x4349da,_0x1fb722){return db[_0xd2fa('0x2b')][_0xd2fa('0x4a')]({'where':{'id':_0x4349da['params']['id']}})[_0xd2fa('0x42')](handleEntityNotFound(_0x1fb722,null))[_0xd2fa('0x42')](removeEntity(_0x1fb722,null))[_0xd2fa('0x47')](handleError(_0x1fb722,null));};exports[_0xd2fa('0x4b')]=function(_0x23bb53,_0x25ccf4){return db[_0xd2fa('0x2b')]['describe']()[_0xd2fa('0x42')](respondWithResult(_0x25ccf4,null))[_0xd2fa('0x47')](handleError(_0x25ccf4,null));};function wrapUser(_0x33d14d){return function(_0x454476){var _0x400278=_0x33d14d[_0xd2fa('0x4c')]({'plain':!![]});_0x400278[_0xd2fa('0x4d')]=[];if(_0x454476){_0x400278[_0xd2fa('0x4e')]=_0x454476['createdAt'];_0x400278['lastMessage']=_0x454476;}else{_0x400278[_0xd2fa('0x4e')]=moment(0x0)[_0xd2fa('0x4f')](_0xd2fa('0x50'));_0x400278[_0xd2fa('0x51')]={};}return _0x400278;};}exports[_0xd2fa('0x52')]=function(_0x5263dd,_0x34b035,_0x3909b6){var _0x4d4840=[];return db[_0xd2fa('0x53')][_0xd2fa('0x54')]({'where':{'role':['agent',_0xd2fa('0x55'),_0xd2fa('0x56')]},'attributes':['id',_0xd2fa('0x57'),_0xd2fa('0x28'),_0xd2fa('0x58'),_0xd2fa('0x59'),_0xd2fa('0x5a'),_0xd2fa('0x5b'),_0xd2fa('0x5c'),_0xd2fa('0x5d'),_0xd2fa('0x5e')],'order':qs[_0xd2fa('0x3c')]('-online'),'include':[{'model':db[_0xd2fa('0x5f')],'as':'VoiceQueues','attributes':['id',_0xd2fa('0x28'),_0xd2fa('0x2e')],'through':{'attributes':[]}}]})[_0xd2fa('0x42')](function(_0x11c1f4){if(_0x11c1f4){var _0x28a1c9=_0x5263dd['user'][_0xd2fa('0x4c')]({'plain':!![]});if(!_0x28a1c9)throw new Error(_0xd2fa('0x60'));if(_0x28a1c9[_0xd2fa('0x58')]===_0xd2fa('0x56')){return db['UserProfileSection'][_0xd2fa('0x4a')]({'where':{'name':_0xd2fa('0x61'),'userProfileId':_0x28a1c9[_0xd2fa('0x62')]},'raw':!![]})['then'](function(_0x3b89e9){if(_0x3b89e9){if(_0x3b89e9['autoAssociation']===0x0){return db[_0xd2fa('0x63')][_0xd2fa('0x54')]({'where':{'sectionId':_0x3b89e9['id']},'raw':!![]})['then'](function(_0x24dcbc){var _0x3f1228=[];if(_[_0xd2fa('0x64')](_0x24dcbc)){_0x3f1228=_[_0xd2fa('0x3f')](_0x11c1f4,function(_0x570298){if(_0x570298[_0xd2fa('0x58')]!==_0xd2fa('0x65')){return _0x570298;}});return _0x3f1228;}else{for(var _0x2692ba=0x0;_0x2692ba<_0x11c1f4[_0xd2fa('0x38')];_0x2692ba++){var _0x4c9bc3=_0x11c1f4[_0x2692ba];if(_0x4c9bc3[_0xd2fa('0x58')]===_0xd2fa('0x65')){var _0x5401d5=_['find'](_0x24dcbc,function(_0x1e0824){return _0x1e0824['resourceId']===_0x4c9bc3['id'];});if(_0x5401d5)_0x3f1228[_0xd2fa('0x66')](_0x4c9bc3);}else{_0x3f1228[_0xd2fa('0x66')](_0x4c9bc3);}}return _0x3f1228;}});}else{return _0x11c1f4;}}else{var _0x4d40ec=_[_0xd2fa('0x3f')](_0x11c1f4,function(_0x1f99ab){if(_0x1f99ab[_0xd2fa('0x58')]!==_0xd2fa('0x65')){return _0x1f99ab;}});return _0x4d40ec;}});}else{return _0x11c1f4;}}})['then'](function(_0x3c12ad){var _0x2703cf=[];if(_0x3c12ad){_0x4d4840=_0x3c12ad;for(var _0x1ff682=0x0;_0x1ff682<_0x3c12ad['length'];_0x1ff682+=0x1){_0x4d4840[_0x1ff682][_0xd2fa('0x4d')]=[];_0x2703cf['push'](db[_0xd2fa('0x2b')]['find']({'where':{'FromId':[_0x5263dd[_0xd2fa('0x56')]['id'],_0x3c12ad[_0x1ff682]['id']],'ToId':[_0x5263dd[_0xd2fa('0x56')]['id'],_0x3c12ad[_0x1ff682]['id']],'ChatGroupId':null},'attributes':['id',_0xd2fa('0x67'),_0xd2fa('0x68'),_0xd2fa('0x69'),_0xd2fa('0x6a'),_0xd2fa('0x49')],'order':qs[_0xd2fa('0x3c')](_0xd2fa('0x6b')),'limit':0x1,'offset':0x0,'raw':!![]})[_0xd2fa('0x42')](wrapUser(_0x3c12ad[_0x1ff682])));}return BPromise[_0xd2fa('0x6c')](_0x2703cf);}return[];})[_0xd2fa('0x42')](function(_0x47ab51){return{'rows':_0x47ab51,'count':_0x47ab51[_0xd2fa('0x38')]};})['then'](respondWithResult(_0x34b035,null))[_0xd2fa('0x47')](handleError(_0x34b035,null));};