Built motion from commit (unavailable).|2.5.26
[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 _0x1058=['save','update','then','destroy','end','stack','name','send','index','map','ChatInternalMessage','rawAttributes','type','key','query','keys','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','create','body','find','describe','get','messages','lastMessageAt','createdAt','format','YYYY-MM-DD\x20HH:mm:ss','lastMessage','User','agent','user','fullname','role','userpic','internal','online','lastLoginAt','allowmessenger','showWebBar','VoiceQueue','VoiceQueues','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','Agents','userProfileId','autoAssociation','UserProfileResource','isEmpty','push','FromId','read','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','./chatInternalMessage.socket','register','sendStatus','status','json','offset','limit','set','Content-Range'];(function(_0x5ec3da,_0x39bf0a){var _0x46e252=function(_0x5f4b28){while(--_0x5f4b28){_0x5ec3da['push'](_0x5ec3da['shift']());}};_0x46e252(++_0x39bf0a);}(_0x1058,0x18c));var _0x8105=function(_0x960e3,_0x3016a2){_0x960e3=_0x960e3-0x0;var _0x1d4b63=_0x1058[_0x960e3];return _0x1d4b63;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x8105('0x0'));var jsonpatch=require(_0x8105('0x1'));var rp=require(_0x8105('0x2'));var moment=require(_0x8105('0x3'));var BPromise=require(_0x8105('0x4'));var Mustache=require(_0x8105('0x5'));var util=require(_0x8105('0x6'));var path=require(_0x8105('0x7'));var sox=require(_0x8105('0x8'));var csv=require(_0x8105('0x9'));var ejs=require(_0x8105('0xa'));var fs=require('fs');var fs_extra=require(_0x8105('0xb'));var _=require(_0x8105('0xc'));var squel=require(_0x8105('0xd'));var crypto=require(_0x8105('0xe'));var jsforce=require(_0x8105('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8105('0x10'));var authService=require(_0x8105('0x11'));var qs=require(_0x8105('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8105('0x13'));var logger=require(_0x8105('0x14'))(_0x8105('0x15'));var utils=require(_0x8105('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x8105('0x17'));var db=require(_0x8105('0x18'))['db'];config[_0x8105('0x19')]=_['defaults'](config['redis'],{'host':_0x8105('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x8105('0x19')]));require(_0x8105('0x1b'))[_0x8105('0x1c')](socket);function respondWithStatusCode(_0x211c9c,_0x325ba2){_0x325ba2=_0x325ba2||0xcc;return function(_0x3b430f){if(_0x3b430f){return _0x211c9c[_0x8105('0x1d')](_0x325ba2);}return _0x211c9c[_0x8105('0x1e')](_0x325ba2)['end']();};}function respondWithResult(_0x60b1bd,_0x187893){_0x187893=_0x187893||0xc8;return function(_0x374da6){if(_0x374da6){return _0x60b1bd[_0x8105('0x1e')](_0x187893)[_0x8105('0x1f')](_0x374da6);}};}function respondWithFilteredResult(_0x17915f,_0x4977ce){return function(_0x41bf46){if(_0x41bf46){var _0x5f4351=_0x41bf46['count'],_0x30f143=_0x4977ce[_0x8105('0x20')],_0x5a39af=_0x4977ce['offset']+_0x4977ce[_0x8105('0x21')],_0x53791e;if(_0x5a39af>=_0x5f4351){_0x5a39af=_0x5f4351;_0x53791e=0xc8;}else{_0x53791e=0xce;}_0x17915f[_0x8105('0x1e')](_0x53791e);return _0x17915f[_0x8105('0x22')](_0x8105('0x23'),_0x30f143+'-'+_0x5a39af+'/'+_0x5f4351)[_0x8105('0x1f')](_0x41bf46);}return null;};}function patchUpdates(_0x4ac238){return function(_0x47518f){try{jsonpatch['apply'](_0x47518f,_0x4ac238,!![]);}catch(_0xd123be){return BPromise['reject'](_0xd123be);}return _0x47518f[_0x8105('0x24')]();};}function saveUpdates(_0x506cf5,_0x3ff78e){return function(_0x1ac93d){if(_0x1ac93d){return _0x1ac93d[_0x8105('0x25')](_0x506cf5)[_0x8105('0x26')](function(_0x2079e6){return _0x2079e6;});}return null;};}function removeEntity(_0x9899ae,_0x14f658){return function(_0x4dcaff){if(_0x4dcaff){return _0x4dcaff[_0x8105('0x27')]()['then'](function(){_0x9899ae[_0x8105('0x1e')](0xcc)[_0x8105('0x28')]();});}};}function handleEntityNotFound(_0x34abc7,_0xdeeddb){return function(_0x26b8ff){if(!_0x26b8ff){_0x34abc7[_0x8105('0x1d')](0x194);}return _0x26b8ff;};}function handleError(_0x39b277,_0x58abd9){_0x58abd9=_0x58abd9||0x1f4;return function(_0x5e8734){logger['error'](_0x5e8734[_0x8105('0x29')]);if(_0x5e8734['name']){delete _0x5e8734[_0x8105('0x2a')];}_0x39b277['status'](_0x58abd9)[_0x8105('0x2b')](_0x5e8734);};}exports[_0x8105('0x2c')]=function(_0x1ef561,_0x1bc8eb){var _0x41722c={},_0x4bd732={},_0x14f3c7={'count':0x0,'rows':[]};var _0x256ace=_[_0x8105('0x2d')](db[_0x8105('0x2e')][_0x8105('0x2f')],function(_0x1c1f1f){return{'name':_0x1c1f1f['fieldName'],'type':_0x1c1f1f[_0x8105('0x30')][_0x8105('0x31')]};});_0x4bd732['model']=_[_0x8105('0x2d')](_0x256ace,_0x8105('0x2a'));_0x4bd732[_0x8105('0x32')]=_[_0x8105('0x33')](_0x1ef561['query']);_0x4bd732['filters']=_[_0x8105('0x34')](_0x4bd732[_0x8105('0x35')],_0x4bd732[_0x8105('0x32')]);_0x41722c[_0x8105('0x36')]=_[_0x8105('0x34')](_0x4bd732[_0x8105('0x35')],qs['fields'](_0x1ef561['query'][_0x8105('0x37')]));_0x41722c['attributes']=_0x41722c[_0x8105('0x36')][_0x8105('0x38')]?_0x41722c[_0x8105('0x36')]:_0x4bd732[_0x8105('0x35')];if(!_0x1ef561[_0x8105('0x32')]['hasOwnProperty'](_0x8105('0x39'))){_0x41722c[_0x8105('0x21')]=qs[_0x8105('0x21')](_0x1ef561[_0x8105('0x32')][_0x8105('0x21')]);_0x41722c[_0x8105('0x20')]=qs[_0x8105('0x20')](_0x1ef561[_0x8105('0x32')][_0x8105('0x20')]);}_0x41722c[_0x8105('0x3a')]=qs['sort'](_0x1ef561[_0x8105('0x32')][_0x8105('0x3b')]);_0x41722c[_0x8105('0x3c')]=qs[_0x8105('0x3d')](_['pick'](_0x1ef561[_0x8105('0x32')],_0x4bd732[_0x8105('0x3d')]),_0x256ace);if(_0x1ef561[_0x8105('0x32')][_0x8105('0x3e')]){_0x41722c['where']=_[_0x8105('0x3f')](_0x41722c[_0x8105('0x3c')],{'$or':_[_0x8105('0x2d')](_0x256ace,function(_0x44edfe){if(_0x44edfe['type']!==_0x8105('0x40')){var _0x404c09={};_0x404c09[_0x44edfe[_0x8105('0x2a')]]={'$like':'%'+_0x1ef561[_0x8105('0x32')][_0x8105('0x3e')]+'%'};return _0x404c09;}})});}_0x41722c=_[_0x8105('0x3f')]({},_0x41722c,_0x1ef561[_0x8105('0x41')]);var _0x4d3d51={'where':_0x41722c['where']};return db[_0x8105('0x2e')][_0x8105('0x42')](_0x4d3d51)[_0x8105('0x26')](function(_0x4153bd){_0x14f3c7[_0x8105('0x42')]=_0x4153bd;if(_0x1ef561[_0x8105('0x32')][_0x8105('0x43')]){_0x41722c[_0x8105('0x44')]=[{'all':!![]}];}return db[_0x8105('0x2e')][_0x8105('0x45')](_0x41722c);})[_0x8105('0x26')](function(_0xdd11ba){_0x14f3c7[_0x8105('0x46')]=_0xdd11ba;return _0x14f3c7;})['then'](respondWithFilteredResult(_0x1bc8eb,_0x41722c))[_0x8105('0x47')](handleError(_0x1bc8eb,null));};exports[_0x8105('0x48')]=function(_0x1ad6e7,_0x28143d){var _0xdb5397={'raw':!![],'where':{'id':_0x1ad6e7[_0x8105('0x49')]['id']}},_0x4ab691={};_0x4ab691[_0x8105('0x35')]=_['keys'](db[_0x8105('0x2e')][_0x8105('0x2f')]);_0x4ab691[_0x8105('0x32')]=_[_0x8105('0x33')](_0x1ad6e7[_0x8105('0x32')]);_0x4ab691[_0x8105('0x3d')]=_[_0x8105('0x34')](_0x4ab691[_0x8105('0x35')],_0x4ab691[_0x8105('0x32')]);_0xdb5397[_0x8105('0x36')]=_[_0x8105('0x34')](_0x4ab691['model'],qs[_0x8105('0x37')](_0x1ad6e7[_0x8105('0x32')][_0x8105('0x37')]));_0xdb5397[_0x8105('0x36')]=_0xdb5397['attributes'][_0x8105('0x38')]?_0xdb5397[_0x8105('0x36')]:_0x4ab691[_0x8105('0x35')];if(_0x1ad6e7[_0x8105('0x32')][_0x8105('0x43')]){_0xdb5397[_0x8105('0x44')]=[{'all':!![]}];}_0xdb5397=_[_0x8105('0x3f')]({},_0xdb5397,_0x1ad6e7[_0x8105('0x41')]);return db[_0x8105('0x2e')]['find'](_0xdb5397)[_0x8105('0x26')](handleEntityNotFound(_0x28143d,null))['then'](respondWithResult(_0x28143d,null))[_0x8105('0x47')](handleError(_0x28143d,null));};exports[_0x8105('0x4a')]=function(_0x2dd3d5,_0x4b81ee){return db[_0x8105('0x2e')][_0x8105('0x4a')](_0x2dd3d5['body'],{})[_0x8105('0x26')](respondWithResult(_0x4b81ee,0xc9))[_0x8105('0x47')](handleError(_0x4b81ee,null));};exports[_0x8105('0x25')]=function(_0x2d3ca3,_0x337b04){if(_0x2d3ca3[_0x8105('0x4b')]['id']){delete _0x2d3ca3['body']['id'];}return db[_0x8105('0x2e')]['find']({'where':{'id':_0x2d3ca3[_0x8105('0x49')]['id']}})[_0x8105('0x26')](handleEntityNotFound(_0x337b04,null))[_0x8105('0x26')](saveUpdates(_0x2d3ca3[_0x8105('0x4b')],null))['then'](respondWithResult(_0x337b04,null))[_0x8105('0x47')](handleError(_0x337b04,null));};exports['destroy']=function(_0x3057d5,_0x593912){return db[_0x8105('0x2e')][_0x8105('0x4c')]({'where':{'id':_0x3057d5[_0x8105('0x49')]['id']}})[_0x8105('0x26')](handleEntityNotFound(_0x593912,null))['then'](removeEntity(_0x593912,null))[_0x8105('0x47')](handleError(_0x593912,null));};exports['describe']=function(_0x4df557,_0x33ff98){return db[_0x8105('0x2e')][_0x8105('0x4d')]()[_0x8105('0x26')](respondWithResult(_0x33ff98,null))[_0x8105('0x47')](handleError(_0x33ff98,null));};function wrapUser(_0x23246b){return function(_0x4021a5){var _0x26c792=_0x23246b[_0x8105('0x4e')]({'plain':!![]});_0x26c792[_0x8105('0x4f')]=[];if(_0x4021a5){_0x26c792[_0x8105('0x50')]=_0x4021a5[_0x8105('0x51')];_0x26c792['lastMessage']=_0x4021a5;}else{_0x26c792['lastMessageAt']=moment(0x0)[_0x8105('0x52')](_0x8105('0x53'));_0x26c792[_0x8105('0x54')]={};}return _0x26c792;};}exports['getUsers']=function(_0x534e4a,_0x268b76,_0x1718dc){var _0x55c65a=[];return db[_0x8105('0x55')][_0x8105('0x45')]({'where':{'role':[_0x8105('0x56'),'admin',_0x8105('0x57')]},'attributes':['id',_0x8105('0x58'),'name',_0x8105('0x59'),_0x8105('0x5a'),_0x8105('0x5b'),_0x8105('0x5c'),_0x8105('0x5d'),_0x8105('0x5e'),_0x8105('0x5f')],'order':qs['sort']('-online'),'include':[{'model':db[_0x8105('0x60')],'as':_0x8105('0x61'),'attributes':['id',_0x8105('0x2a'),'type'],'through':{'attributes':[]}}]})[_0x8105('0x26')](function(_0x44d936){if(_0x44d936){var _0x245fb1=_0x534e4a['user'][_0x8105('0x4e')]({'plain':!![]});if(!_0x245fb1)throw new Error(_0x8105('0x62'));if(_0x245fb1[_0x8105('0x59')]===_0x8105('0x57')){return db[_0x8105('0x63')]['find']({'where':{'name':_0x8105('0x64'),'userProfileId':_0x245fb1[_0x8105('0x65')]},'raw':!![]})[_0x8105('0x26')](function(_0x46b149){if(_0x46b149){if(_0x46b149[_0x8105('0x66')]===0x0){return db[_0x8105('0x67')][_0x8105('0x45')]({'where':{'sectionId':_0x46b149['id']},'raw':!![]})[_0x8105('0x26')](function(_0x4766a9){var _0x386805=[];if(_[_0x8105('0x68')](_0x4766a9)){_0x386805=_['filter'](_0x44d936,function(_0x33ecc1){if(_0x33ecc1[_0x8105('0x59')]!==_0x8105('0x56')){return _0x33ecc1;}});return _0x386805;}else{for(var _0x3525d5=0x0;_0x3525d5<_0x44d936[_0x8105('0x38')];_0x3525d5++){var _0x590c40=_0x44d936[_0x3525d5];if(_0x590c40[_0x8105('0x59')]===_0x8105('0x56')){var _0x545872=_[_0x8105('0x4c')](_0x4766a9,function(_0x26e866){return _0x26e866['resourceId']===_0x590c40['id'];});if(_0x545872)_0x386805[_0x8105('0x69')](_0x590c40);}else{_0x386805[_0x8105('0x69')](_0x590c40);}}return _0x386805;}});}else{return _0x44d936;}}else{var _0x59d9d1=_[_0x8105('0x3e')](_0x44d936,function(_0x543889){if(_0x543889['role']!=='agent'){return _0x543889;}});return _0x59d9d1;}});}else{return _0x44d936;}}})[_0x8105('0x26')](function(_0x3fd430){var _0x353678=[];if(_0x3fd430){_0x55c65a=_0x3fd430;for(var _0x4c2f90=0x0;_0x4c2f90<_0x3fd430['length'];_0x4c2f90+=0x1){_0x55c65a[_0x4c2f90]['messages']=[];_0x353678[_0x8105('0x69')](db[_0x8105('0x2e')][_0x8105('0x4c')]({'where':{'FromId':[_0x534e4a[_0x8105('0x57')]['id'],_0x3fd430[_0x4c2f90]['id']],'ToId':[_0x534e4a[_0x8105('0x57')]['id'],_0x3fd430[_0x4c2f90]['id']],'ChatGroupId':null},'attributes':['id',_0x8105('0x51'),_0x8105('0x6a'),'ToId',_0x8105('0x6b'),_0x8105('0x4b')],'order':qs['sort']('-createdAt'),'limit':0x1,'offset':0x0,'raw':!![]})[_0x8105('0x26')](wrapUser(_0x3fd430[_0x4c2f90])));}return BPromise['all'](_0x353678);}return[];})[_0x8105('0x26')](function(_0x1b31e1){return{'rows':_0x1b31e1,'count':_0x1b31e1['length']};})['then'](respondWithResult(_0x268b76,null))[_0x8105('0x47')](handleError(_0x268b76,null));};