Built motion from commit (unavailable).|2.4.19
[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 _0x2871=['VoiceQueue','VoiceQueues','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Agents','autoAssociation','UserProfileResource','isEmpty','push','messages','read','-createdAt','all','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInternalMessage.socket','register','sendStatus','status','end','json','count','offset','Content-Range','apply','save','update','then','destroy','error','name','index','fieldName','type','key','map','keys','query','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','ChatInternalMessage','includeAll','findAll','rows','show','params','rawAttributes','include','find','catch','create','body','describe','get','lastMessageAt','createdAt','lastMessage','YYYY-MM-DD\x20HH:mm:ss','getUsers','agent','admin','fullname','role','userpic','internal','lastLoginAt','allowmessenger','showWebBar','-online'];(function(_0x1cc961,_0x2c42ee){var _0x471d86=function(_0x44e422){while(--_0x44e422){_0x1cc961['push'](_0x1cc961['shift']());}};_0x471d86(++_0x2c42ee);}(_0x2871,0xeb));var _0x1287=function(_0x225d6f,_0x1190cc){_0x225d6f=_0x225d6f-0x0;var _0x398608=_0x2871[_0x225d6f];return _0x398608;};'use strict';var pdf=require(_0x1287('0x0'));var emlformat=require(_0x1287('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x1287('0x2'));var jsonpatch=require(_0x1287('0x3'));var rp=require(_0x1287('0x4'));var moment=require(_0x1287('0x5'));var BPromise=require(_0x1287('0x6'));var Mustache=require(_0x1287('0x7'));var util=require(_0x1287('0x8'));var path=require(_0x1287('0x9'));var sox=require(_0x1287('0xa'));var csv=require(_0x1287('0xb'));var ejs=require(_0x1287('0xc'));var fs=require('fs');var _=require(_0x1287('0xd'));var squel=require('squel');var crypto=require(_0x1287('0xe'));var jsforce=require(_0x1287('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x1287('0xb'));var querystring=require(_0x1287('0x10'));var Papa=require(_0x1287('0x11'));var Redis=require(_0x1287('0x12'));var authService=require(_0x1287('0x13'));var qs=require(_0x1287('0x14'));var as=require(_0x1287('0x15'));var hardwareService=require(_0x1287('0x16'));var logger=require(_0x1287('0x17'))(_0x1287('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x1287('0x19'))['db'];config[_0x1287('0x1a')]=_[_0x1287('0x1b')](config[_0x1287('0x1a')],{'host':_0x1287('0x1c'),'port':0x18eb});var socket=require(_0x1287('0x1d'))(new Redis(config[_0x1287('0x1a')]));require(_0x1287('0x1e'))[_0x1287('0x1f')](socket);function respondWithStatusCode(_0x2f38f1,_0x197743){_0x197743=_0x197743||0xcc;return function(_0x1e03ca){if(_0x1e03ca){return _0x2f38f1[_0x1287('0x20')](_0x197743);}return _0x2f38f1[_0x1287('0x21')](_0x197743)[_0x1287('0x22')]();};}function respondWithResult(_0x486ea3,_0x8be356){_0x8be356=_0x8be356||0xc8;return function(_0x168ca8){if(_0x168ca8){return _0x486ea3[_0x1287('0x21')](_0x8be356)[_0x1287('0x23')](_0x168ca8);}};}function respondWithFilteredResult(_0x23b003,_0xf7800){return function(_0x104068){if(_0x104068){var _0x26cc76=_0x104068[_0x1287('0x24')],_0x24ba20=_0xf7800[_0x1287('0x25')],_0x349857=_0xf7800[_0x1287('0x25')]+_0xf7800['limit'],_0x1de4bd;if(_0x349857>=_0x26cc76){_0x349857=_0x26cc76;_0x1de4bd=0xc8;}else{_0x1de4bd=0xce;}_0x23b003[_0x1287('0x21')](_0x1de4bd);return _0x23b003['set'](_0x1287('0x26'),_0x24ba20+'-'+_0x349857+'/'+_0x26cc76)[_0x1287('0x23')](_0x104068);}return null;};}function patchUpdates(_0x6084cc){return function(_0x3205ae){try{jsonpatch[_0x1287('0x27')](_0x3205ae,_0x6084cc,!![]);}catch(_0x29e641){return BPromise['reject'](_0x29e641);}return _0x3205ae[_0x1287('0x28')]();};}function saveUpdates(_0x518d4e,_0x2c935f){return function(_0x58e069){if(_0x58e069){return _0x58e069[_0x1287('0x29')](_0x518d4e)[_0x1287('0x2a')](function(_0x474be0){return _0x474be0;});}return null;};}function removeEntity(_0x4bedd8,_0xea3e44){return function(_0x401cfa){if(_0x401cfa){return _0x401cfa[_0x1287('0x2b')]()[_0x1287('0x2a')](function(){_0x4bedd8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x10a0f2,_0x5eda1b){return function(_0x4f7695){if(!_0x4f7695){_0x10a0f2[_0x1287('0x20')](0x194);}return _0x4f7695;};}function handleError(_0x3eb390,_0x191807){_0x191807=_0x191807||0x1f4;return function(_0x3e1bf0){logger[_0x1287('0x2c')](_0x3e1bf0['stack']);if(_0x3e1bf0[_0x1287('0x2d')]){delete _0x3e1bf0['name'];}_0x3eb390[_0x1287('0x21')](_0x191807)['send'](_0x3e1bf0);};}exports[_0x1287('0x2e')]=function(_0x50da2f,_0x234701){var _0x5b3e89={},_0x559065={},_0x1b20ca={'count':0x0,'rows':[]};var _0x2d39df=_['map'](db['ChatInternalMessage']['rawAttributes'],function(_0x4caa4b){return{'name':_0x4caa4b[_0x1287('0x2f')],'type':_0x4caa4b[_0x1287('0x30')][_0x1287('0x31')]};});_0x559065['model']=_[_0x1287('0x32')](_0x2d39df,'name');_0x559065['query']=_[_0x1287('0x33')](_0x50da2f[_0x1287('0x34')]);_0x559065[_0x1287('0x35')]=_['intersection'](_0x559065['model'],_0x559065['query']);_0x5b3e89[_0x1287('0x36')]=_[_0x1287('0x37')](_0x559065[_0x1287('0x38')],qs[_0x1287('0x39')](_0x50da2f[_0x1287('0x34')][_0x1287('0x39')]));_0x5b3e89[_0x1287('0x36')]=_0x5b3e89['attributes'][_0x1287('0x3a')]?_0x5b3e89[_0x1287('0x36')]:_0x559065[_0x1287('0x38')];if(!_0x50da2f[_0x1287('0x34')][_0x1287('0x3b')](_0x1287('0x3c'))){_0x5b3e89[_0x1287('0x3d')]=qs[_0x1287('0x3d')](_0x50da2f[_0x1287('0x34')][_0x1287('0x3d')]);_0x5b3e89[_0x1287('0x25')]=qs['offset'](_0x50da2f[_0x1287('0x34')][_0x1287('0x25')]);}_0x5b3e89[_0x1287('0x3e')]=qs[_0x1287('0x3f')](_0x50da2f[_0x1287('0x34')]['sort']);_0x5b3e89[_0x1287('0x40')]=qs[_0x1287('0x35')](_['pick'](_0x50da2f[_0x1287('0x34')],_0x559065[_0x1287('0x35')]));if(_0x50da2f[_0x1287('0x34')][_0x1287('0x41')]){_0x5b3e89['where']=_[_0x1287('0x42')](_0x5b3e89['where'],{'$or':_[_0x1287('0x32')](_0x2d39df,function(_0x17a294){if(_0x17a294[_0x1287('0x30')]!==_0x1287('0x43')){var _0x5d2794={};_0x5d2794[_0x17a294['name']]={'$like':'%'+_0x50da2f['query'][_0x1287('0x41')]+'%'};return _0x5d2794;}})});}_0x5b3e89=_[_0x1287('0x42')]({},_0x5b3e89,_0x50da2f[_0x1287('0x44')]);var _0x249909={'where':_0x5b3e89[_0x1287('0x40')]};return db[_0x1287('0x45')][_0x1287('0x24')](_0x249909)['then'](function(_0x521d1f){_0x1b20ca[_0x1287('0x24')]=_0x521d1f;if(_0x50da2f['query'][_0x1287('0x46')]){_0x5b3e89['include']=[{'all':!![]}];}return db[_0x1287('0x45')][_0x1287('0x47')](_0x5b3e89);})[_0x1287('0x2a')](function(_0x19da2f){_0x1b20ca[_0x1287('0x48')]=_0x19da2f;return _0x1b20ca;})['then'](respondWithFilteredResult(_0x234701,_0x5b3e89))['catch'](handleError(_0x234701,null));};exports[_0x1287('0x49')]=function(_0xd1fb41,_0x7efd88){var _0x5e9f95={'raw':!![],'where':{'id':_0xd1fb41[_0x1287('0x4a')]['id']}},_0x450581={};_0x450581[_0x1287('0x38')]=_[_0x1287('0x33')](db['ChatInternalMessage'][_0x1287('0x4b')]);_0x450581['query']=_[_0x1287('0x33')](_0xd1fb41[_0x1287('0x34')]);_0x450581[_0x1287('0x35')]=_[_0x1287('0x37')](_0x450581[_0x1287('0x38')],_0x450581[_0x1287('0x34')]);_0x5e9f95[_0x1287('0x36')]=_[_0x1287('0x37')](_0x450581[_0x1287('0x38')],qs[_0x1287('0x39')](_0xd1fb41[_0x1287('0x34')][_0x1287('0x39')]));_0x5e9f95['attributes']=_0x5e9f95[_0x1287('0x36')][_0x1287('0x3a')]?_0x5e9f95[_0x1287('0x36')]:_0x450581[_0x1287('0x38')];if(_0xd1fb41['query']['includeAll']){_0x5e9f95[_0x1287('0x4c')]=[{'all':!![]}];}_0x5e9f95=_[_0x1287('0x42')]({},_0x5e9f95,_0xd1fb41[_0x1287('0x44')]);return db['ChatInternalMessage'][_0x1287('0x4d')](_0x5e9f95)[_0x1287('0x2a')](handleEntityNotFound(_0x7efd88,null))[_0x1287('0x2a')](respondWithResult(_0x7efd88,null))[_0x1287('0x4e')](handleError(_0x7efd88,null));};exports[_0x1287('0x4f')]=function(_0x25fa00,_0x340bb1){return db[_0x1287('0x45')]['create'](_0x25fa00['body'],{})[_0x1287('0x2a')](respondWithResult(_0x340bb1,0xc9))[_0x1287('0x4e')](handleError(_0x340bb1,null));};exports[_0x1287('0x29')]=function(_0x42b15c,_0x4d6022){if(_0x42b15c['body']['id']){delete _0x42b15c[_0x1287('0x50')]['id'];}return db[_0x1287('0x45')][_0x1287('0x4d')]({'where':{'id':_0x42b15c[_0x1287('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4d6022,null))['then'](saveUpdates(_0x42b15c['body'],null))['then'](respondWithResult(_0x4d6022,null))[_0x1287('0x4e')](handleError(_0x4d6022,null));};exports[_0x1287('0x2b')]=function(_0x400883,_0x4ce102){return db[_0x1287('0x45')]['find']({'where':{'id':_0x400883[_0x1287('0x4a')]['id']}})[_0x1287('0x2a')](handleEntityNotFound(_0x4ce102,null))[_0x1287('0x2a')](removeEntity(_0x4ce102,null))[_0x1287('0x4e')](handleError(_0x4ce102,null));};exports[_0x1287('0x51')]=function(_0x1d47f5,_0x50f9f2){return db[_0x1287('0x45')][_0x1287('0x51')]()[_0x1287('0x2a')](respondWithResult(_0x50f9f2,null))[_0x1287('0x4e')](handleError(_0x50f9f2,null));};function wrapUser(_0x1329bc){return function(_0x41fbd3){var _0x15843d=_0x1329bc[_0x1287('0x52')]({'plain':!![]});_0x15843d['messages']=[];if(_0x41fbd3){_0x15843d[_0x1287('0x53')]=_0x41fbd3[_0x1287('0x54')];_0x15843d[_0x1287('0x55')]=_0x41fbd3;}else{_0x15843d[_0x1287('0x53')]=moment(0x0)['format'](_0x1287('0x56'));_0x15843d[_0x1287('0x55')]={};}return _0x15843d;};}exports[_0x1287('0x57')]=function(_0x200349,_0x2df307,_0x40104e){var _0x5007d3=[];return db['User']['findAll']({'where':{'role':[_0x1287('0x58'),_0x1287('0x59'),'user']},'attributes':['id',_0x1287('0x5a'),_0x1287('0x2d'),_0x1287('0x5b'),_0x1287('0x5c'),_0x1287('0x5d'),'online',_0x1287('0x5e'),_0x1287('0x5f'),_0x1287('0x60')],'order':qs[_0x1287('0x3f')](_0x1287('0x61')),'include':[{'model':db[_0x1287('0x62')],'as':_0x1287('0x63'),'attributes':['id',_0x1287('0x2d'),'type'],'through':{'attributes':[]}}]})[_0x1287('0x2a')](function(_0x2f0807){if(_0x2f0807){var _0x56c036=_0x200349[_0x1287('0x64')][_0x1287('0x52')]({'plain':!![]});if(!_0x56c036)throw new Error(_0x1287('0x65'));if(_0x56c036[_0x1287('0x5b')]===_0x1287('0x64')){return db['UserProfileSection']['find']({'where':{'name':_0x1287('0x66'),'userProfileId':_0x56c036['userProfileId']},'raw':!![]})['then'](function(_0x6a8dfe){if(_0x6a8dfe){if(_0x6a8dfe[_0x1287('0x67')]===0x0){return db[_0x1287('0x68')][_0x1287('0x47')]({'where':{'sectionId':_0x6a8dfe['id']},'raw':!![]})[_0x1287('0x2a')](function(_0x1abb52){var _0x3915be=[];if(_[_0x1287('0x69')](_0x1abb52)){_0x3915be=_['filter'](_0x2f0807,function(_0x53c2a5){if(_0x53c2a5[_0x1287('0x5b')]!==_0x1287('0x58')){return _0x53c2a5;}});return _0x3915be;}else{for(var _0x104c76=0x0;_0x104c76<_0x2f0807['length'];_0x104c76++){var _0x3fe075=_0x2f0807[_0x104c76];if(_0x3fe075['role']===_0x1287('0x58')){var _0x49aa46=_['find'](_0x1abb52,function(_0x47f0d8){return _0x47f0d8['resourceId']===_0x3fe075['id'];});if(_0x49aa46)_0x3915be[_0x1287('0x6a')](_0x3fe075);}else{_0x3915be[_0x1287('0x6a')](_0x3fe075);}}return _0x3915be;}});}else{return _0x2f0807;}}else{var _0x3e7c6b=_[_0x1287('0x41')](_0x2f0807,function(_0x3912bc){if(_0x3912bc[_0x1287('0x5b')]!==_0x1287('0x58')){return _0x3912bc;}});return _0x3e7c6b;}});}else{return _0x2f0807;}}})['then'](function(_0x164641){var _0x103916=[];if(_0x164641){_0x5007d3=_0x164641;for(var _0x399fd9=0x0;_0x399fd9<_0x164641[_0x1287('0x3a')];_0x399fd9+=0x1){_0x5007d3[_0x399fd9][_0x1287('0x6b')]=[];_0x103916[_0x1287('0x6a')](db[_0x1287('0x45')][_0x1287('0x4d')]({'where':{'FromId':[_0x200349[_0x1287('0x64')]['id'],_0x164641[_0x399fd9]['id']],'ToId':[_0x200349[_0x1287('0x64')]['id'],_0x164641[_0x399fd9]['id']],'ChatGroupId':null},'attributes':['id','createdAt','FromId','ToId',_0x1287('0x6c'),_0x1287('0x50')],'order':qs[_0x1287('0x3f')](_0x1287('0x6d')),'limit':0x1,'offset':0x0,'raw':!![]})['then'](wrapUser(_0x164641[_0x399fd9])));}return BPromise[_0x1287('0x6e')](_0x103916);}return[];})[_0x1287('0x2a')](function(_0x5dae17){return{'rows':_0x5dae17,'count':_0x5dae17[_0x1287('0x3a')]};})['then'](respondWithResult(_0x2df307,null))[_0x1287('0x4e')](handleError(_0x2df307,null));};