678daa8177554ec041b64eb8d7494a68226bd3de
[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 _0xcfef=['filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','ChatQueueReport','find','create','body','describe','rimraf','zip-dir','fast-json-patch','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick'];(function(_0x14acd5,_0x361989){var _0x593ebd=function(_0x1f5f7f){while(--_0x1f5f7f){_0x14acd5['push'](_0x14acd5['shift']());}};_0x593ebd(++_0x361989);}(_0xcfef,0x1cc));var _0xfcfe=function(_0x426006,_0x2e1c73){_0x426006=_0x426006-0x0;var _0x55b35a=_0xcfef[_0x426006];return _0x55b35a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfcfe('0x0'));var zipdir=require(_0xfcfe('0x1'));var jsonpatch=require(_0xfcfe('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xfcfe('0x3'));var path=require(_0xfcfe('0x4'));var sox=require(_0xfcfe('0x5'));var csv=require(_0xfcfe('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfcfe('0x7'));var squel=require('squel');var crypto=require(_0xfcfe('0x8'));var jsforce=require(_0xfcfe('0x9'));var deskjs=require(_0xfcfe('0xa'));var toCsv=require('to-csv');var querystring=require(_0xfcfe('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfcfe('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0xfcfe('0xd'));var hardwareService=require(_0xfcfe('0xe'));var logger=require(_0xfcfe('0xf'))(_0xfcfe('0x10'));var utils=require(_0xfcfe('0x11'));var config=require(_0xfcfe('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xfcfe('0x13'))['db'];function respondWithStatusCode(_0x4dff4c,_0x5d62df){_0x5d62df=_0x5d62df||0xcc;return function(_0x1c2437){if(_0x1c2437){return _0x4dff4c['sendStatus'](_0x5d62df);}return _0x4dff4c[_0xfcfe('0x14')](_0x5d62df)[_0xfcfe('0x15')]();};}function respondWithResult(_0x43ff55,_0x36545e){_0x36545e=_0x36545e||0xc8;return function(_0xaba08f){if(_0xaba08f){return _0x43ff55[_0xfcfe('0x14')](_0x36545e)[_0xfcfe('0x16')](_0xaba08f);}};}function respondWithFilteredResult(_0x5662d5,_0x4fe5fc){return function(_0xc4afc4){if(_0xc4afc4){var _0x17305a=typeof _0x4fe5fc[_0xfcfe('0x17')]===_0xfcfe('0x18')&&typeof _0x4fe5fc['limit']==='undefined';var _0x2f71fa=_0xc4afc4[_0xfcfe('0x19')];var _0x4393e4=_0x17305a?0x0:_0x4fe5fc['offset'];var _0x386a5d=_0x17305a?_0xc4afc4['count']:_0x4fe5fc[_0xfcfe('0x17')]+_0x4fe5fc[_0xfcfe('0x1a')];var _0x4fcc54;if(_0x386a5d>=_0x2f71fa){_0x386a5d=_0x2f71fa;_0x4fcc54=0xc8;}else{_0x4fcc54=0xce;}_0x5662d5[_0xfcfe('0x14')](_0x4fcc54);return _0x5662d5['set'](_0xfcfe('0x1b'),_0x4393e4+'-'+_0x386a5d+'/'+_0x2f71fa)[_0xfcfe('0x16')](_0xc4afc4);}return null;};}function patchUpdates(_0x4331a7){return function(_0x2f30b9){try{jsonpatch[_0xfcfe('0x1c')](_0x2f30b9,_0x4331a7,!![]);}catch(_0x577cdc){return BPromise[_0xfcfe('0x1d')](_0x577cdc);}return _0x2f30b9['save']();};}function saveUpdates(_0x55251a,_0x2b75e7){return function(_0xc07ffc){if(_0xc07ffc){return _0xc07ffc[_0xfcfe('0x1e')](_0x55251a)[_0xfcfe('0x1f')](function(_0x34e2bf){return _0x34e2bf;});}return null;};}function removeEntity(_0x4802a5,_0x131384){return function(_0x4c7c82){if(_0x4c7c82){return _0x4c7c82[_0xfcfe('0x20')]()[_0xfcfe('0x1f')](function(){_0x4802a5[_0xfcfe('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3ebd99,_0x4e10f8){return function(_0x115f23){if(!_0x115f23){_0x3ebd99[_0xfcfe('0x21')](0x194);}return _0x115f23;};}function handleError(_0x53fed5,_0x28bc46){_0x28bc46=_0x28bc46||0x1f4;return function(_0x24f3a7){logger[_0xfcfe('0x22')](_0x24f3a7[_0xfcfe('0x23')]);if(_0x24f3a7[_0xfcfe('0x24')]){delete _0x24f3a7[_0xfcfe('0x24')];}_0x53fed5[_0xfcfe('0x14')](_0x28bc46)[_0xfcfe('0x25')](_0x24f3a7);};}exports[_0xfcfe('0x26')]=function(_0x1db844,_0x3e683c){var _0x2a0702={},_0x12a91b={},_0x24d018={'count':0x0,'rows':[]};var _0x447a0c=_[_0xfcfe('0x27')](db['ChatQueueReport'][_0xfcfe('0x28')],function(_0x36eaa6){return{'name':_0x36eaa6[_0xfcfe('0x29')],'type':_0x36eaa6[_0xfcfe('0x2a')][_0xfcfe('0x2b')]};});_0x12a91b[_0xfcfe('0x2c')]=_[_0xfcfe('0x27')](_0x447a0c,_0xfcfe('0x24'));_0x12a91b[_0xfcfe('0x2d')]=_[_0xfcfe('0x2e')](_0x1db844['query']);_0x12a91b[_0xfcfe('0x2f')]=_[_0xfcfe('0x30')](_0x12a91b['model'],_0x12a91b[_0xfcfe('0x2d')]);_0x2a0702[_0xfcfe('0x31')]=_[_0xfcfe('0x30')](_0x12a91b[_0xfcfe('0x2c')],qs[_0xfcfe('0x32')](_0x1db844['query'][_0xfcfe('0x32')]));_0x2a0702['attributes']=_0x2a0702[_0xfcfe('0x31')][_0xfcfe('0x33')]?_0x2a0702[_0xfcfe('0x31')]:_0x12a91b[_0xfcfe('0x2c')];if(!_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x34')](_0xfcfe('0x35'))){_0x2a0702['limit']=qs[_0xfcfe('0x1a')](_0x1db844['query']['limit']);_0x2a0702[_0xfcfe('0x17')]=qs[_0xfcfe('0x17')](_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x17')]);}_0x2a0702[_0xfcfe('0x36')]=qs[_0xfcfe('0x37')](_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x37')]);_0x2a0702[_0xfcfe('0x38')]=qs[_0xfcfe('0x2f')](_[_0xfcfe('0x39')](_0x1db844[_0xfcfe('0x2d')],_0x12a91b['filters']),_0x447a0c);if(_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x3a')]){_0x2a0702[_0xfcfe('0x38')]=_[_0xfcfe('0x3b')](_0x2a0702[_0xfcfe('0x38')],{'$or':_[_0xfcfe('0x27')](_0x447a0c,function(_0x59fbab){if(_0x59fbab[_0xfcfe('0x2a')]!==_0xfcfe('0x3c')){var _0x3a6618={};_0x3a6618[_0x59fbab[_0xfcfe('0x24')]]={'$like':'%'+_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x3a')]+'%'};return _0x3a6618;}})});}_0x2a0702=_['merge']({},_0x2a0702,_0x1db844[_0xfcfe('0x3d')]);var _0x560c61={'where':_0x2a0702[_0xfcfe('0x38')]};return db['ChatQueueReport'][_0xfcfe('0x19')](_0x560c61)[_0xfcfe('0x1f')](function(_0x4c49b5){_0x24d018['count']=_0x4c49b5;if(_0x1db844[_0xfcfe('0x2d')][_0xfcfe('0x3e')]){_0x2a0702[_0xfcfe('0x3f')]=[{'all':!![]}];}return db['ChatQueueReport'][_0xfcfe('0x40')](_0x2a0702);})['then'](function(_0x1fb541){_0x24d018[_0xfcfe('0x41')]=_0x1fb541;return _0x24d018;})[_0xfcfe('0x1f')](respondWithFilteredResult(_0x3e683c,_0x2a0702))[_0xfcfe('0x42')](handleError(_0x3e683c,null));};exports[_0xfcfe('0x43')]=function(_0x323f4a,_0x48ec14){var _0x4e6546={'raw':!![],'where':{'id':_0x323f4a[_0xfcfe('0x44')]['id']}},_0x2f4654={};_0x2f4654[_0xfcfe('0x2c')]=_[_0xfcfe('0x2e')](db[_0xfcfe('0x45')][_0xfcfe('0x28')]);_0x2f4654['query']=_[_0xfcfe('0x2e')](_0x323f4a[_0xfcfe('0x2d')]);_0x2f4654[_0xfcfe('0x2f')]=_[_0xfcfe('0x30')](_0x2f4654[_0xfcfe('0x2c')],_0x2f4654[_0xfcfe('0x2d')]);_0x4e6546[_0xfcfe('0x31')]=_[_0xfcfe('0x30')](_0x2f4654[_0xfcfe('0x2c')],qs['fields'](_0x323f4a['query'][_0xfcfe('0x32')]));_0x4e6546[_0xfcfe('0x31')]=_0x4e6546[_0xfcfe('0x31')][_0xfcfe('0x33')]?_0x4e6546[_0xfcfe('0x31')]:_0x2f4654[_0xfcfe('0x2c')];if(_0x323f4a['query']['includeAll']){_0x4e6546['include']=[{'all':!![]}];}_0x4e6546=_['merge']({},_0x4e6546,_0x323f4a[_0xfcfe('0x3d')]);return db[_0xfcfe('0x45')][_0xfcfe('0x46')](_0x4e6546)[_0xfcfe('0x1f')](handleEntityNotFound(_0x48ec14,null))[_0xfcfe('0x1f')](respondWithResult(_0x48ec14,null))['catch'](handleError(_0x48ec14,null));};exports[_0xfcfe('0x47')]=function(_0x39f97e,_0x1e8f2c){return db[_0xfcfe('0x45')][_0xfcfe('0x47')](_0x39f97e['body'],{})[_0xfcfe('0x1f')](respondWithResult(_0x1e8f2c,0xc9))[_0xfcfe('0x42')](handleError(_0x1e8f2c,null));};exports['update']=function(_0x357a61,_0x5300ab){if(_0x357a61[_0xfcfe('0x48')]['id']){delete _0x357a61[_0xfcfe('0x48')]['id'];}return db[_0xfcfe('0x45')][_0xfcfe('0x46')]({'where':{'id':_0x357a61[_0xfcfe('0x44')]['id']}})[_0xfcfe('0x1f')](handleEntityNotFound(_0x5300ab,null))[_0xfcfe('0x1f')](saveUpdates(_0x357a61[_0xfcfe('0x48')],null))[_0xfcfe('0x1f')](respondWithResult(_0x5300ab,null))[_0xfcfe('0x42')](handleError(_0x5300ab,null));};exports[_0xfcfe('0x20')]=function(_0x356236,_0x56f63a){return db['ChatQueueReport'][_0xfcfe('0x46')]({'where':{'id':_0x356236[_0xfcfe('0x44')]['id']}})['then'](handleEntityNotFound(_0x56f63a,null))[_0xfcfe('0x1f')](removeEntity(_0x56f63a,null))['catch'](handleError(_0x56f63a,null));};exports[_0xfcfe('0x49')]=function(_0xd1b250,_0x3e5cab){return db[_0xfcfe('0x45')][_0xfcfe('0x49')]()[_0xfcfe('0x1f')](respondWithResult(_0x3e5cab,null))['catch'](handleError(_0x3e5cab,null));};