Built motion from commit 753c950e.|2.5.42
[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 _0x6829=['end','json','offset','limit','undefined','set','reject','update','then','destroy','error','stack','name','send','index','map','rawAttributes','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','ChatQueueReport','count','includeAll','findAll','rows','catch','show','params','include','options','find','create','body','describe','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','status'];(function(_0x2c99a2,_0x1abb07){var _0x364622=function(_0x101395){while(--_0x101395){_0x2c99a2['push'](_0x2c99a2['shift']());}};_0x364622(++_0x1abb07);}(_0x6829,0x14c));var _0x9682=function(_0x2be8c2,_0x14a4b5){_0x2be8c2=_0x2be8c2-0x0;var _0x97f531=_0x6829[_0x2be8c2];return _0x97f531;};'use strict';var emlformat=require(_0x9682('0x0'));var rimraf=require(_0x9682('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9682('0x2'));var BPromise=require(_0x9682('0x3'));var Mustache=require(_0x9682('0x4'));var util=require(_0x9682('0x5'));var path=require(_0x9682('0x6'));var sox=require(_0x9682('0x7'));var csv=require(_0x9682('0x8'));var ejs=require(_0x9682('0x9'));var fs=require('fs');var fs_extra=require(_0x9682('0xa'));var _=require(_0x9682('0xb'));var squel=require(_0x9682('0xc'));var crypto=require(_0x9682('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9682('0xe'));var Papa=require(_0x9682('0xf'));var Redis=require('ioredis');var authService=require(_0x9682('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9682('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9682('0x12'))(_0x9682('0x13'));var utils=require(_0x9682('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9682('0x15'))['db'];function respondWithStatusCode(_0x1391c3,_0x57e123){_0x57e123=_0x57e123||0xcc;return function(_0x15663f){if(_0x15663f){return _0x1391c3['sendStatus'](_0x57e123);}return _0x1391c3[_0x9682('0x16')](_0x57e123)[_0x9682('0x17')]();};}function respondWithResult(_0x289d8b,_0x21451a){_0x21451a=_0x21451a||0xc8;return function(_0x30bfd7){if(_0x30bfd7){return _0x289d8b[_0x9682('0x16')](_0x21451a)[_0x9682('0x18')](_0x30bfd7);}};}function respondWithFilteredResult(_0xa26517,_0x1adcf8){return function(_0x13a1a9){if(_0x13a1a9){var _0x526391=typeof _0x1adcf8[_0x9682('0x19')]==='undefined'&&typeof _0x1adcf8[_0x9682('0x1a')]===_0x9682('0x1b');var _0x1f4971=_0x13a1a9['count'];var _0x1c73ee=_0x526391?0x0:_0x1adcf8['offset'];var _0x107291=_0x526391?_0x13a1a9['count']:_0x1adcf8[_0x9682('0x19')]+_0x1adcf8[_0x9682('0x1a')];var _0x57d4cf;if(_0x107291>=_0x1f4971){_0x107291=_0x1f4971;_0x57d4cf=0xc8;}else{_0x57d4cf=0xce;}_0xa26517[_0x9682('0x16')](_0x57d4cf);return _0xa26517[_0x9682('0x1c')]('Content-Range',_0x1c73ee+'-'+_0x107291+'/'+_0x1f4971)['json'](_0x13a1a9);}return null;};}function patchUpdates(_0x497ff7){return function(_0x3fca2b){try{jsonpatch['apply'](_0x3fca2b,_0x497ff7,!![]);}catch(_0x36230c){return BPromise[_0x9682('0x1d')](_0x36230c);}return _0x3fca2b['save']();};}function saveUpdates(_0x4650c9,_0x238361){return function(_0x1aacb6){if(_0x1aacb6){return _0x1aacb6[_0x9682('0x1e')](_0x4650c9)[_0x9682('0x1f')](function(_0x1c2eaf){return _0x1c2eaf;});}return null;};}function removeEntity(_0x738838,_0x40e927){return function(_0x107352){if(_0x107352){return _0x107352[_0x9682('0x20')]()['then'](function(){_0x738838[_0x9682('0x16')](0xcc)[_0x9682('0x17')]();});}};}function handleEntityNotFound(_0x88419f,_0x21a10b){return function(_0x39291f){if(!_0x39291f){_0x88419f['sendStatus'](0x194);}return _0x39291f;};}function handleError(_0x756fea,_0x1dbf57){_0x1dbf57=_0x1dbf57||0x1f4;return function(_0x44808c){logger[_0x9682('0x21')](_0x44808c[_0x9682('0x22')]);if(_0x44808c[_0x9682('0x23')]){delete _0x44808c['name'];}_0x756fea[_0x9682('0x16')](_0x1dbf57)[_0x9682('0x24')](_0x44808c);};}exports[_0x9682('0x25')]=function(_0x1d827e,_0x9e3d59){var _0x1fdb4d={},_0x176624={},_0x14d974={'count':0x0,'rows':[]};var _0x5f4294=_[_0x9682('0x26')](db['ChatQueueReport'][_0x9682('0x27')],function(_0x27d7f0){return{'name':_0x27d7f0['fieldName'],'type':_0x27d7f0['type']['key']};});_0x176624['model']=_[_0x9682('0x26')](_0x5f4294,'name');_0x176624[_0x9682('0x28')]=_[_0x9682('0x29')](_0x1d827e[_0x9682('0x28')]);_0x176624[_0x9682('0x2a')]=_['intersection'](_0x176624['model'],_0x176624[_0x9682('0x28')]);_0x1fdb4d[_0x9682('0x2b')]=_[_0x9682('0x2c')](_0x176624[_0x9682('0x2d')],qs[_0x9682('0x2e')](_0x1d827e['query']['fields']));_0x1fdb4d[_0x9682('0x2b')]=_0x1fdb4d[_0x9682('0x2b')][_0x9682('0x2f')]?_0x1fdb4d[_0x9682('0x2b')]:_0x176624[_0x9682('0x2d')];if(!_0x1d827e[_0x9682('0x28')][_0x9682('0x30')]('nolimit')){_0x1fdb4d[_0x9682('0x1a')]=qs[_0x9682('0x1a')](_0x1d827e[_0x9682('0x28')][_0x9682('0x1a')]);_0x1fdb4d[_0x9682('0x19')]=qs['offset'](_0x1d827e[_0x9682('0x28')]['offset']);}_0x1fdb4d[_0x9682('0x31')]=qs[_0x9682('0x32')](_0x1d827e[_0x9682('0x28')][_0x9682('0x32')]);_0x1fdb4d[_0x9682('0x33')]=qs[_0x9682('0x2a')](_[_0x9682('0x34')](_0x1d827e['query'],_0x176624[_0x9682('0x2a')]),_0x5f4294);if(_0x1d827e['query'][_0x9682('0x35')]){_0x1fdb4d['where']=_[_0x9682('0x36')](_0x1fdb4d[_0x9682('0x33')],{'$or':_[_0x9682('0x26')](_0x5f4294,function(_0x110fff){if(_0x110fff[_0x9682('0x37')]!==_0x9682('0x38')){var _0x123367={};_0x123367[_0x110fff[_0x9682('0x23')]]={'$like':'%'+_0x1d827e[_0x9682('0x28')][_0x9682('0x35')]+'%'};return _0x123367;}})});}_0x1fdb4d=_[_0x9682('0x36')]({},_0x1fdb4d,_0x1d827e['options']);var _0x30bdf0={'where':_0x1fdb4d[_0x9682('0x33')]};return db[_0x9682('0x39')][_0x9682('0x3a')](_0x30bdf0)[_0x9682('0x1f')](function(_0x479ac7){_0x14d974[_0x9682('0x3a')]=_0x479ac7;if(_0x1d827e[_0x9682('0x28')][_0x9682('0x3b')]){_0x1fdb4d['include']=[{'all':!![]}];}return db[_0x9682('0x39')][_0x9682('0x3c')](_0x1fdb4d);})[_0x9682('0x1f')](function(_0x240431){_0x14d974[_0x9682('0x3d')]=_0x240431;return _0x14d974;})[_0x9682('0x1f')](respondWithFilteredResult(_0x9e3d59,_0x1fdb4d))[_0x9682('0x3e')](handleError(_0x9e3d59,null));};exports[_0x9682('0x3f')]=function(_0x6e3eaa,_0x2d9b43){var _0x46b5c6={'raw':!![],'where':{'id':_0x6e3eaa[_0x9682('0x40')]['id']}},_0x3324b2={};_0x3324b2[_0x9682('0x2d')]=_[_0x9682('0x29')](db[_0x9682('0x39')]['rawAttributes']);_0x3324b2[_0x9682('0x28')]=_['keys'](_0x6e3eaa[_0x9682('0x28')]);_0x3324b2[_0x9682('0x2a')]=_[_0x9682('0x2c')](_0x3324b2['model'],_0x3324b2['query']);_0x46b5c6[_0x9682('0x2b')]=_[_0x9682('0x2c')](_0x3324b2[_0x9682('0x2d')],qs[_0x9682('0x2e')](_0x6e3eaa[_0x9682('0x28')][_0x9682('0x2e')]));_0x46b5c6[_0x9682('0x2b')]=_0x46b5c6['attributes'][_0x9682('0x2f')]?_0x46b5c6['attributes']:_0x3324b2[_0x9682('0x2d')];if(_0x6e3eaa[_0x9682('0x28')][_0x9682('0x3b')]){_0x46b5c6[_0x9682('0x41')]=[{'all':!![]}];}_0x46b5c6=_[_0x9682('0x36')]({},_0x46b5c6,_0x6e3eaa[_0x9682('0x42')]);return db[_0x9682('0x39')][_0x9682('0x43')](_0x46b5c6)['then'](handleEntityNotFound(_0x2d9b43,null))[_0x9682('0x1f')](respondWithResult(_0x2d9b43,null))[_0x9682('0x3e')](handleError(_0x2d9b43,null));};exports[_0x9682('0x44')]=function(_0x1d09a4,_0xd99414){return db[_0x9682('0x39')]['create'](_0x1d09a4[_0x9682('0x45')],{})[_0x9682('0x1f')](respondWithResult(_0xd99414,0xc9))[_0x9682('0x3e')](handleError(_0xd99414,null));};exports[_0x9682('0x1e')]=function(_0x3c79ce,_0x2cc99b){if(_0x3c79ce[_0x9682('0x45')]['id']){delete _0x3c79ce[_0x9682('0x45')]['id'];}return db[_0x9682('0x39')][_0x9682('0x43')]({'where':{'id':_0x3c79ce['params']['id']}})['then'](handleEntityNotFound(_0x2cc99b,null))['then'](saveUpdates(_0x3c79ce['body'],null))['then'](respondWithResult(_0x2cc99b,null))[_0x9682('0x3e')](handleError(_0x2cc99b,null));};exports[_0x9682('0x20')]=function(_0x731dd0,_0x5154c7){return db[_0x9682('0x39')][_0x9682('0x43')]({'where':{'id':_0x731dd0[_0x9682('0x40')]['id']}})['then'](handleEntityNotFound(_0x5154c7,null))[_0x9682('0x1f')](removeEntity(_0x5154c7,null))[_0x9682('0x3e')](handleError(_0x5154c7,null));};exports[_0x9682('0x46')]=function(_0x29fa7f,_0x3357d5){return db[_0x9682('0x39')][_0x9682('0x46')]()['then'](respondWithResult(_0x3357d5,null))[_0x9682('0x3e')](handleError(_0x3357d5,null));};