Built motion from commit (unavailable).|2.4.21
[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 _0x36d1=['find','params','describe','get','messages','lastMessageAt','format','YYYY-MM-DD\x20HH:mm:ss','lastMessage','getUsers','User','agent','admin','user','fullname','role','userpic','internal','online','lastLoginAt','allowmessenger','showWebBar','-online','VoiceQueue','VoiceQueues','Unable\x20to\x20retrieve\x20the\x20current\x20user','Agents','userProfileId','autoAssociation','UserProfileResource','isEmpty','resourceId','push','createdAt','ToId','-createdAt','all','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInternalMessage.socket','register','sendStatus','status','count','offset','limit','set','Content-Range','reject','save','then','destroy','end','error','name','send','index','map','ChatInternalMessage','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','merge','options','include','findAll','rows','show','intersection','catch','create','body','update'];(function(_0x2e535e,_0x5d2727){var _0x202345=function(_0x15d348){while(--_0x15d348){_0x2e535e['push'](_0x2e535e['shift']());}};_0x202345(++_0x5d2727);}(_0x36d1,0x16c));var _0x136d=function(_0x4c4880,_0x57bc7f){_0x4c4880=_0x4c4880-0x0;var _0x450dce=_0x36d1[_0x4c4880];return _0x450dce;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x136d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x136d('0x1'));var jsonpatch=require(_0x136d('0x2'));var rp=require(_0x136d('0x3'));var moment=require(_0x136d('0x4'));var BPromise=require(_0x136d('0x5'));var Mustache=require('mustache');var util=require(_0x136d('0x6'));var path=require('path');var sox=require(_0x136d('0x7'));var csv=require(_0x136d('0x8'));var ejs=require(_0x136d('0x9'));var fs=require('fs');var _=require(_0x136d('0xa'));var squel=require(_0x136d('0xb'));var crypto=require('crypto');var jsforce=require(_0x136d('0xc'));var deskjs=require(_0x136d('0xd'));var toCsv=require(_0x136d('0x8'));var querystring=require(_0x136d('0xe'));var Papa=require(_0x136d('0xf'));var Redis=require(_0x136d('0x10'));var authService=require(_0x136d('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x136d('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x136d('0x13'))['db'];config[_0x136d('0x14')]=_[_0x136d('0x15')](config[_0x136d('0x14')],{'host':_0x136d('0x16'),'port':0x18eb});var socket=require(_0x136d('0x17'))(new Redis(config[_0x136d('0x14')]));require(_0x136d('0x18'))[_0x136d('0x19')](socket);function respondWithStatusCode(_0x380221,_0x2e1be6){_0x2e1be6=_0x2e1be6||0xcc;return function(_0x228075){if(_0x228075){return _0x380221[_0x136d('0x1a')](_0x2e1be6);}return _0x380221[_0x136d('0x1b')](_0x2e1be6)['end']();};}function respondWithResult(_0x1a2cc7,_0x992b0b){_0x992b0b=_0x992b0b||0xc8;return function(_0x3552da){if(_0x3552da){return _0x1a2cc7[_0x136d('0x1b')](_0x992b0b)['json'](_0x3552da);}};}function respondWithFilteredResult(_0x3c6ec6,_0x32083e){return function(_0x156895){if(_0x156895){var _0x10d1d2=_0x156895[_0x136d('0x1c')],_0x3597a8=_0x32083e[_0x136d('0x1d')],_0x309c1a=_0x32083e['offset']+_0x32083e[_0x136d('0x1e')],_0x16502a;if(_0x309c1a>=_0x10d1d2){_0x309c1a=_0x10d1d2;_0x16502a=0xc8;}else{_0x16502a=0xce;}_0x3c6ec6[_0x136d('0x1b')](_0x16502a);return _0x3c6ec6[_0x136d('0x1f')](_0x136d('0x20'),_0x3597a8+'-'+_0x309c1a+'/'+_0x10d1d2)['json'](_0x156895);}return null;};}function patchUpdates(_0x2c98d3){return function(_0x4c7771){try{jsonpatch['apply'](_0x4c7771,_0x2c98d3,!![]);}catch(_0x20f80d){return BPromise[_0x136d('0x21')](_0x20f80d);}return _0x4c7771[_0x136d('0x22')]();};}function saveUpdates(_0x38f13d,_0x5241f4){return function(_0x319525){if(_0x319525){return _0x319525['update'](_0x38f13d)[_0x136d('0x23')](function(_0x15a47f){return _0x15a47f;});}return null;};}function removeEntity(_0x537dff,_0xd3b418){return function(_0xc7bf58){if(_0xc7bf58){return _0xc7bf58[_0x136d('0x24')]()[_0x136d('0x23')](function(){_0x537dff[_0x136d('0x1b')](0xcc)[_0x136d('0x25')]();});}};}function handleEntityNotFound(_0x4ef3b6,_0x2d6606){return function(_0x4c2e0f){if(!_0x4c2e0f){_0x4ef3b6['sendStatus'](0x194);}return _0x4c2e0f;};}function handleError(_0x1e7c5f,_0x406dff){_0x406dff=_0x406dff||0x1f4;return function(_0x21cadc){logger[_0x136d('0x26')](_0x21cadc['stack']);if(_0x21cadc[_0x136d('0x27')]){delete _0x21cadc[_0x136d('0x27')];}_0x1e7c5f[_0x136d('0x1b')](_0x406dff)[_0x136d('0x28')](_0x21cadc);};}exports[_0x136d('0x29')]=function(_0x5b514c,_0x336615){var _0x237363={},_0x58474d={},_0x10bb1b={'count':0x0,'rows':[]};var _0xb5777a=_[_0x136d('0x2a')](db[_0x136d('0x2b')][_0x136d('0x2c')],function(_0x15291c){return{'name':_0x15291c[_0x136d('0x2d')],'type':_0x15291c[_0x136d('0x2e')][_0x136d('0x2f')]};});_0x58474d[_0x136d('0x30')]=_['map'](_0xb5777a,_0x136d('0x27'));_0x58474d['query']=_[_0x136d('0x31')](_0x5b514c[_0x136d('0x32')]);_0x58474d[_0x136d('0x33')]=_['intersection'](_0x58474d[_0x136d('0x30')],_0x58474d[_0x136d('0x32')]);_0x237363[_0x136d('0x34')]=_['intersection'](_0x58474d['model'],qs[_0x136d('0x35')](_0x5b514c[_0x136d('0x32')][_0x136d('0x35')]));_0x237363['attributes']=_0x237363[_0x136d('0x34')][_0x136d('0x36')]?_0x237363[_0x136d('0x34')]:_0x58474d[_0x136d('0x30')];if(!_0x5b514c[_0x136d('0x32')][_0x136d('0x37')](_0x136d('0x38'))){_0x237363[_0x136d('0x1e')]=qs[_0x136d('0x1e')](_0x5b514c[_0x136d('0x32')][_0x136d('0x1e')]);_0x237363['offset']=qs['offset'](_0x5b514c[_0x136d('0x32')][_0x136d('0x1d')]);}_0x237363['order']=qs[_0x136d('0x39')](_0x5b514c['query'][_0x136d('0x39')]);_0x237363[_0x136d('0x3a')]=qs['filters'](_['pick'](_0x5b514c[_0x136d('0x32')],_0x58474d['filters']));if(_0x5b514c[_0x136d('0x32')][_0x136d('0x3b')]){_0x237363[_0x136d('0x3a')]=_['merge'](_0x237363[_0x136d('0x3a')],{'$or':_[_0x136d('0x2a')](_0xb5777a,function(_0x35da34){if(_0x35da34[_0x136d('0x2e')]!==_0x136d('0x3c')){var _0x62510c={};_0x62510c[_0x35da34[_0x136d('0x27')]]={'$like':'%'+_0x5b514c[_0x136d('0x32')][_0x136d('0x3b')]+'%'};return _0x62510c;}})});}_0x237363=_[_0x136d('0x3d')]({},_0x237363,_0x5b514c[_0x136d('0x3e')]);var _0x1f0fa5={'where':_0x237363[_0x136d('0x3a')]};return db['ChatInternalMessage'][_0x136d('0x1c')](_0x1f0fa5)['then'](function(_0x16ea6d){_0x10bb1b[_0x136d('0x1c')]=_0x16ea6d;if(_0x5b514c[_0x136d('0x32')]['includeAll']){_0x237363[_0x136d('0x3f')]=[{'all':!![]}];}return db[_0x136d('0x2b')][_0x136d('0x40')](_0x237363);})['then'](function(_0x5f2dbe){_0x10bb1b[_0x136d('0x41')]=_0x5f2dbe;return _0x10bb1b;})['then'](respondWithFilteredResult(_0x336615,_0x237363))['catch'](handleError(_0x336615,null));};exports[_0x136d('0x42')]=function(_0x4d124a,_0x23fb29){var _0x43a224={'raw':!![],'where':{'id':_0x4d124a['params']['id']}},_0x154dd3={};_0x154dd3[_0x136d('0x30')]=_['keys'](db[_0x136d('0x2b')]['rawAttributes']);_0x154dd3[_0x136d('0x32')]=_[_0x136d('0x31')](_0x4d124a[_0x136d('0x32')]);_0x154dd3['filters']=_[_0x136d('0x43')](_0x154dd3[_0x136d('0x30')],_0x154dd3[_0x136d('0x32')]);_0x43a224[_0x136d('0x34')]=_['intersection'](_0x154dd3[_0x136d('0x30')],qs[_0x136d('0x35')](_0x4d124a[_0x136d('0x32')][_0x136d('0x35')]));_0x43a224[_0x136d('0x34')]=_0x43a224[_0x136d('0x34')]['length']?_0x43a224['attributes']:_0x154dd3['model'];if(_0x4d124a[_0x136d('0x32')]['includeAll']){_0x43a224[_0x136d('0x3f')]=[{'all':!![]}];}_0x43a224=_[_0x136d('0x3d')]({},_0x43a224,_0x4d124a['options']);return db['ChatInternalMessage']['find'](_0x43a224)[_0x136d('0x23')](handleEntityNotFound(_0x23fb29,null))[_0x136d('0x23')](respondWithResult(_0x23fb29,null))[_0x136d('0x44')](handleError(_0x23fb29,null));};exports[_0x136d('0x45')]=function(_0xd80c9a,_0x2e41cf){return db[_0x136d('0x2b')][_0x136d('0x45')](_0xd80c9a[_0x136d('0x46')],{})[_0x136d('0x23')](respondWithResult(_0x2e41cf,0xc9))[_0x136d('0x44')](handleError(_0x2e41cf,null));};exports[_0x136d('0x47')]=function(_0x23aec9,_0x39dd48){if(_0x23aec9[_0x136d('0x46')]['id']){delete _0x23aec9[_0x136d('0x46')]['id'];}return db[_0x136d('0x2b')][_0x136d('0x48')]({'where':{'id':_0x23aec9['params']['id']}})[_0x136d('0x23')](handleEntityNotFound(_0x39dd48,null))[_0x136d('0x23')](saveUpdates(_0x23aec9[_0x136d('0x46')],null))[_0x136d('0x23')](respondWithResult(_0x39dd48,null))[_0x136d('0x44')](handleError(_0x39dd48,null));};exports['destroy']=function(_0x470cb4,_0x31afc0){return db[_0x136d('0x2b')][_0x136d('0x48')]({'where':{'id':_0x470cb4[_0x136d('0x49')]['id']}})[_0x136d('0x23')](handleEntityNotFound(_0x31afc0,null))[_0x136d('0x23')](removeEntity(_0x31afc0,null))['catch'](handleError(_0x31afc0,null));};exports['describe']=function(_0x27b75f,_0x6c6813){return db[_0x136d('0x2b')][_0x136d('0x4a')]()[_0x136d('0x23')](respondWithResult(_0x6c6813,null))['catch'](handleError(_0x6c6813,null));};function wrapUser(_0x46120c){return function(_0x1360b5){var _0x3a04c3=_0x46120c[_0x136d('0x4b')]({'plain':!![]});_0x3a04c3[_0x136d('0x4c')]=[];if(_0x1360b5){_0x3a04c3[_0x136d('0x4d')]=_0x1360b5['createdAt'];_0x3a04c3['lastMessage']=_0x1360b5;}else{_0x3a04c3['lastMessageAt']=moment(0x0)[_0x136d('0x4e')](_0x136d('0x4f'));_0x3a04c3[_0x136d('0x50')]={};}return _0x3a04c3;};}exports[_0x136d('0x51')]=function(_0x54d38d,_0x346275,_0x4a9e04){var _0x4106ce=[];return db[_0x136d('0x52')]['findAll']({'where':{'role':[_0x136d('0x53'),_0x136d('0x54'),_0x136d('0x55')]},'attributes':['id',_0x136d('0x56'),_0x136d('0x27'),_0x136d('0x57'),_0x136d('0x58'),_0x136d('0x59'),_0x136d('0x5a'),_0x136d('0x5b'),_0x136d('0x5c'),_0x136d('0x5d')],'order':qs['sort'](_0x136d('0x5e')),'include':[{'model':db[_0x136d('0x5f')],'as':_0x136d('0x60'),'attributes':['id',_0x136d('0x27'),'type'],'through':{'attributes':[]}}]})[_0x136d('0x23')](function(_0x3de7e8){if(_0x3de7e8){var _0x42ce0e=_0x54d38d[_0x136d('0x55')][_0x136d('0x4b')]({'plain':!![]});if(!_0x42ce0e)throw new Error(_0x136d('0x61'));if(_0x42ce0e[_0x136d('0x57')]===_0x136d('0x55')){return db['UserProfileSection'][_0x136d('0x48')]({'where':{'name':_0x136d('0x62'),'userProfileId':_0x42ce0e[_0x136d('0x63')]},'raw':!![]})[_0x136d('0x23')](function(_0x2feb2a){if(_0x2feb2a){if(_0x2feb2a[_0x136d('0x64')]===0x0){return db[_0x136d('0x65')][_0x136d('0x40')]({'where':{'sectionId':_0x2feb2a['id']},'raw':!![]})[_0x136d('0x23')](function(_0x52cddb){var _0x4c22c6=[];if(_[_0x136d('0x66')](_0x52cddb)){_0x4c22c6=_[_0x136d('0x3b')](_0x3de7e8,function(_0x39568c){if(_0x39568c[_0x136d('0x57')]!==_0x136d('0x53')){return _0x39568c;}});return _0x4c22c6;}else{for(var _0x1e00e6=0x0;_0x1e00e6<_0x3de7e8[_0x136d('0x36')];_0x1e00e6++){var _0x56d079=_0x3de7e8[_0x1e00e6];if(_0x56d079[_0x136d('0x57')]===_0x136d('0x53')){var _0x29f055=_[_0x136d('0x48')](_0x52cddb,function(_0x4a5fe1){return _0x4a5fe1[_0x136d('0x67')]===_0x56d079['id'];});if(_0x29f055)_0x4c22c6[_0x136d('0x68')](_0x56d079);}else{_0x4c22c6['push'](_0x56d079);}}return _0x4c22c6;}});}else{return _0x3de7e8;}}else{var _0x133ed6=_[_0x136d('0x3b')](_0x3de7e8,function(_0x5255b4){if(_0x5255b4[_0x136d('0x57')]!==_0x136d('0x53')){return _0x5255b4;}});return _0x133ed6;}});}else{return _0x3de7e8;}}})[_0x136d('0x23')](function(_0x41ad6b){var _0x2e1c72=[];if(_0x41ad6b){_0x4106ce=_0x41ad6b;for(var _0x5ba208=0x0;_0x5ba208<_0x41ad6b[_0x136d('0x36')];_0x5ba208+=0x1){_0x4106ce[_0x5ba208][_0x136d('0x4c')]=[];_0x2e1c72[_0x136d('0x68')](db['ChatInternalMessage']['find']({'where':{'FromId':[_0x54d38d[_0x136d('0x55')]['id'],_0x41ad6b[_0x5ba208]['id']],'ToId':[_0x54d38d['user']['id'],_0x41ad6b[_0x5ba208]['id']],'ChatGroupId':null},'attributes':['id',_0x136d('0x69'),'FromId',_0x136d('0x6a'),'read',_0x136d('0x46')],'order':qs[_0x136d('0x39')](_0x136d('0x6b')),'limit':0x1,'offset':0x0,'raw':!![]})['then'](wrapUser(_0x41ad6b[_0x5ba208])));}return BPromise[_0x136d('0x6c')](_0x2e1c72);}return[];})[_0x136d('0x23')](function(_0x27d2d7){return{'rows':_0x27d2d7,'count':_0x27d2d7[_0x136d('0x36')]};})['then'](respondWithResult(_0x346275,null))[_0x136d('0x44')](handleError(_0x346275,null));};