47f336ee84ac8708c13f631b452c3148c712d9f0
[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 _0x05d7=['../../config/logger','api','../../config/environment','sendStatus','status','json','limit','count','offset','apply','reject','save','update','then','destroy','stack','send','index','rawAttributes','fieldName','map','name','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','type','VIRTUAL','options','includeAll','ChatQueueReport','findAll','rows','catch','params','keys','merge','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware'];(function(_0x46df63,_0x5cbc34){var _0x236616=function(_0x3281ba){while(--_0x3281ba){_0x46df63['push'](_0x46df63['shift']());}};_0x236616(++_0x5cbc34);}(_0x05d7,0x180));var _0x705d=function(_0x39e283,_0x247e6b){_0x39e283=_0x39e283-0x0;var _0x7de89f=_0x05d7[_0x39e283];return _0x7de89f;};'use strict';var emlformat=require(_0x705d('0x0'));var rimraf=require(_0x705d('0x1'));var zipdir=require(_0x705d('0x2'));var jsonpatch=require(_0x705d('0x3'));var rp=require(_0x705d('0x4'));var moment=require(_0x705d('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x705d('0x6'));var path=require('path');var sox=require(_0x705d('0x7'));var csv=require(_0x705d('0x8'));var ejs=require(_0x705d('0x9'));var fs=require('fs');var fs_extra=require(_0x705d('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x705d('0xb'));var jsforce=require(_0x705d('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x705d('0xd'));var Papa=require('papaparse');var Redis=require(_0x705d('0xe'));var authService=require(_0x705d('0xf'));var qs=require(_0x705d('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x705d('0x11'));var logger=require(_0x705d('0x12'))(_0x705d('0x13'));var utils=require('../../config/utils');var config=require(_0x705d('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43b3f4,_0x1ca8e8){_0x1ca8e8=_0x1ca8e8||0xcc;return function(_0x94096a){if(_0x94096a){return _0x43b3f4[_0x705d('0x15')](_0x1ca8e8);}return _0x43b3f4[_0x705d('0x16')](_0x1ca8e8)['end']();};}function respondWithResult(_0x5a939d,_0x467fe4){_0x467fe4=_0x467fe4||0xc8;return function(_0x3c1b3c){if(_0x3c1b3c){return _0x5a939d['status'](_0x467fe4)[_0x705d('0x17')](_0x3c1b3c);}};}function respondWithFilteredResult(_0x5e7687,_0x1d1d3c){return function(_0x1bc479){if(_0x1bc479){var _0x244f01=typeof _0x1d1d3c['offset']==='undefined'&&typeof _0x1d1d3c[_0x705d('0x18')]==='undefined';var _0x15e94e=_0x1bc479[_0x705d('0x19')];var _0x480e77=_0x244f01?0x0:_0x1d1d3c[_0x705d('0x1a')];var _0x4f3b2b=_0x244f01?_0x1bc479[_0x705d('0x19')]:_0x1d1d3c[_0x705d('0x1a')]+_0x1d1d3c[_0x705d('0x18')];var _0x51ef80;if(_0x4f3b2b>=_0x15e94e){_0x4f3b2b=_0x15e94e;_0x51ef80=0xc8;}else{_0x51ef80=0xce;}_0x5e7687['status'](_0x51ef80);return _0x5e7687['set']('Content-Range',_0x480e77+'-'+_0x4f3b2b+'/'+_0x15e94e)[_0x705d('0x17')](_0x1bc479);}return null;};}function patchUpdates(_0x408e52){return function(_0x2f4f43){try{jsonpatch[_0x705d('0x1b')](_0x2f4f43,_0x408e52,!![]);}catch(_0x202c6b){return BPromise[_0x705d('0x1c')](_0x202c6b);}return _0x2f4f43[_0x705d('0x1d')]();};}function saveUpdates(_0x21565c,_0x219f21){return function(_0x30601d){if(_0x30601d){return _0x30601d[_0x705d('0x1e')](_0x21565c)[_0x705d('0x1f')](function(_0x6086cc){return _0x6086cc;});}return null;};}function removeEntity(_0x19555f,_0x36866c){return function(_0x217bed){if(_0x217bed){return _0x217bed[_0x705d('0x20')]()['then'](function(){_0x19555f[_0x705d('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b0e14,_0x1867fd){return function(_0x2bc9){if(!_0x2bc9){_0x4b0e14[_0x705d('0x15')](0x194);}return _0x2bc9;};}function handleError(_0x4481c9,_0xfdc4e0){_0xfdc4e0=_0xfdc4e0||0x1f4;return function(_0xb2e7de){logger['error'](_0xb2e7de[_0x705d('0x21')]);if(_0xb2e7de['name']){delete _0xb2e7de['name'];}_0x4481c9['status'](_0xfdc4e0)[_0x705d('0x22')](_0xb2e7de);};}exports[_0x705d('0x23')]=function(_0x3811d6,_0xa5cc76){var _0x229166={},_0x1ebb54={},_0x1cabc7={'count':0x0,'rows':[]};var _0x4b59f5=_['map'](db['ChatQueueReport'][_0x705d('0x24')],function(_0x29a564){return{'name':_0x29a564[_0x705d('0x25')],'type':_0x29a564['type']['key']};});_0x1ebb54['model']=_[_0x705d('0x26')](_0x4b59f5,_0x705d('0x27'));_0x1ebb54[_0x705d('0x28')]=_['keys'](_0x3811d6['query']);_0x1ebb54[_0x705d('0x29')]=_[_0x705d('0x2a')](_0x1ebb54[_0x705d('0x2b')],_0x1ebb54['query']);_0x229166[_0x705d('0x2c')]=_[_0x705d('0x2a')](_0x1ebb54[_0x705d('0x2b')],qs[_0x705d('0x2d')](_0x3811d6[_0x705d('0x28')]['fields']));_0x229166['attributes']=_0x229166[_0x705d('0x2c')][_0x705d('0x2e')]?_0x229166[_0x705d('0x2c')]:_0x1ebb54[_0x705d('0x2b')];if(!_0x3811d6[_0x705d('0x28')][_0x705d('0x2f')](_0x705d('0x30'))){_0x229166['limit']=qs['limit'](_0x3811d6[_0x705d('0x28')][_0x705d('0x18')]);_0x229166[_0x705d('0x1a')]=qs[_0x705d('0x1a')](_0x3811d6['query'][_0x705d('0x1a')]);}_0x229166['order']=qs['sort'](_0x3811d6[_0x705d('0x28')][_0x705d('0x31')]);_0x229166[_0x705d('0x32')]=qs[_0x705d('0x29')](_['pick'](_0x3811d6['query'],_0x1ebb54[_0x705d('0x29')]),_0x4b59f5);if(_0x3811d6[_0x705d('0x28')][_0x705d('0x33')]){_0x229166[_0x705d('0x32')]=_['merge'](_0x229166['where'],{'$or':_[_0x705d('0x26')](_0x4b59f5,function(_0x2d6518){if(_0x2d6518[_0x705d('0x34')]!==_0x705d('0x35')){var _0x3dd15b={};_0x3dd15b[_0x2d6518['name']]={'$like':'%'+_0x3811d6[_0x705d('0x28')][_0x705d('0x33')]+'%'};return _0x3dd15b;}})});}_0x229166=_['merge']({},_0x229166,_0x3811d6[_0x705d('0x36')]);var _0x1e1c78={'where':_0x229166[_0x705d('0x32')]};return db['ChatQueueReport'][_0x705d('0x19')](_0x1e1c78)[_0x705d('0x1f')](function(_0x5b9bc3){_0x1cabc7[_0x705d('0x19')]=_0x5b9bc3;if(_0x3811d6[_0x705d('0x28')][_0x705d('0x37')]){_0x229166['include']=[{'all':!![]}];}return db[_0x705d('0x38')][_0x705d('0x39')](_0x229166);})[_0x705d('0x1f')](function(_0x4de0d3){_0x1cabc7[_0x705d('0x3a')]=_0x4de0d3;return _0x1cabc7;})['then'](respondWithFilteredResult(_0xa5cc76,_0x229166))[_0x705d('0x3b')](handleError(_0xa5cc76,null));};exports['show']=function(_0x3d9ae8,_0x8d8027){var _0x38640a={'raw':!![],'where':{'id':_0x3d9ae8[_0x705d('0x3c')]['id']}},_0x13c50a={};_0x13c50a[_0x705d('0x2b')]=_[_0x705d('0x3d')](db[_0x705d('0x38')][_0x705d('0x24')]);_0x13c50a[_0x705d('0x28')]=_['keys'](_0x3d9ae8['query']);_0x13c50a[_0x705d('0x29')]=_[_0x705d('0x2a')](_0x13c50a[_0x705d('0x2b')],_0x13c50a[_0x705d('0x28')]);_0x38640a[_0x705d('0x2c')]=_[_0x705d('0x2a')](_0x13c50a[_0x705d('0x2b')],qs['fields'](_0x3d9ae8[_0x705d('0x28')][_0x705d('0x2d')]));_0x38640a[_0x705d('0x2c')]=_0x38640a[_0x705d('0x2c')][_0x705d('0x2e')]?_0x38640a[_0x705d('0x2c')]:_0x13c50a[_0x705d('0x2b')];if(_0x3d9ae8[_0x705d('0x28')]['includeAll']){_0x38640a['include']=[{'all':!![]}];}_0x38640a=_[_0x705d('0x3e')]({},_0x38640a,_0x3d9ae8[_0x705d('0x36')]);return db[_0x705d('0x38')][_0x705d('0x3f')](_0x38640a)['then'](handleEntityNotFound(_0x8d8027,null))[_0x705d('0x1f')](respondWithResult(_0x8d8027,null))['catch'](handleError(_0x8d8027,null));};exports[_0x705d('0x40')]=function(_0x10f26d,_0x44f3d6){return db[_0x705d('0x38')][_0x705d('0x40')](_0x10f26d[_0x705d('0x41')],{})[_0x705d('0x1f')](respondWithResult(_0x44f3d6,0xc9))[_0x705d('0x3b')](handleError(_0x44f3d6,null));};exports[_0x705d('0x1e')]=function(_0x3c5df9,_0xabce45){if(_0x3c5df9['body']['id']){delete _0x3c5df9[_0x705d('0x41')]['id'];}return db['ChatQueueReport'][_0x705d('0x3f')]({'where':{'id':_0x3c5df9[_0x705d('0x3c')]['id']}})['then'](handleEntityNotFound(_0xabce45,null))[_0x705d('0x1f')](saveUpdates(_0x3c5df9[_0x705d('0x41')],null))[_0x705d('0x1f')](respondWithResult(_0xabce45,null))['catch'](handleError(_0xabce45,null));};exports['destroy']=function(_0x4ccbee,_0x1f57c8){return db[_0x705d('0x38')][_0x705d('0x3f')]({'where':{'id':_0x4ccbee[_0x705d('0x3c')]['id']}})[_0x705d('0x1f')](handleEntityNotFound(_0x1f57c8,null))[_0x705d('0x1f')](removeEntity(_0x1f57c8,null))[_0x705d('0x3b')](handleError(_0x1f57c8,null));};exports[_0x705d('0x42')]=function(_0x171aee,_0x2afecd){return db[_0x705d('0x38')][_0x705d('0x42')]()['then'](respondWithResult(_0x2afecd,null))[_0x705d('0x3b')](handleError(_0x2afecd,null));};