Built motion from commit (unavailable).|2.5.2
[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 _0x5a13=['html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','to-csv','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','register','end','status','json','count','offset','limit','reject','save','update','then','destroy','sendStatus','error','stack','name','send','map','ChatInternalMessage','rawAttributes','fieldName','type','key','model','keys','intersection','query','attributes','fields','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','params','describe','messages','lastMessageAt','lastMessage','format','YYYY-MM-DD\x20HH:mm:ss','getUsers','User','agent','admin','user','fullname','userpic','internal','online','lastLoginAt','allowmessenger','showWebBar','-online','VoiceQueues','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','Agents','userProfileId','autoAssociation','UserProfileResource','isEmpty','push','FromId','ToId','read','all'];(function(_0x115d5b,_0x26aff2){var _0x6cfc50=function(_0x39a786){while(--_0x39a786){_0x115d5b['push'](_0x115d5b['shift']());}};_0x6cfc50(++_0x26aff2);}(_0x5a13,0x14a));var _0x35a1=function(_0x2daea5,_0x217ff0){_0x2daea5=_0x2daea5-0x0;var _0x4847af=_0x5a13[_0x2daea5];return _0x4847af;};'use strict';var pdf=require(_0x35a1('0x0'));var emlformat=require(_0x35a1('0x1'));var rimraf=require(_0x35a1('0x2'));var zipdir=require(_0x35a1('0x3'));var jsonpatch=require(_0x35a1('0x4'));var rp=require(_0x35a1('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x35a1('0x6'));var path=require(_0x35a1('0x7'));var sox=require('sox');var csv=require(_0x35a1('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x35a1('0x9'));var squel=require(_0x35a1('0xa'));var crypto=require('crypto');var jsforce=require(_0x35a1('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x35a1('0x8'));var querystring=require(_0x35a1('0xc'));var Papa=require(_0x35a1('0xd'));var Redis=require(_0x35a1('0xe'));var authService=require(_0x35a1('0xf'));var qs=require(_0x35a1('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x35a1('0x11'));var logger=require(_0x35a1('0x12'))(_0x35a1('0x13'));var utils=require(_0x35a1('0x14'));var config=require(_0x35a1('0x15'));var db=require(_0x35a1('0x16'))['db'];config[_0x35a1('0x17')]=_[_0x35a1('0x18')](config[_0x35a1('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x35a1('0x19'))(new Redis(config[_0x35a1('0x17')]));require('./chatInternalMessage.socket')[_0x35a1('0x1a')](socket);function respondWithStatusCode(_0x11db73,_0x2f4ef3){_0x2f4ef3=_0x2f4ef3||0xcc;return function(_0x204574){if(_0x204574){return _0x11db73['sendStatus'](_0x2f4ef3);}return _0x11db73['status'](_0x2f4ef3)[_0x35a1('0x1b')]();};}function respondWithResult(_0x330348,_0x13ce7d){_0x13ce7d=_0x13ce7d||0xc8;return function(_0xd79b89){if(_0xd79b89){return _0x330348[_0x35a1('0x1c')](_0x13ce7d)[_0x35a1('0x1d')](_0xd79b89);}};}function respondWithFilteredResult(_0x304a74,_0x3a7fe9){return function(_0x429661){if(_0x429661){var _0x52a419=_0x429661[_0x35a1('0x1e')],_0x26f2f4=_0x3a7fe9['offset'],_0x2066e5=_0x3a7fe9[_0x35a1('0x1f')]+_0x3a7fe9[_0x35a1('0x20')],_0x572a3d;if(_0x2066e5>=_0x52a419){_0x2066e5=_0x52a419;_0x572a3d=0xc8;}else{_0x572a3d=0xce;}_0x304a74['status'](_0x572a3d);return _0x304a74['set']('Content-Range',_0x26f2f4+'-'+_0x2066e5+'/'+_0x52a419)[_0x35a1('0x1d')](_0x429661);}return null;};}function patchUpdates(_0x2a2394){return function(_0x31698f){try{jsonpatch['apply'](_0x31698f,_0x2a2394,!![]);}catch(_0x112904){return BPromise[_0x35a1('0x21')](_0x112904);}return _0x31698f[_0x35a1('0x22')]();};}function saveUpdates(_0x5420ec,_0x51b7bd){return function(_0x3b9e52){if(_0x3b9e52){return _0x3b9e52[_0x35a1('0x23')](_0x5420ec)[_0x35a1('0x24')](function(_0x3edee1){return _0x3edee1;});}return null;};}function removeEntity(_0x13ec63,_0x4e3ed4){return function(_0x295e8b){if(_0x295e8b){return _0x295e8b[_0x35a1('0x25')]()[_0x35a1('0x24')](function(){_0x13ec63[_0x35a1('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x92d6c9,_0x4f8e47){return function(_0x2e567f){if(!_0x2e567f){_0x92d6c9[_0x35a1('0x26')](0x194);}return _0x2e567f;};}function handleError(_0x19e00b,_0x54586c){_0x54586c=_0x54586c||0x1f4;return function(_0x8ee582){logger[_0x35a1('0x27')](_0x8ee582[_0x35a1('0x28')]);if(_0x8ee582[_0x35a1('0x29')]){delete _0x8ee582[_0x35a1('0x29')];}_0x19e00b[_0x35a1('0x1c')](_0x54586c)[_0x35a1('0x2a')](_0x8ee582);};}exports['index']=function(_0x53d5a5,_0x3ac084){var _0x32016d={},_0x89ad8e={},_0x557190={'count':0x0,'rows':[]};var _0x3b034d=_[_0x35a1('0x2b')](db[_0x35a1('0x2c')][_0x35a1('0x2d')],function(_0x43e8ae){return{'name':_0x43e8ae[_0x35a1('0x2e')],'type':_0x43e8ae[_0x35a1('0x2f')][_0x35a1('0x30')]};});_0x89ad8e[_0x35a1('0x31')]=_[_0x35a1('0x2b')](_0x3b034d,_0x35a1('0x29'));_0x89ad8e['query']=_[_0x35a1('0x32')](_0x53d5a5['query']);_0x89ad8e['filters']=_[_0x35a1('0x33')](_0x89ad8e['model'],_0x89ad8e[_0x35a1('0x34')]);_0x32016d[_0x35a1('0x35')]=_[_0x35a1('0x33')](_0x89ad8e[_0x35a1('0x31')],qs['fields'](_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x36')]));_0x32016d['attributes']=_0x32016d[_0x35a1('0x35')]['length']?_0x32016d[_0x35a1('0x35')]:_0x89ad8e[_0x35a1('0x31')];if(!_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x37')](_0x35a1('0x38'))){_0x32016d['limit']=qs[_0x35a1('0x20')](_0x53d5a5['query'][_0x35a1('0x20')]);_0x32016d[_0x35a1('0x1f')]=qs[_0x35a1('0x1f')](_0x53d5a5['query'][_0x35a1('0x1f')]);}_0x32016d['order']=qs['sort'](_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x39')]);_0x32016d[_0x35a1('0x3a')]=qs[_0x35a1('0x3b')](_[_0x35a1('0x3c')](_0x53d5a5['query'],_0x89ad8e[_0x35a1('0x3b')]),_0x3b034d);if(_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x3d')]){_0x32016d[_0x35a1('0x3a')]=_[_0x35a1('0x3e')](_0x32016d['where'],{'$or':_[_0x35a1('0x2b')](_0x3b034d,function(_0x272bda){if(_0x272bda['type']!==_0x35a1('0x3f')){var _0x212b97={};_0x212b97[_0x272bda['name']]={'$like':'%'+_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x3d')]+'%'};return _0x212b97;}})});}_0x32016d=_[_0x35a1('0x3e')]({},_0x32016d,_0x53d5a5[_0x35a1('0x40')]);var _0x25b92a={'where':_0x32016d[_0x35a1('0x3a')]};return db[_0x35a1('0x2c')][_0x35a1('0x1e')](_0x25b92a)['then'](function(_0x2076d4){_0x557190[_0x35a1('0x1e')]=_0x2076d4;if(_0x53d5a5[_0x35a1('0x34')][_0x35a1('0x41')]){_0x32016d[_0x35a1('0x42')]=[{'all':!![]}];}return db[_0x35a1('0x2c')][_0x35a1('0x43')](_0x32016d);})[_0x35a1('0x24')](function(_0x5de02c){_0x557190[_0x35a1('0x44')]=_0x5de02c;return _0x557190;})['then'](respondWithFilteredResult(_0x3ac084,_0x32016d))[_0x35a1('0x45')](handleError(_0x3ac084,null));};exports[_0x35a1('0x46')]=function(_0x48985c,_0x2af336){var _0xe92379={'raw':!![],'where':{'id':_0x48985c['params']['id']}},_0x4ea3a9={};_0x4ea3a9['model']=_[_0x35a1('0x32')](db['ChatInternalMessage'][_0x35a1('0x2d')]);_0x4ea3a9[_0x35a1('0x34')]=_[_0x35a1('0x32')](_0x48985c['query']);_0x4ea3a9[_0x35a1('0x3b')]=_['intersection'](_0x4ea3a9['model'],_0x4ea3a9[_0x35a1('0x34')]);_0xe92379[_0x35a1('0x35')]=_['intersection'](_0x4ea3a9[_0x35a1('0x31')],qs[_0x35a1('0x36')](_0x48985c[_0x35a1('0x34')][_0x35a1('0x36')]));_0xe92379[_0x35a1('0x35')]=_0xe92379[_0x35a1('0x35')][_0x35a1('0x47')]?_0xe92379['attributes']:_0x4ea3a9[_0x35a1('0x31')];if(_0x48985c[_0x35a1('0x34')]['includeAll']){_0xe92379[_0x35a1('0x42')]=[{'all':!![]}];}_0xe92379=_[_0x35a1('0x3e')]({},_0xe92379,_0x48985c[_0x35a1('0x40')]);return db[_0x35a1('0x2c')][_0x35a1('0x48')](_0xe92379)[_0x35a1('0x24')](handleEntityNotFound(_0x2af336,null))[_0x35a1('0x24')](respondWithResult(_0x2af336,null))[_0x35a1('0x45')](handleError(_0x2af336,null));};exports[_0x35a1('0x49')]=function(_0x3c227e,_0x1c6f46){return db[_0x35a1('0x2c')][_0x35a1('0x49')](_0x3c227e[_0x35a1('0x4a')],{})[_0x35a1('0x24')](respondWithResult(_0x1c6f46,0xc9))[_0x35a1('0x45')](handleError(_0x1c6f46,null));};exports['update']=function(_0x38c926,_0x91e0f8){if(_0x38c926[_0x35a1('0x4a')]['id']){delete _0x38c926['body']['id'];}return db[_0x35a1('0x2c')][_0x35a1('0x48')]({'where':{'id':_0x38c926[_0x35a1('0x4b')]['id']}})[_0x35a1('0x24')](handleEntityNotFound(_0x91e0f8,null))['then'](saveUpdates(_0x38c926[_0x35a1('0x4a')],null))[_0x35a1('0x24')](respondWithResult(_0x91e0f8,null))['catch'](handleError(_0x91e0f8,null));};exports[_0x35a1('0x25')]=function(_0x3c3e0c,_0x1f054f){return db[_0x35a1('0x2c')][_0x35a1('0x48')]({'where':{'id':_0x3c3e0c[_0x35a1('0x4b')]['id']}})[_0x35a1('0x24')](handleEntityNotFound(_0x1f054f,null))['then'](removeEntity(_0x1f054f,null))[_0x35a1('0x45')](handleError(_0x1f054f,null));};exports[_0x35a1('0x4c')]=function(_0x5d8a40,_0x53d3c3){return db[_0x35a1('0x2c')][_0x35a1('0x4c')]()['then'](respondWithResult(_0x53d3c3,null))[_0x35a1('0x45')](handleError(_0x53d3c3,null));};function wrapUser(_0x3b5ab2){return function(_0x41624b){var _0x1b1a38=_0x3b5ab2['get']({'plain':!![]});_0x1b1a38[_0x35a1('0x4d')]=[];if(_0x41624b){_0x1b1a38[_0x35a1('0x4e')]=_0x41624b['createdAt'];_0x1b1a38[_0x35a1('0x4f')]=_0x41624b;}else{_0x1b1a38['lastMessageAt']=moment(0x0)[_0x35a1('0x50')](_0x35a1('0x51'));_0x1b1a38[_0x35a1('0x4f')]={};}return _0x1b1a38;};}exports[_0x35a1('0x52')]=function(_0x58a81e,_0x415f21,_0x14fd3e){var _0x3fc436=[];return db[_0x35a1('0x53')]['findAll']({'where':{'role':[_0x35a1('0x54'),_0x35a1('0x55'),_0x35a1('0x56')]},'attributes':['id',_0x35a1('0x57'),_0x35a1('0x29'),'role',_0x35a1('0x58'),_0x35a1('0x59'),_0x35a1('0x5a'),_0x35a1('0x5b'),_0x35a1('0x5c'),_0x35a1('0x5d')],'order':qs['sort'](_0x35a1('0x5e')),'include':[{'model':db['VoiceQueue'],'as':_0x35a1('0x5f'),'attributes':['id',_0x35a1('0x29'),_0x35a1('0x2f')],'through':{'attributes':[]}}]})[_0x35a1('0x24')](function(_0x542880){if(_0x542880){var _0x4b4e9d=_0x58a81e[_0x35a1('0x56')][_0x35a1('0x60')]({'plain':!![]});if(!_0x4b4e9d)throw new Error(_0x35a1('0x61'));if(_0x4b4e9d[_0x35a1('0x62')]===_0x35a1('0x56')){return db[_0x35a1('0x63')][_0x35a1('0x48')]({'where':{'name':_0x35a1('0x64'),'userProfileId':_0x4b4e9d[_0x35a1('0x65')]},'raw':!![]})[_0x35a1('0x24')](function(_0x24ae07){if(_0x24ae07){if(_0x24ae07[_0x35a1('0x66')]===0x0){return db[_0x35a1('0x67')][_0x35a1('0x43')]({'where':{'sectionId':_0x24ae07['id']},'raw':!![]})[_0x35a1('0x24')](function(_0x5e50e5){var _0x44d4a4=[];if(_[_0x35a1('0x68')](_0x5e50e5)){_0x44d4a4=_['filter'](_0x542880,function(_0x3c00e5){if(_0x3c00e5[_0x35a1('0x62')]!==_0x35a1('0x54')){return _0x3c00e5;}});return _0x44d4a4;}else{for(var _0xf62e0a=0x0;_0xf62e0a<_0x542880[_0x35a1('0x47')];_0xf62e0a++){var _0x2b3d63=_0x542880[_0xf62e0a];if(_0x2b3d63[_0x35a1('0x62')]===_0x35a1('0x54')){var _0x27086d=_[_0x35a1('0x48')](_0x5e50e5,function(_0x4d73fa){return _0x4d73fa['resourceId']===_0x2b3d63['id'];});if(_0x27086d)_0x44d4a4[_0x35a1('0x69')](_0x2b3d63);}else{_0x44d4a4[_0x35a1('0x69')](_0x2b3d63);}}return _0x44d4a4;}});}else{return _0x542880;}}else{var _0x4563b7=_[_0x35a1('0x3d')](_0x542880,function(_0x52131){if(_0x52131[_0x35a1('0x62')]!==_0x35a1('0x54')){return _0x52131;}});return _0x4563b7;}});}else{return _0x542880;}}})[_0x35a1('0x24')](function(_0x4e88dc){var _0xd14b1f=[];if(_0x4e88dc){_0x3fc436=_0x4e88dc;for(var _0x118137=0x0;_0x118137<_0x4e88dc[_0x35a1('0x47')];_0x118137+=0x1){_0x3fc436[_0x118137][_0x35a1('0x4d')]=[];_0xd14b1f['push'](db[_0x35a1('0x2c')][_0x35a1('0x48')]({'where':{'FromId':[_0x58a81e[_0x35a1('0x56')]['id'],_0x4e88dc[_0x118137]['id']],'ToId':[_0x58a81e[_0x35a1('0x56')]['id'],_0x4e88dc[_0x118137]['id']],'ChatGroupId':null},'attributes':['id','createdAt',_0x35a1('0x6a'),_0x35a1('0x6b'),_0x35a1('0x6c'),'body'],'order':qs[_0x35a1('0x39')]('-createdAt'),'limit':0x1,'offset':0x0,'raw':!![]})[_0x35a1('0x24')](wrapUser(_0x4e88dc[_0x118137])));}return BPromise[_0x35a1('0x6d')](_0xd14b1f);}return[];})[_0x35a1('0x24')](function(_0x5482a5){return{'rows':_0x5482a5,'count':_0x5482a5[_0x35a1('0x47')]};})[_0x35a1('0x24')](respondWithResult(_0x415f21,null))[_0x35a1('0x45')](handleError(_0x415f21,null));};