Built motion from commit (unavailable).|2.2.0
[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 _0x69be=['findAll','show','params','fields','includeAll','include','create','body','find','catch','describe','get','messages','lastMessageAt','createdAt','lastMessage','format','YYYY-MM-DD\x20HH:mm:ss','getUsers','User','user','fullname','role','userpic','internal','lastLoginAt','allowmessenger','showWebBar','sort','VoiceQueue','VoiceQueues','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','isEmpty','filter','agent','resourceId','push','FromId','ToId','read','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/logger','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./chatInternalMessage.socket','register','sendStatus','json','count','offset','limit','status','set','Content-Range','apply','reject','save','update','destroy','then','end','error','stack','name','index','ChatInternalMessage','rawAttributes','keys','query','dateStart','dateEnd','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','order','where','add','day','merge','map','key','field','options'];(function(_0x4f053d,_0x50c38c){var _0x377963=function(_0x23bf0d){while(--_0x23bf0d){_0x4f053d['push'](_0x4f053d['shift']());}};_0x377963(++_0x50c38c);}(_0x69be,0x1e6));var _0xe69b=function(_0x33ab5e,_0x1a2401){_0x33ab5e=_0x33ab5e-0x0;var _0x41d39a=_0x69be[_0x33ab5e];return _0x41d39a;};'use strict';var pdf=require(_0xe69b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xe69b('0x1'));var zipdir=require(_0xe69b('0x2'));var jsonpatch=require(_0xe69b('0x3'));var rp=require(_0xe69b('0x4'));var moment=require(_0xe69b('0x5'));var BPromise=require(_0xe69b('0x6'));var Mustache=require(_0xe69b('0x7'));var util=require(_0xe69b('0x8'));var path=require(_0xe69b('0x9'));var sox=require(_0xe69b('0xa'));var csv=require('to-csv');var ejs=require(_0xe69b('0xb'));var fs=require('fs');var _=require(_0xe69b('0xc'));var squel=require(_0xe69b('0xd'));var crypto=require(_0xe69b('0xe'));var jsforce=require(_0xe69b('0xf'));var deskjs=require(_0xe69b('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xe69b('0x11'));var Redis=require(_0xe69b('0x12'));var qs=require(_0xe69b('0x13'));var logger=require(_0xe69b('0x14'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xe69b('0x15'))['db'];config['redis']=_[_0xe69b('0x16')](config[_0xe69b('0x17')],{'host':_0xe69b('0x18'),'port':0x18eb});var socket=require(_0xe69b('0x19'))(new Redis(config['redis']));require(_0xe69b('0x1a'))[_0xe69b('0x1b')](socket);function respondWithStatusCode(_0x123611,_0x1753cc){_0x1753cc=_0x1753cc||0xcc;return function(_0x5c1881){if(_0x5c1881){return _0x123611[_0xe69b('0x1c')](_0x1753cc);}return _0x123611['status'](_0x1753cc)['end']();};}function respondWithResult(_0x77a81e,_0x160f63){_0x160f63=_0x160f63||0xc8;return function(_0x2dffa2){if(_0x2dffa2){return _0x77a81e['status'](_0x160f63)[_0xe69b('0x1d')](_0x2dffa2);}};}function respondWithFilteredResult(_0x1c3e2e,_0x1d3c0c){return function(_0x451b54){if(_0x451b54){var _0x13758f=_0x451b54[_0xe69b('0x1e')],_0x276646=_0x1d3c0c['offset'],_0x40cec8=_0x1d3c0c[_0xe69b('0x1f')]+_0x1d3c0c[_0xe69b('0x20')],_0x56fb4f;if(_0x40cec8>=_0x13758f){_0x40cec8=_0x13758f;_0x56fb4f=0xc8;}else{_0x56fb4f=0xce;}_0x1c3e2e[_0xe69b('0x21')](_0x56fb4f);return _0x1c3e2e[_0xe69b('0x22')](_0xe69b('0x23'),_0x276646+'-'+_0x40cec8+'/'+_0x13758f)[_0xe69b('0x1d')](_0x451b54);}return null;};}function patchUpdates(_0x366f98){return function(_0xd0f85a){try{jsonpatch[_0xe69b('0x24')](_0xd0f85a,_0x366f98,!![]);}catch(_0x2d1036){return BPromise[_0xe69b('0x25')](_0x2d1036);}return _0xd0f85a[_0xe69b('0x26')]();};}function saveUpdates(_0x21f848,_0x15a78d){return function(_0x4c8774){if(_0x4c8774){return _0x4c8774[_0xe69b('0x27')](_0x21f848)['then'](function(_0x2b93fa){return _0x2b93fa;});}return null;};}function removeEntity(_0x209f8d,_0x5b5807){return function(_0x51b88d){if(_0x51b88d){return _0x51b88d[_0xe69b('0x28')]()[_0xe69b('0x29')](function(){_0x209f8d[_0xe69b('0x21')](0xcc)[_0xe69b('0x2a')]();});}};}function handleEntityNotFound(_0x3653aa,_0x16d1b7){return function(_0x3c0520){if(!_0x3c0520){_0x3653aa['sendStatus'](0x194);}return _0x3c0520;};}function handleError(_0xbfa961,_0x2f3a5c){_0x2f3a5c=_0x2f3a5c||0x1f4;return function(_0x21958c){logger[_0xe69b('0x2b')](_0x21958c[_0xe69b('0x2c')]);if(_0x21958c[_0xe69b('0x2d')]){delete _0x21958c[_0xe69b('0x2d')];}_0xbfa961[_0xe69b('0x21')](_0x2f3a5c)['send'](_0x21958c);};}exports[_0xe69b('0x2e')]=function(_0x134801,_0x521c05){var _0x550005={},_0x3f1c10={},_0x55c8cf={'count':0x0,'rows':[]};var _0x2e18b0=db[_0xe69b('0x2f')][_0xe69b('0x30')];_0x3f1c10['model']=_[_0xe69b('0x31')](_0x2e18b0);var _0x419112={'dateStart':_0x134801[_0xe69b('0x32')][_0xe69b('0x33')],'dateEnd':_0x134801[_0xe69b('0x32')][_0xe69b('0x34')]};delete _0x134801[_0xe69b('0x32')][_0xe69b('0x33')];delete _0x134801[_0xe69b('0x32')][_0xe69b('0x34')];_0x3f1c10[_0xe69b('0x32')]=_[_0xe69b('0x31')](_0x134801['query']);_0x3f1c10[_0xe69b('0x35')]=_[_0xe69b('0x36')](_0x3f1c10[_0xe69b('0x37')],_0x3f1c10['query']);_0x550005[_0xe69b('0x38')]=_[_0xe69b('0x36')](_0x3f1c10[_0xe69b('0x37')],qs['fields'](_0x134801['query']['fields']));_0x550005[_0xe69b('0x38')]=_0x550005[_0xe69b('0x38')][_0xe69b('0x39')]?_0x550005[_0xe69b('0x38')]:_0x3f1c10[_0xe69b('0x37')];if(!_0x134801[_0xe69b('0x32')][_0xe69b('0x3a')](_0xe69b('0x3b'))){_0x550005[_0xe69b('0x20')]=qs[_0xe69b('0x20')](_0x134801[_0xe69b('0x32')][_0xe69b('0x20')]);_0x550005[_0xe69b('0x1f')]=qs[_0xe69b('0x1f')](_0x134801[_0xe69b('0x32')][_0xe69b('0x1f')]);}_0x550005[_0xe69b('0x3c')]=qs['sort'](_0x134801[_0xe69b('0x32')]['sort']);_0x550005[_0xe69b('0x3d')]=qs[_0xe69b('0x35')](_['pick'](_0x134801['query'],_0x3f1c10[_0xe69b('0x35')]));if(_0x419112[_0xe69b('0x33')]){if(_0x419112[_0xe69b('0x34')]){_0x419112[_0xe69b('0x34')]=moment(_0x419112[_0xe69b('0x34')])[_0xe69b('0x3e')](0x1,'day');}else{_0x419112[_0xe69b('0x34')]=moment(_0x419112[_0xe69b('0x33')])[_0xe69b('0x3e')](0x1,_0xe69b('0x3f'));}_[_0xe69b('0x40')](_0x550005[_0xe69b('0x3d')],{'createdAt':{'$gte':_0x419112[_0xe69b('0x33')],'$lte':_0x419112[_0xe69b('0x34')]}});}if(_0x134801[_0xe69b('0x32')]['filter']){_0x550005['where']=_[_0xe69b('0x40')](_0x550005['where'],{'$or':_[_0xe69b('0x41')](_0x2e18b0,function(_0x38ad5d){if(_0x38ad5d['type'][_0xe69b('0x42')]!=='VIRTUAL'){var _0x1ae869={};_0x1ae869[_0x38ad5d[_0xe69b('0x43')]]={'$like':'%'+_0x134801[_0xe69b('0x32')]['filter']+'%'};return _0x1ae869;}})});}_0x550005=_[_0xe69b('0x40')]({},_0x550005,_0x134801[_0xe69b('0x44')]);var _0x39e95b={'where':_0x550005['where']};return db[_0xe69b('0x2f')][_0xe69b('0x1e')](_0x39e95b)[_0xe69b('0x29')](function(_0x304a17){_0x55c8cf[_0xe69b('0x1e')]=_0x304a17;if(_0x134801[_0xe69b('0x32')]['includeAll']){_0x550005['include']=[{'all':!![]}];}return db[_0xe69b('0x2f')][_0xe69b('0x45')](_0x550005);})[_0xe69b('0x29')](function(_0x50ff46){_0x55c8cf['rows']=_0x50ff46;return _0x55c8cf;})[_0xe69b('0x29')](respondWithFilteredResult(_0x521c05,_0x550005))['catch'](handleError(_0x521c05,null));};exports[_0xe69b('0x46')]=function(_0x30b60e,_0xd71d7c){var _0x5b5618={'raw':!![],'where':{'id':_0x30b60e[_0xe69b('0x47')]['id']}},_0x163acd={};_0x163acd[_0xe69b('0x37')]=_[_0xe69b('0x31')](db[_0xe69b('0x2f')]['rawAttributes']);_0x163acd[_0xe69b('0x32')]=_[_0xe69b('0x31')](_0x30b60e['query']);_0x163acd[_0xe69b('0x35')]=_[_0xe69b('0x36')](_0x163acd['model'],_0x163acd[_0xe69b('0x32')]);_0x5b5618[_0xe69b('0x38')]=_[_0xe69b('0x36')](_0x163acd[_0xe69b('0x37')],qs['fields'](_0x30b60e[_0xe69b('0x32')][_0xe69b('0x48')]));_0x5b5618[_0xe69b('0x38')]=_0x5b5618[_0xe69b('0x38')]['length']?_0x5b5618[_0xe69b('0x38')]:_0x163acd[_0xe69b('0x37')];if(_0x30b60e[_0xe69b('0x32')][_0xe69b('0x49')]){_0x5b5618[_0xe69b('0x4a')]=[{'all':!![]}];}_0x5b5618=_['merge']({},_0x5b5618,_0x30b60e[_0xe69b('0x44')]);return db[_0xe69b('0x2f')]['find'](_0x5b5618)[_0xe69b('0x29')](handleEntityNotFound(_0xd71d7c,null))[_0xe69b('0x29')](respondWithResult(_0xd71d7c,null))['catch'](handleError(_0xd71d7c,null));};exports['create']=function(_0x3788d8,_0x4a276e){return db[_0xe69b('0x2f')][_0xe69b('0x4b')](_0x3788d8[_0xe69b('0x4c')],{})[_0xe69b('0x29')](respondWithResult(_0x4a276e,0xc9))['catch'](handleError(_0x4a276e,null));};exports[_0xe69b('0x27')]=function(_0x39d763,_0x43f245){if(_0x39d763[_0xe69b('0x4c')]['id']){delete _0x39d763[_0xe69b('0x4c')]['id'];}return db['ChatInternalMessage'][_0xe69b('0x4d')]({'where':{'id':_0x39d763['params']['id']}})[_0xe69b('0x29')](handleEntityNotFound(_0x43f245,null))[_0xe69b('0x29')](saveUpdates(_0x39d763['body'],null))[_0xe69b('0x29')](respondWithResult(_0x43f245,null))[_0xe69b('0x4e')](handleError(_0x43f245,null));};exports['destroy']=function(_0x2a0c1d,_0x159512){return db[_0xe69b('0x2f')][_0xe69b('0x4d')]({'where':{'id':_0x2a0c1d['params']['id']}})[_0xe69b('0x29')](handleEntityNotFound(_0x159512,null))['then'](removeEntity(_0x159512,null))[_0xe69b('0x4e')](handleError(_0x159512,null));};exports[_0xe69b('0x4f')]=function(_0x3d71f2,_0x11c954){return db['ChatInternalMessage'][_0xe69b('0x4f')]()[_0xe69b('0x29')](respondWithResult(_0x11c954,null))[_0xe69b('0x4e')](handleError(_0x11c954,null));};function wrapUser(_0x49c6d7){return function(_0x32fa0c){var _0x3ff170=_0x49c6d7[_0xe69b('0x50')]({'plain':!![]});_0x3ff170[_0xe69b('0x51')]=[];if(_0x32fa0c){_0x3ff170[_0xe69b('0x52')]=_0x32fa0c[_0xe69b('0x53')];_0x3ff170[_0xe69b('0x54')]=_0x32fa0c;}else{_0x3ff170[_0xe69b('0x52')]=moment(0x0)[_0xe69b('0x55')](_0xe69b('0x56'));_0x3ff170[_0xe69b('0x54')]={};}return _0x3ff170;};}exports[_0xe69b('0x57')]=function(_0x26f5b4,_0x225008,_0x5dbdef){var _0x5287c2=[];return db[_0xe69b('0x58')]['findAll']({'where':{'role':['agent','admin',_0xe69b('0x59')]},'attributes':['id',_0xe69b('0x5a'),_0xe69b('0x2d'),_0xe69b('0x5b'),_0xe69b('0x5c'),_0xe69b('0x5d'),'online',_0xe69b('0x5e'),_0xe69b('0x5f'),_0xe69b('0x60')],'order':qs[_0xe69b('0x61')]('-online'),'include':[{'model':db[_0xe69b('0x62')],'as':_0xe69b('0x63'),'attributes':['id','name','type'],'through':{'attributes':[]}}]})[_0xe69b('0x29')](function(_0x8a85e5){if(_0x8a85e5){var _0x1b5dd3=_0x26f5b4[_0xe69b('0x59')][_0xe69b('0x50')]({'plain':!![]});if(!_0x1b5dd3)throw new Error(_0xe69b('0x64'));if(_0x1b5dd3[_0xe69b('0x5b')]===_0xe69b('0x59')){return db[_0xe69b('0x65')]['find']({'where':{'name':'Agents','userProfileId':_0x1b5dd3[_0xe69b('0x66')]},'raw':!![]})['then'](function(_0x35cd97){if(_0x35cd97){if(_0x35cd97['autoAssociation']===0x0){return db['UserProfileResource']['findAll']({'where':{'sectionId':_0x35cd97['id']},'raw':!![]})['then'](function(_0x3a6c2e){var _0x55c31f=[];if(_[_0xe69b('0x67')](_0x3a6c2e)){_0x55c31f=_[_0xe69b('0x68')](_0x8a85e5,function(_0x26bb52){if(_0x26bb52[_0xe69b('0x5b')]!=='agent'){return _0x26bb52;}});return _0x55c31f;}else{for(var _0x2434d6=0x0;_0x2434d6<_0x8a85e5['length'];_0x2434d6++){var _0x28217c=_0x8a85e5[_0x2434d6];if(_0x28217c[_0xe69b('0x5b')]===_0xe69b('0x69')){var _0x4c039c=_[_0xe69b('0x4d')](_0x3a6c2e,function(_0x4f794b){return _0x4f794b[_0xe69b('0x6a')]===_0x28217c['id'];});if(_0x4c039c)_0x55c31f[_0xe69b('0x6b')](_0x28217c);}else{_0x55c31f[_0xe69b('0x6b')](_0x28217c);}}return _0x55c31f;}});}else{return _0x8a85e5;}}else{var _0x2aa681=_[_0xe69b('0x68')](_0x8a85e5,function(_0x32898a){if(_0x32898a[_0xe69b('0x5b')]!==_0xe69b('0x69')){return _0x32898a;}});return _0x2aa681;}});}else{return _0x8a85e5;}}})['then'](function(_0x536f1b){var _0x4d17b6=[];if(_0x536f1b){_0x5287c2=_0x536f1b;for(var _0x49b624=0x0;_0x49b624<_0x536f1b[_0xe69b('0x39')];_0x49b624+=0x1){_0x5287c2[_0x49b624][_0xe69b('0x51')]=[];_0x4d17b6[_0xe69b('0x6b')](db[_0xe69b('0x2f')][_0xe69b('0x4d')]({'where':{'FromId':[_0x26f5b4['user']['id'],_0x536f1b[_0x49b624]['id']],'ToId':[_0x26f5b4[_0xe69b('0x59')]['id'],_0x536f1b[_0x49b624]['id']],'ChatGroupId':null},'attributes':['id',_0xe69b('0x53'),_0xe69b('0x6c'),_0xe69b('0x6d'),_0xe69b('0x6e'),_0xe69b('0x4c')],'order':qs[_0xe69b('0x61')]('-createdAt'),'limit':0x1,'offset':0x0,'raw':!![]})['then'](wrapUser(_0x536f1b[_0x49b624])));}return BPromise['all'](_0x4d17b6);}return[];})['then'](function(_0x240f5d){return{'rows':_0x240f5d,'count':_0x240f5d['length']};})[_0xe69b('0x29')](respondWithResult(_0x225008,null))['catch'](handleError(_0x225008,null));};