Built motion from commit (unavailable).|2.5.10
[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 _0x72f8=['rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','localhost','redis','./chatInternalMessage.socket','register','status','offset','limit','set','Content-Range','json','apply','update','then','destroy','end','stack','name','index','map','ChatInternalMessage','fieldName','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filters','filter','merge','type','VIRTUAL','count','include','findAll','rows','catch','show','rawAttributes','includeAll','options','find','create','body','params','describe','get','messages','lastMessageAt','createdAt','lastMessage','format','YYYY-MM-DD\x20HH:mm:ss','getUsers','User','agent','admin','fullname','userpic','online','allowmessenger','showWebBar','-online','VoiceQueue','VoiceQueues','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','Agents','userProfileId','UserProfileResource','isEmpty','length','resourceId','push','FromId','ToId','read','-createdAt','html-pdf','eml-format'];(function(_0x37c840,_0x5d052a){var _0x975c36=function(_0x4fc755){while(--_0x4fc755){_0x37c840['push'](_0x37c840['shift']());}};_0x975c36(++_0x5d052a);}(_0x72f8,0x6e));var _0x872f=function(_0x31a371,_0x50828e){_0x31a371=_0x31a371-0x0;var _0x2a5bd6=_0x72f8[_0x31a371];return _0x2a5bd6;};'use strict';var pdf=require(_0x872f('0x0'));var emlformat=require(_0x872f('0x1'));var rimraf=require(_0x872f('0x2'));var zipdir=require(_0x872f('0x3'));var jsonpatch=require(_0x872f('0x4'));var rp=require(_0x872f('0x5'));var moment=require('moment');var BPromise=require(_0x872f('0x6'));var Mustache=require(_0x872f('0x7'));var util=require(_0x872f('0x8'));var path=require(_0x872f('0x9'));var sox=require(_0x872f('0xa'));var csv=require(_0x872f('0xb'));var ejs=require(_0x872f('0xc'));var fs=require('fs');var _=require(_0x872f('0xd'));var squel=require('squel');var crypto=require(_0x872f('0xe'));var jsforce=require(_0x872f('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x872f('0xb'));var querystring=require(_0x872f('0x10'));var Papa=require(_0x872f('0x11'));var Redis=require('ioredis');var authService=require(_0x872f('0x12'));var qs=require(_0x872f('0x13'));var as=require(_0x872f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x872f('0x15'))(_0x872f('0x16'));var utils=require('../../config/utils');var config=require(_0x872f('0x17'));var licenseUtil=require(_0x872f('0x18'));var db=require(_0x872f('0x19'))['db'];config['redis']=_[_0x872f('0x1a')](config['redis'],{'host':_0x872f('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x872f('0x1c')]));require(_0x872f('0x1d'))[_0x872f('0x1e')](socket);function respondWithStatusCode(_0x143b71,_0x1ef7e7){_0x1ef7e7=_0x1ef7e7||0xcc;return function(_0x1d3fa3){if(_0x1d3fa3){return _0x143b71['sendStatus'](_0x1ef7e7);}return _0x143b71[_0x872f('0x1f')](_0x1ef7e7)['end']();};}function respondWithResult(_0x59d6ac,_0x38bc97){_0x38bc97=_0x38bc97||0xc8;return function(_0xd32485){if(_0xd32485){return _0x59d6ac[_0x872f('0x1f')](_0x38bc97)['json'](_0xd32485);}};}function respondWithFilteredResult(_0x3c5630,_0x24a64b){return function(_0x429b64){if(_0x429b64){var _0x32a95d=_0x429b64['count'],_0x2bf215=_0x24a64b['offset'],_0x754e87=_0x24a64b[_0x872f('0x20')]+_0x24a64b[_0x872f('0x21')],_0xb54956;if(_0x754e87>=_0x32a95d){_0x754e87=_0x32a95d;_0xb54956=0xc8;}else{_0xb54956=0xce;}_0x3c5630[_0x872f('0x1f')](_0xb54956);return _0x3c5630[_0x872f('0x22')](_0x872f('0x23'),_0x2bf215+'-'+_0x754e87+'/'+_0x32a95d)[_0x872f('0x24')](_0x429b64);}return null;};}function patchUpdates(_0x2f5da3){return function(_0x204805){try{jsonpatch[_0x872f('0x25')](_0x204805,_0x2f5da3,!![]);}catch(_0xe5f962){return BPromise['reject'](_0xe5f962);}return _0x204805['save']();};}function saveUpdates(_0x47a94a,_0x5689a9){return function(_0x2730c1){if(_0x2730c1){return _0x2730c1[_0x872f('0x26')](_0x47a94a)[_0x872f('0x27')](function(_0xac30a){return _0xac30a;});}return null;};}function removeEntity(_0xf19dcf,_0x47eac4){return function(_0x57336d){if(_0x57336d){return _0x57336d[_0x872f('0x28')]()[_0x872f('0x27')](function(){_0xf19dcf[_0x872f('0x1f')](0xcc)[_0x872f('0x29')]();});}};}function handleEntityNotFound(_0x13acf6,_0x4b93d0){return function(_0x16bc88){if(!_0x16bc88){_0x13acf6['sendStatus'](0x194);}return _0x16bc88;};}function handleError(_0x25f522,_0x923ddb){_0x923ddb=_0x923ddb||0x1f4;return function(_0x55b748){logger['error'](_0x55b748[_0x872f('0x2a')]);if(_0x55b748[_0x872f('0x2b')]){delete _0x55b748[_0x872f('0x2b')];}_0x25f522[_0x872f('0x1f')](_0x923ddb)['send'](_0x55b748);};}exports[_0x872f('0x2c')]=function(_0x5be159,_0x2ae593){var _0x12f1c0={},_0x11f110={},_0x5815b3={'count':0x0,'rows':[]};var _0x153816=_[_0x872f('0x2d')](db[_0x872f('0x2e')]['rawAttributes'],function(_0x2903b5){return{'name':_0x2903b5[_0x872f('0x2f')],'type':_0x2903b5['type'][_0x872f('0x30')]};});_0x11f110[_0x872f('0x31')]=_['map'](_0x153816,'name');_0x11f110[_0x872f('0x32')]=_[_0x872f('0x33')](_0x5be159[_0x872f('0x32')]);_0x11f110['filters']=_[_0x872f('0x34')](_0x11f110[_0x872f('0x31')],_0x11f110[_0x872f('0x32')]);_0x12f1c0[_0x872f('0x35')]=_['intersection'](_0x11f110[_0x872f('0x31')],qs['fields'](_0x5be159[_0x872f('0x32')][_0x872f('0x36')]));_0x12f1c0['attributes']=_0x12f1c0['attributes']['length']?_0x12f1c0[_0x872f('0x35')]:_0x11f110[_0x872f('0x31')];if(!_0x5be159['query'][_0x872f('0x37')](_0x872f('0x38'))){_0x12f1c0[_0x872f('0x21')]=qs['limit'](_0x5be159['query'][_0x872f('0x21')]);_0x12f1c0[_0x872f('0x20')]=qs['offset'](_0x5be159[_0x872f('0x32')][_0x872f('0x20')]);}_0x12f1c0['order']=qs[_0x872f('0x39')](_0x5be159[_0x872f('0x32')][_0x872f('0x39')]);_0x12f1c0[_0x872f('0x3a')]=qs[_0x872f('0x3b')](_['pick'](_0x5be159[_0x872f('0x32')],_0x11f110['filters']),_0x153816);if(_0x5be159[_0x872f('0x32')][_0x872f('0x3c')]){_0x12f1c0[_0x872f('0x3a')]=_[_0x872f('0x3d')](_0x12f1c0['where'],{'$or':_['map'](_0x153816,function(_0x167dfb){if(_0x167dfb[_0x872f('0x3e')]!==_0x872f('0x3f')){var _0x4967c5={};_0x4967c5[_0x167dfb[_0x872f('0x2b')]]={'$like':'%'+_0x5be159[_0x872f('0x32')][_0x872f('0x3c')]+'%'};return _0x4967c5;}})});}_0x12f1c0=_[_0x872f('0x3d')]({},_0x12f1c0,_0x5be159['options']);var _0x3caa55={'where':_0x12f1c0['where']};return db[_0x872f('0x2e')][_0x872f('0x40')](_0x3caa55)['then'](function(_0x3e32c7){_0x5815b3['count']=_0x3e32c7;if(_0x5be159[_0x872f('0x32')]['includeAll']){_0x12f1c0[_0x872f('0x41')]=[{'all':!![]}];}return db[_0x872f('0x2e')][_0x872f('0x42')](_0x12f1c0);})['then'](function(_0xe09a07){_0x5815b3[_0x872f('0x43')]=_0xe09a07;return _0x5815b3;})[_0x872f('0x27')](respondWithFilteredResult(_0x2ae593,_0x12f1c0))[_0x872f('0x44')](handleError(_0x2ae593,null));};exports[_0x872f('0x45')]=function(_0xab54ef,_0x2b75e3){var _0x32fb96={'raw':!![],'where':{'id':_0xab54ef['params']['id']}},_0x63cce={};_0x63cce[_0x872f('0x31')]=_[_0x872f('0x33')](db['ChatInternalMessage'][_0x872f('0x46')]);_0x63cce[_0x872f('0x32')]=_['keys'](_0xab54ef[_0x872f('0x32')]);_0x63cce['filters']=_[_0x872f('0x34')](_0x63cce[_0x872f('0x31')],_0x63cce['query']);_0x32fb96[_0x872f('0x35')]=_[_0x872f('0x34')](_0x63cce[_0x872f('0x31')],qs[_0x872f('0x36')](_0xab54ef['query'][_0x872f('0x36')]));_0x32fb96[_0x872f('0x35')]=_0x32fb96[_0x872f('0x35')]['length']?_0x32fb96[_0x872f('0x35')]:_0x63cce[_0x872f('0x31')];if(_0xab54ef[_0x872f('0x32')][_0x872f('0x47')]){_0x32fb96['include']=[{'all':!![]}];}_0x32fb96=_[_0x872f('0x3d')]({},_0x32fb96,_0xab54ef[_0x872f('0x48')]);return db[_0x872f('0x2e')][_0x872f('0x49')](_0x32fb96)['then'](handleEntityNotFound(_0x2b75e3,null))[_0x872f('0x27')](respondWithResult(_0x2b75e3,null))[_0x872f('0x44')](handleError(_0x2b75e3,null));};exports[_0x872f('0x4a')]=function(_0x56c052,_0x42e6ff){return db[_0x872f('0x2e')]['create'](_0x56c052[_0x872f('0x4b')],{})['then'](respondWithResult(_0x42e6ff,0xc9))[_0x872f('0x44')](handleError(_0x42e6ff,null));};exports['update']=function(_0x498c84,_0x3d168b){if(_0x498c84['body']['id']){delete _0x498c84[_0x872f('0x4b')]['id'];}return db[_0x872f('0x2e')][_0x872f('0x49')]({'where':{'id':_0x498c84[_0x872f('0x4c')]['id']}})[_0x872f('0x27')](handleEntityNotFound(_0x3d168b,null))['then'](saveUpdates(_0x498c84[_0x872f('0x4b')],null))[_0x872f('0x27')](respondWithResult(_0x3d168b,null))[_0x872f('0x44')](handleError(_0x3d168b,null));};exports['destroy']=function(_0xd76300,_0x332fa6){return db[_0x872f('0x2e')][_0x872f('0x49')]({'where':{'id':_0xd76300['params']['id']}})[_0x872f('0x27')](handleEntityNotFound(_0x332fa6,null))[_0x872f('0x27')](removeEntity(_0x332fa6,null))[_0x872f('0x44')](handleError(_0x332fa6,null));};exports[_0x872f('0x4d')]=function(_0x290f7a,_0x564a1a){return db[_0x872f('0x2e')][_0x872f('0x4d')]()[_0x872f('0x27')](respondWithResult(_0x564a1a,null))[_0x872f('0x44')](handleError(_0x564a1a,null));};function wrapUser(_0x1d5141){return function(_0x5189ab){var _0x1f911d=_0x1d5141[_0x872f('0x4e')]({'plain':!![]});_0x1f911d[_0x872f('0x4f')]=[];if(_0x5189ab){_0x1f911d[_0x872f('0x50')]=_0x5189ab[_0x872f('0x51')];_0x1f911d[_0x872f('0x52')]=_0x5189ab;}else{_0x1f911d[_0x872f('0x50')]=moment(0x0)[_0x872f('0x53')](_0x872f('0x54'));_0x1f911d[_0x872f('0x52')]={};}return _0x1f911d;};}exports[_0x872f('0x55')]=function(_0x500588,_0x1f2f24,_0x1a2bd4){var _0x25ff56=[];return db[_0x872f('0x56')][_0x872f('0x42')]({'where':{'role':[_0x872f('0x57'),_0x872f('0x58'),'user']},'attributes':['id',_0x872f('0x59'),_0x872f('0x2b'),'role',_0x872f('0x5a'),'internal',_0x872f('0x5b'),'lastLoginAt',_0x872f('0x5c'),_0x872f('0x5d')],'order':qs[_0x872f('0x39')](_0x872f('0x5e')),'include':[{'model':db[_0x872f('0x5f')],'as':_0x872f('0x60'),'attributes':['id',_0x872f('0x2b'),_0x872f('0x3e')],'through':{'attributes':[]}}]})[_0x872f('0x27')](function(_0x23f229){if(_0x23f229){var _0x146a14=_0x500588['user']['get']({'plain':!![]});if(!_0x146a14)throw new Error(_0x872f('0x61'));if(_0x146a14[_0x872f('0x62')]===_0x872f('0x63')){return db[_0x872f('0x64')][_0x872f('0x49')]({'where':{'name':_0x872f('0x65'),'userProfileId':_0x146a14[_0x872f('0x66')]},'raw':!![]})[_0x872f('0x27')](function(_0x323deb){if(_0x323deb){if(_0x323deb['autoAssociation']===0x0){return db[_0x872f('0x67')]['findAll']({'where':{'sectionId':_0x323deb['id']},'raw':!![]})[_0x872f('0x27')](function(_0x2655f2){var _0x3fef53=[];if(_[_0x872f('0x68')](_0x2655f2)){_0x3fef53=_[_0x872f('0x3c')](_0x23f229,function(_0x1e9475){if(_0x1e9475[_0x872f('0x62')]!==_0x872f('0x57')){return _0x1e9475;}});return _0x3fef53;}else{for(var _0x45fdcd=0x0;_0x45fdcd<_0x23f229[_0x872f('0x69')];_0x45fdcd++){var _0x144e5c=_0x23f229[_0x45fdcd];if(_0x144e5c['role']===_0x872f('0x57')){var _0x859fd5=_[_0x872f('0x49')](_0x2655f2,function(_0x435f62){return _0x435f62[_0x872f('0x6a')]===_0x144e5c['id'];});if(_0x859fd5)_0x3fef53[_0x872f('0x6b')](_0x144e5c);}else{_0x3fef53[_0x872f('0x6b')](_0x144e5c);}}return _0x3fef53;}});}else{return _0x23f229;}}else{var _0x3f537c=_[_0x872f('0x3c')](_0x23f229,function(_0x5521d4){if(_0x5521d4[_0x872f('0x62')]!==_0x872f('0x57')){return _0x5521d4;}});return _0x3f537c;}});}else{return _0x23f229;}}})[_0x872f('0x27')](function(_0x3ec0e6){var _0x96e46a=[];if(_0x3ec0e6){_0x25ff56=_0x3ec0e6;for(var _0x4f4843=0x0;_0x4f4843<_0x3ec0e6[_0x872f('0x69')];_0x4f4843+=0x1){_0x25ff56[_0x4f4843][_0x872f('0x4f')]=[];_0x96e46a[_0x872f('0x6b')](db[_0x872f('0x2e')]['find']({'where':{'FromId':[_0x500588[_0x872f('0x63')]['id'],_0x3ec0e6[_0x4f4843]['id']],'ToId':[_0x500588[_0x872f('0x63')]['id'],_0x3ec0e6[_0x4f4843]['id']],'ChatGroupId':null},'attributes':['id','createdAt',_0x872f('0x6c'),_0x872f('0x6d'),_0x872f('0x6e'),_0x872f('0x4b')],'order':qs[_0x872f('0x39')](_0x872f('0x6f')),'limit':0x1,'offset':0x0,'raw':!![]})[_0x872f('0x27')](wrapUser(_0x3ec0e6[_0x4f4843])));}return BPromise['all'](_0x96e46a);}return[];})[_0x872f('0x27')](function(_0xbb18aa){return{'rows':_0xbb18aa,'count':_0xbb18aa['length']};})['then'](respondWithResult(_0x1f2f24,null))[_0x872f('0x44')](handleError(_0x1f2f24,null));};