955898752ee40206d7e87e6e5cc63ef4d8ca9013
[motion2.git] / server / api / chatQueueReport / chatQueueReport.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 _0xdce4=['sort','where','filters','filter','merge','VIRTUAL','options','count','includeAll','findAll','params','rawAttributes','include','find','catch','create','update','body','describe','eml-format','zip-dir','request-promise','moment','mustache','path','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','set','json','apply','save','destroy','then','error','stack','send','index','map','ChatQueueReport','fieldName','type','key','name','query','keys','intersection','model','fields','attributes','length','nolimit','order'];(function(_0x59dc0b,_0xceb983){var _0x37de48=function(_0x571c9b){while(--_0x571c9b){_0x59dc0b['push'](_0x59dc0b['shift']());}};_0x37de48(++_0xceb983);}(_0xdce4,0x12b));var _0x4dce=function(_0x57dc69,_0x1481b0){_0x57dc69=_0x57dc69-0x0;var _0xdbeb4b=_0xdce4[_0x57dc69];return _0xdbeb4b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4dce('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4dce('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4dce('0x2'));var moment=require(_0x4dce('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4dce('0x4'));var util=require('util');var path=require(_0x4dce('0x5'));var sox=require('sox');var csv=require(_0x4dce('0x6'));var ejs=require(_0x4dce('0x7'));var fs=require('fs');var _=require(_0x4dce('0x8'));var squel=require(_0x4dce('0x9'));var crypto=require('crypto');var jsforce=require(_0x4dce('0xa'));var deskjs=require(_0x4dce('0xb'));var toCsv=require(_0x4dce('0x6'));var querystring=require('querystring');var Papa=require(_0x4dce('0xc'));var Redis=require(_0x4dce('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4dce('0xe'));var hardwareService=require(_0x4dce('0xf'));var logger=require(_0x4dce('0x10'))(_0x4dce('0x11'));var utils=require(_0x4dce('0x12'));var config=require(_0x4dce('0x13'));var db=require(_0x4dce('0x14'))['db'];function respondWithStatusCode(_0x31f570,_0x3ca7a8){_0x3ca7a8=_0x3ca7a8||0xcc;return function(_0x4cd965){if(_0x4cd965){return _0x31f570[_0x4dce('0x15')](_0x3ca7a8);}return _0x31f570[_0x4dce('0x16')](_0x3ca7a8)[_0x4dce('0x17')]();};}function respondWithResult(_0x5224bb,_0x4ef475){_0x4ef475=_0x4ef475||0xc8;return function(_0x58a8a1){if(_0x58a8a1){return _0x5224bb['status'](_0x4ef475)['json'](_0x58a8a1);}};}function respondWithFilteredResult(_0x1a0978,_0x4e4783){return function(_0x125e3b){if(_0x125e3b){var _0x547774=_0x125e3b['count'],_0x4ea96b=_0x4e4783['offset'],_0x271090=_0x4e4783[_0x4dce('0x18')]+_0x4e4783[_0x4dce('0x19')],_0x218e96;if(_0x271090>=_0x547774){_0x271090=_0x547774;_0x218e96=0xc8;}else{_0x218e96=0xce;}_0x1a0978[_0x4dce('0x16')](_0x218e96);return _0x1a0978[_0x4dce('0x1a')]('Content-Range',_0x4ea96b+'-'+_0x271090+'/'+_0x547774)[_0x4dce('0x1b')](_0x125e3b);}return null;};}function patchUpdates(_0xa0e8e3){return function(_0x2beda8){try{jsonpatch[_0x4dce('0x1c')](_0x2beda8,_0xa0e8e3,!![]);}catch(_0x233c8c){return BPromise['reject'](_0x233c8c);}return _0x2beda8[_0x4dce('0x1d')]();};}function saveUpdates(_0x580e4d,_0x3d5546){return function(_0x1255d8){if(_0x1255d8){return _0x1255d8['update'](_0x580e4d)['then'](function(_0xac61ee){return _0xac61ee;});}return null;};}function removeEntity(_0x58b8fe,_0x195fbb){return function(_0x57de78){if(_0x57de78){return _0x57de78[_0x4dce('0x1e')]()[_0x4dce('0x1f')](function(){_0x58b8fe[_0x4dce('0x16')](0xcc)[_0x4dce('0x17')]();});}};}function handleEntityNotFound(_0x12b66e,_0x308435){return function(_0x3d7f38){if(!_0x3d7f38){_0x12b66e[_0x4dce('0x15')](0x194);}return _0x3d7f38;};}function handleError(_0x44257c,_0x561ca7){_0x561ca7=_0x561ca7||0x1f4;return function(_0x3b6dc3){logger[_0x4dce('0x20')](_0x3b6dc3[_0x4dce('0x21')]);if(_0x3b6dc3['name']){delete _0x3b6dc3['name'];}_0x44257c[_0x4dce('0x16')](_0x561ca7)[_0x4dce('0x22')](_0x3b6dc3);};}exports[_0x4dce('0x23')]=function(_0x481fdd,_0xef3f09){var _0x11fbac={},_0x3f4df6={},_0x52d9e0={'count':0x0,'rows':[]};var _0x5a2ab8=_[_0x4dce('0x24')](db[_0x4dce('0x25')]['rawAttributes'],function(_0x1079df){return{'name':_0x1079df[_0x4dce('0x26')],'type':_0x1079df[_0x4dce('0x27')][_0x4dce('0x28')]};});_0x3f4df6['model']=_['map'](_0x5a2ab8,_0x4dce('0x29'));_0x3f4df6[_0x4dce('0x2a')]=_[_0x4dce('0x2b')](_0x481fdd[_0x4dce('0x2a')]);_0x3f4df6['filters']=_[_0x4dce('0x2c')](_0x3f4df6[_0x4dce('0x2d')],_0x3f4df6[_0x4dce('0x2a')]);_0x11fbac['attributes']=_['intersection'](_0x3f4df6['model'],qs['fields'](_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x2e')]));_0x11fbac[_0x4dce('0x2f')]=_0x11fbac['attributes'][_0x4dce('0x30')]?_0x11fbac[_0x4dce('0x2f')]:_0x3f4df6[_0x4dce('0x2d')];if(!_0x481fdd['query']['hasOwnProperty'](_0x4dce('0x31'))){_0x11fbac[_0x4dce('0x19')]=qs['limit'](_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x19')]);_0x11fbac['offset']=qs[_0x4dce('0x18')](_0x481fdd['query']['offset']);}_0x11fbac[_0x4dce('0x32')]=qs['sort'](_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x33')]);_0x11fbac[_0x4dce('0x34')]=qs[_0x4dce('0x35')](_['pick'](_0x481fdd[_0x4dce('0x2a')],_0x3f4df6[_0x4dce('0x35')]));if(_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x36')]){_0x11fbac[_0x4dce('0x34')]=_[_0x4dce('0x37')](_0x11fbac[_0x4dce('0x34')],{'$or':_[_0x4dce('0x24')](_0x5a2ab8,function(_0x1444b6){if(_0x1444b6[_0x4dce('0x27')]!==_0x4dce('0x38')){var _0x21bf70={};_0x21bf70[_0x1444b6[_0x4dce('0x29')]]={'$like':'%'+_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x36')]+'%'};return _0x21bf70;}})});}_0x11fbac=_[_0x4dce('0x37')]({},_0x11fbac,_0x481fdd[_0x4dce('0x39')]);var _0x5be2e7={'where':_0x11fbac[_0x4dce('0x34')]};return db['ChatQueueReport'][_0x4dce('0x3a')](_0x5be2e7)[_0x4dce('0x1f')](function(_0x2d15fb){_0x52d9e0[_0x4dce('0x3a')]=_0x2d15fb;if(_0x481fdd[_0x4dce('0x2a')][_0x4dce('0x3b')]){_0x11fbac['include']=[{'all':!![]}];}return db[_0x4dce('0x25')][_0x4dce('0x3c')](_0x11fbac);})[_0x4dce('0x1f')](function(_0x464b17){_0x52d9e0['rows']=_0x464b17;return _0x52d9e0;})[_0x4dce('0x1f')](respondWithFilteredResult(_0xef3f09,_0x11fbac))['catch'](handleError(_0xef3f09,null));};exports['show']=function(_0x1ac111,_0x22b994){var _0x66e7f4={'raw':!![],'where':{'id':_0x1ac111[_0x4dce('0x3d')]['id']}},_0x2546b7={};_0x2546b7[_0x4dce('0x2d')]=_['keys'](db[_0x4dce('0x25')][_0x4dce('0x3e')]);_0x2546b7[_0x4dce('0x2a')]=_[_0x4dce('0x2b')](_0x1ac111[_0x4dce('0x2a')]);_0x2546b7[_0x4dce('0x35')]=_[_0x4dce('0x2c')](_0x2546b7[_0x4dce('0x2d')],_0x2546b7[_0x4dce('0x2a')]);_0x66e7f4['attributes']=_[_0x4dce('0x2c')](_0x2546b7[_0x4dce('0x2d')],qs[_0x4dce('0x2e')](_0x1ac111['query']['fields']));_0x66e7f4[_0x4dce('0x2f')]=_0x66e7f4[_0x4dce('0x2f')]['length']?_0x66e7f4['attributes']:_0x2546b7[_0x4dce('0x2d')];if(_0x1ac111[_0x4dce('0x2a')][_0x4dce('0x3b')]){_0x66e7f4[_0x4dce('0x3f')]=[{'all':!![]}];}_0x66e7f4=_[_0x4dce('0x37')]({},_0x66e7f4,_0x1ac111[_0x4dce('0x39')]);return db[_0x4dce('0x25')][_0x4dce('0x40')](_0x66e7f4)[_0x4dce('0x1f')](handleEntityNotFound(_0x22b994,null))[_0x4dce('0x1f')](respondWithResult(_0x22b994,null))[_0x4dce('0x41')](handleError(_0x22b994,null));};exports[_0x4dce('0x42')]=function(_0x3c5074,_0x4967da){return db[_0x4dce('0x25')][_0x4dce('0x42')](_0x3c5074['body'],{})['then'](respondWithResult(_0x4967da,0xc9))[_0x4dce('0x41')](handleError(_0x4967da,null));};exports[_0x4dce('0x43')]=function(_0xca8d1b,_0x2a2c7a){if(_0xca8d1b[_0x4dce('0x44')]['id']){delete _0xca8d1b[_0x4dce('0x44')]['id'];}return db[_0x4dce('0x25')]['find']({'where':{'id':_0xca8d1b['params']['id']}})[_0x4dce('0x1f')](handleEntityNotFound(_0x2a2c7a,null))[_0x4dce('0x1f')](saveUpdates(_0xca8d1b['body'],null))['then'](respondWithResult(_0x2a2c7a,null))[_0x4dce('0x41')](handleError(_0x2a2c7a,null));};exports[_0x4dce('0x1e')]=function(_0x34f524,_0x48032f){return db[_0x4dce('0x25')][_0x4dce('0x40')]({'where':{'id':_0x34f524['params']['id']}})[_0x4dce('0x1f')](handleEntityNotFound(_0x48032f,null))[_0x4dce('0x1f')](removeEntity(_0x48032f,null))[_0x4dce('0x41')](handleError(_0x48032f,null));};exports[_0x4dce('0x45')]=function(_0x51a97f,_0x29c0b0){return db[_0x4dce('0x25')]['describe']()[_0x4dce('0x1f')](respondWithResult(_0x29c0b0,null))[_0x4dce('0x41')](handleError(_0x29c0b0,null));};