Built motion from commit (unavailable).|2.5.13
[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 _0x6bba=['order','sort','filters','filter','where','VIRTUAL','merge','options','includeAll','rows','show','params','include','find','catch','create','body','destroy','describe','get','messages','createdAt','lastMessage','lastMessageAt','format','getUsers','User','agent','admin','user','fullname','role','userpic','internal','lastLoginAt','allowmessenger','-online','VoiceQueue','VoiceQueues','type','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','Agents','UserProfileResource','findAll','isEmpty','resourceId','push','FromId','read','-createdAt','all','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','ejs','lodash','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./chatInternalMessage.socket','register','sendStatus','status','json','count','limit','set','Content-Range','apply','reject','save','update','then','end','error','name','send','index','ChatInternalMessage','rawAttributes','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','offset'];(function(_0x39a8db,_0x785d01){var _0x3dd247=function(_0x34fb4a){while(--_0x34fb4a){_0x39a8db['push'](_0x39a8db['shift']());}};_0x3dd247(++_0x785d01);}(_0x6bba,0x181));var _0xa6bb=function(_0x44745f,_0x432d7e){_0x44745f=_0x44745f-0x0;var _0xac7f24=_0x6bba[_0x44745f];return _0xac7f24;};'use strict';var pdf=require(_0xa6bb('0x0'));var emlformat=require(_0xa6bb('0x1'));var rimraf=require(_0xa6bb('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa6bb('0x3'));var rp=require(_0xa6bb('0x4'));var moment=require('moment');var BPromise=require(_0xa6bb('0x5'));var Mustache=require('mustache');var util=require(_0xa6bb('0x6'));var path=require(_0xa6bb('0x7'));var sox=require(_0xa6bb('0x8'));var csv=require('to-csv');var ejs=require(_0xa6bb('0x9'));var fs=require('fs');var _=require(_0xa6bb('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa6bb('0xb'));var deskjs=require(_0xa6bb('0xc'));var toCsv=require(_0xa6bb('0xd'));var querystring=require(_0xa6bb('0xe'));var Papa=require(_0xa6bb('0xf'));var Redis=require(_0xa6bb('0x10'));var authService=require(_0xa6bb('0x11'));var qs=require(_0xa6bb('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa6bb('0x13'))(_0xa6bb('0x14'));var utils=require(_0xa6bb('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xa6bb('0x16'));var db=require(_0xa6bb('0x17'))['db'];config[_0xa6bb('0x18')]=_[_0xa6bb('0x19')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xa6bb('0x1a'))(new Redis(config[_0xa6bb('0x18')]));require(_0xa6bb('0x1b'))[_0xa6bb('0x1c')](socket);function respondWithStatusCode(_0x585834,_0x3c942d){_0x3c942d=_0x3c942d||0xcc;return function(_0x1cda11){if(_0x1cda11){return _0x585834[_0xa6bb('0x1d')](_0x3c942d);}return _0x585834[_0xa6bb('0x1e')](_0x3c942d)['end']();};}function respondWithResult(_0x435ea4,_0x30fdf3){_0x30fdf3=_0x30fdf3||0xc8;return function(_0x34ab50){if(_0x34ab50){return _0x435ea4[_0xa6bb('0x1e')](_0x30fdf3)[_0xa6bb('0x1f')](_0x34ab50);}};}function respondWithFilteredResult(_0x35c978,_0x9253f6){return function(_0x579b1d){if(_0x579b1d){var _0x249039=_0x579b1d[_0xa6bb('0x20')],_0xcc6f4e=_0x9253f6['offset'],_0x2be378=_0x9253f6['offset']+_0x9253f6[_0xa6bb('0x21')],_0x32e713;if(_0x2be378>=_0x249039){_0x2be378=_0x249039;_0x32e713=0xc8;}else{_0x32e713=0xce;}_0x35c978[_0xa6bb('0x1e')](_0x32e713);return _0x35c978[_0xa6bb('0x22')](_0xa6bb('0x23'),_0xcc6f4e+'-'+_0x2be378+'/'+_0x249039)[_0xa6bb('0x1f')](_0x579b1d);}return null;};}function patchUpdates(_0xd64f94){return function(_0x437f8b){try{jsonpatch[_0xa6bb('0x24')](_0x437f8b,_0xd64f94,!![]);}catch(_0x467499){return BPromise[_0xa6bb('0x25')](_0x467499);}return _0x437f8b[_0xa6bb('0x26')]();};}function saveUpdates(_0x1a6b33,_0xfd28c5){return function(_0x5b1e57){if(_0x5b1e57){return _0x5b1e57[_0xa6bb('0x27')](_0x1a6b33)[_0xa6bb('0x28')](function(_0x5cf682){return _0x5cf682;});}return null;};}function removeEntity(_0x22a926,_0x7506ce){return function(_0x40401f){if(_0x40401f){return _0x40401f['destroy']()[_0xa6bb('0x28')](function(){_0x22a926[_0xa6bb('0x1e')](0xcc)[_0xa6bb('0x29')]();});}};}function handleEntityNotFound(_0xbcfb29,_0x473576){return function(_0xba0683){if(!_0xba0683){_0xbcfb29[_0xa6bb('0x1d')](0x194);}return _0xba0683;};}function handleError(_0x435562,_0x9fc873){_0x9fc873=_0x9fc873||0x1f4;return function(_0x456d95){logger[_0xa6bb('0x2a')](_0x456d95['stack']);if(_0x456d95[_0xa6bb('0x2b')]){delete _0x456d95[_0xa6bb('0x2b')];}_0x435562[_0xa6bb('0x1e')](_0x9fc873)[_0xa6bb('0x2c')](_0x456d95);};}exports[_0xa6bb('0x2d')]=function(_0x38d23a,_0x5a2a23){var _0x302307={},_0x3b5ca2={},_0x20d8ae={'count':0x0,'rows':[]};var _0x4262c3=_['map'](db[_0xa6bb('0x2e')][_0xa6bb('0x2f')],function(_0x6bf1ea){return{'name':_0x6bf1ea['fieldName'],'type':_0x6bf1ea['type'][_0xa6bb('0x30')]};});_0x3b5ca2[_0xa6bb('0x31')]=_[_0xa6bb('0x32')](_0x4262c3,_0xa6bb('0x2b'));_0x3b5ca2[_0xa6bb('0x33')]=_[_0xa6bb('0x34')](_0x38d23a[_0xa6bb('0x33')]);_0x3b5ca2['filters']=_[_0xa6bb('0x35')](_0x3b5ca2['model'],_0x3b5ca2[_0xa6bb('0x33')]);_0x302307[_0xa6bb('0x36')]=_['intersection'](_0x3b5ca2[_0xa6bb('0x31')],qs[_0xa6bb('0x37')](_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x37')]));_0x302307[_0xa6bb('0x36')]=_0x302307[_0xa6bb('0x36')][_0xa6bb('0x38')]?_0x302307[_0xa6bb('0x36')]:_0x3b5ca2[_0xa6bb('0x31')];if(!_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x39')]('nolimit')){_0x302307[_0xa6bb('0x21')]=qs[_0xa6bb('0x21')](_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x21')]);_0x302307['offset']=qs[_0xa6bb('0x3a')](_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x3a')]);}_0x302307[_0xa6bb('0x3b')]=qs[_0xa6bb('0x3c')](_0x38d23a[_0xa6bb('0x33')]['sort']);_0x302307['where']=qs[_0xa6bb('0x3d')](_['pick'](_0x38d23a['query'],_0x3b5ca2[_0xa6bb('0x3d')]),_0x4262c3);if(_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x3e')]){_0x302307[_0xa6bb('0x3f')]=_['merge'](_0x302307[_0xa6bb('0x3f')],{'$or':_[_0xa6bb('0x32')](_0x4262c3,function(_0x25110f){if(_0x25110f['type']!==_0xa6bb('0x40')){var _0x30c5e0={};_0x30c5e0[_0x25110f[_0xa6bb('0x2b')]]={'$like':'%'+_0x38d23a[_0xa6bb('0x33')][_0xa6bb('0x3e')]+'%'};return _0x30c5e0;}})});}_0x302307=_[_0xa6bb('0x41')]({},_0x302307,_0x38d23a[_0xa6bb('0x42')]);var _0x1fe927={'where':_0x302307[_0xa6bb('0x3f')]};return db[_0xa6bb('0x2e')][_0xa6bb('0x20')](_0x1fe927)[_0xa6bb('0x28')](function(_0xd59ce6){_0x20d8ae[_0xa6bb('0x20')]=_0xd59ce6;if(_0x38d23a['query'][_0xa6bb('0x43')]){_0x302307['include']=[{'all':!![]}];}return db[_0xa6bb('0x2e')]['findAll'](_0x302307);})[_0xa6bb('0x28')](function(_0x7ac7a5){_0x20d8ae[_0xa6bb('0x44')]=_0x7ac7a5;return _0x20d8ae;})[_0xa6bb('0x28')](respondWithFilteredResult(_0x5a2a23,_0x302307))['catch'](handleError(_0x5a2a23,null));};exports[_0xa6bb('0x45')]=function(_0x297b10,_0x4afa6c){var _0xc1daf3={'raw':!![],'where':{'id':_0x297b10[_0xa6bb('0x46')]['id']}},_0x52a2dc={};_0x52a2dc[_0xa6bb('0x31')]=_[_0xa6bb('0x34')](db[_0xa6bb('0x2e')][_0xa6bb('0x2f')]);_0x52a2dc[_0xa6bb('0x33')]=_[_0xa6bb('0x34')](_0x297b10[_0xa6bb('0x33')]);_0x52a2dc['filters']=_[_0xa6bb('0x35')](_0x52a2dc['model'],_0x52a2dc[_0xa6bb('0x33')]);_0xc1daf3[_0xa6bb('0x36')]=_[_0xa6bb('0x35')](_0x52a2dc['model'],qs['fields'](_0x297b10[_0xa6bb('0x33')][_0xa6bb('0x37')]));_0xc1daf3[_0xa6bb('0x36')]=_0xc1daf3[_0xa6bb('0x36')][_0xa6bb('0x38')]?_0xc1daf3[_0xa6bb('0x36')]:_0x52a2dc['model'];if(_0x297b10[_0xa6bb('0x33')][_0xa6bb('0x43')]){_0xc1daf3[_0xa6bb('0x47')]=[{'all':!![]}];}_0xc1daf3=_[_0xa6bb('0x41')]({},_0xc1daf3,_0x297b10[_0xa6bb('0x42')]);return db[_0xa6bb('0x2e')][_0xa6bb('0x48')](_0xc1daf3)['then'](handleEntityNotFound(_0x4afa6c,null))[_0xa6bb('0x28')](respondWithResult(_0x4afa6c,null))[_0xa6bb('0x49')](handleError(_0x4afa6c,null));};exports[_0xa6bb('0x4a')]=function(_0x388a4f,_0x1c4502){return db['ChatInternalMessage'][_0xa6bb('0x4a')](_0x388a4f[_0xa6bb('0x4b')],{})[_0xa6bb('0x28')](respondWithResult(_0x1c4502,0xc9))[_0xa6bb('0x49')](handleError(_0x1c4502,null));};exports[_0xa6bb('0x27')]=function(_0x5f3c8e,_0x428d93){if(_0x5f3c8e[_0xa6bb('0x4b')]['id']){delete _0x5f3c8e[_0xa6bb('0x4b')]['id'];}return db[_0xa6bb('0x2e')][_0xa6bb('0x48')]({'where':{'id':_0x5f3c8e[_0xa6bb('0x46')]['id']}})['then'](handleEntityNotFound(_0x428d93,null))['then'](saveUpdates(_0x5f3c8e[_0xa6bb('0x4b')],null))['then'](respondWithResult(_0x428d93,null))[_0xa6bb('0x49')](handleError(_0x428d93,null));};exports[_0xa6bb('0x4c')]=function(_0x374422,_0x809aa9){return db[_0xa6bb('0x2e')][_0xa6bb('0x48')]({'where':{'id':_0x374422['params']['id']}})[_0xa6bb('0x28')](handleEntityNotFound(_0x809aa9,null))[_0xa6bb('0x28')](removeEntity(_0x809aa9,null))[_0xa6bb('0x49')](handleError(_0x809aa9,null));};exports['describe']=function(_0x442353,_0x3e603b){return db[_0xa6bb('0x2e')][_0xa6bb('0x4d')]()[_0xa6bb('0x28')](respondWithResult(_0x3e603b,null))['catch'](handleError(_0x3e603b,null));};function wrapUser(_0x473e4d){return function(_0x79d663){var _0x4c1c57=_0x473e4d[_0xa6bb('0x4e')]({'plain':!![]});_0x4c1c57[_0xa6bb('0x4f')]=[];if(_0x79d663){_0x4c1c57['lastMessageAt']=_0x79d663[_0xa6bb('0x50')];_0x4c1c57[_0xa6bb('0x51')]=_0x79d663;}else{_0x4c1c57[_0xa6bb('0x52')]=moment(0x0)[_0xa6bb('0x53')]('YYYY-MM-DD\x20HH:mm:ss');_0x4c1c57[_0xa6bb('0x51')]={};}return _0x4c1c57;};}exports[_0xa6bb('0x54')]=function(_0x1e76b0,_0x1265dc,_0x92c002){var _0x36966e=[];return db[_0xa6bb('0x55')]['findAll']({'where':{'role':[_0xa6bb('0x56'),_0xa6bb('0x57'),_0xa6bb('0x58')]},'attributes':['id',_0xa6bb('0x59'),'name',_0xa6bb('0x5a'),_0xa6bb('0x5b'),_0xa6bb('0x5c'),'online',_0xa6bb('0x5d'),_0xa6bb('0x5e'),'showWebBar'],'order':qs[_0xa6bb('0x3c')](_0xa6bb('0x5f')),'include':[{'model':db[_0xa6bb('0x60')],'as':_0xa6bb('0x61'),'attributes':['id',_0xa6bb('0x2b'),_0xa6bb('0x62')],'through':{'attributes':[]}}]})[_0xa6bb('0x28')](function(_0x340c5b){if(_0x340c5b){var _0x39a253=_0x1e76b0[_0xa6bb('0x58')][_0xa6bb('0x4e')]({'plain':!![]});if(!_0x39a253)throw new Error(_0xa6bb('0x63'));if(_0x39a253[_0xa6bb('0x5a')]===_0xa6bb('0x58')){return db[_0xa6bb('0x64')][_0xa6bb('0x48')]({'where':{'name':_0xa6bb('0x65'),'userProfileId':_0x39a253['userProfileId']},'raw':!![]})[_0xa6bb('0x28')](function(_0x31a686){if(_0x31a686){if(_0x31a686['autoAssociation']===0x0){return db[_0xa6bb('0x66')][_0xa6bb('0x67')]({'where':{'sectionId':_0x31a686['id']},'raw':!![]})['then'](function(_0xde6016){var _0xf1a0d2=[];if(_[_0xa6bb('0x68')](_0xde6016)){_0xf1a0d2=_[_0xa6bb('0x3e')](_0x340c5b,function(_0x43434b){if(_0x43434b['role']!==_0xa6bb('0x56')){return _0x43434b;}});return _0xf1a0d2;}else{for(var _0x2956b0=0x0;_0x2956b0<_0x340c5b['length'];_0x2956b0++){var _0x5e4048=_0x340c5b[_0x2956b0];if(_0x5e4048[_0xa6bb('0x5a')]===_0xa6bb('0x56')){var _0x5d6956=_[_0xa6bb('0x48')](_0xde6016,function(_0x3372f2){return _0x3372f2[_0xa6bb('0x69')]===_0x5e4048['id'];});if(_0x5d6956)_0xf1a0d2[_0xa6bb('0x6a')](_0x5e4048);}else{_0xf1a0d2['push'](_0x5e4048);}}return _0xf1a0d2;}});}else{return _0x340c5b;}}else{var _0x70648a=_[_0xa6bb('0x3e')](_0x340c5b,function(_0x1e2012){if(_0x1e2012[_0xa6bb('0x5a')]!==_0xa6bb('0x56')){return _0x1e2012;}});return _0x70648a;}});}else{return _0x340c5b;}}})[_0xa6bb('0x28')](function(_0x26148b){var _0x834c99=[];if(_0x26148b){_0x36966e=_0x26148b;for(var _0xbe10a8=0x0;_0xbe10a8<_0x26148b[_0xa6bb('0x38')];_0xbe10a8+=0x1){_0x36966e[_0xbe10a8][_0xa6bb('0x4f')]=[];_0x834c99[_0xa6bb('0x6a')](db[_0xa6bb('0x2e')]['find']({'where':{'FromId':[_0x1e76b0[_0xa6bb('0x58')]['id'],_0x26148b[_0xbe10a8]['id']],'ToId':[_0x1e76b0[_0xa6bb('0x58')]['id'],_0x26148b[_0xbe10a8]['id']],'ChatGroupId':null},'attributes':['id',_0xa6bb('0x50'),_0xa6bb('0x6b'),'ToId',_0xa6bb('0x6c'),_0xa6bb('0x4b')],'order':qs[_0xa6bb('0x3c')](_0xa6bb('0x6d')),'limit':0x1,'offset':0x0,'raw':!![]})[_0xa6bb('0x28')](wrapUser(_0x26148b[_0xbe10a8])));}return BPromise[_0xa6bb('0x6e')](_0x834c99);}return[];})[_0xa6bb('0x28')](function(_0x5297f4){return{'rows':_0x5297f4,'count':_0x5297f4['length']};})[_0xa6bb('0x28')](respondWithResult(_0x1265dc,null))[_0xa6bb('0x49')](handleError(_0x1265dc,null));};