1ddea85c28318ac8c9b36430a939f0f897ec7c8a
[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 _0x9f7a=['end','offset','undefined','limit','count','set','Content-Range','json','update','then','error','name','send','map','ChatQueueReport','type','key','query','intersection','model','attributes','fields','order','sort','filters','pick','filter','where','merge','options','include','findAll','rows','catch','show','params','keys','rawAttributes','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','path','sox','fs-extra','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x26c278,_0x176ce3){var _0x4deae7=function(_0x4256d0){while(--_0x4256d0){_0x26c278['push'](_0x26c278['shift']());}};_0x4deae7(++_0x176ce3);}(_0x9f7a,0xf1));var _0xa9f7=function(_0x17928f,_0x4ad33f){_0x17928f=_0x17928f-0x0;var _0x500b63=_0x9f7a[_0x17928f];return _0x500b63;};'use strict';var emlformat=require(_0xa9f7('0x0'));var rimraf=require(_0xa9f7('0x1'));var zipdir=require(_0xa9f7('0x2'));var jsonpatch=require(_0xa9f7('0x3'));var rp=require('request-promise');var moment=require(_0xa9f7('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xa9f7('0x5'));var sox=require(_0xa9f7('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa9f7('0x7'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa9f7('0x8'));var deskjs=require('desk.js');var toCsv=require(_0xa9f7('0x9'));var querystring=require(_0xa9f7('0xa'));var Papa=require(_0xa9f7('0xb'));var Redis=require('ioredis');var authService=require(_0xa9f7('0xc'));var qs=require(_0xa9f7('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa9f7('0xe'));var logger=require(_0xa9f7('0xf'))(_0xa9f7('0x10'));var utils=require(_0xa9f7('0x11'));var config=require(_0xa9f7('0x12'));var licenseUtil=require(_0xa9f7('0x13'));var db=require(_0xa9f7('0x14'))['db'];function respondWithStatusCode(_0x52e4d4,_0x532485){_0x532485=_0x532485||0xcc;return function(_0x5462c6){if(_0x5462c6){return _0x52e4d4[_0xa9f7('0x15')](_0x532485);}return _0x52e4d4[_0xa9f7('0x16')](_0x532485)[_0xa9f7('0x17')]();};}function respondWithResult(_0x4fb93c,_0x5f097c){_0x5f097c=_0x5f097c||0xc8;return function(_0xe56a20){if(_0xe56a20){return _0x4fb93c['status'](_0x5f097c)['json'](_0xe56a20);}};}function respondWithFilteredResult(_0x188f8a,_0x3987a5){return function(_0x30b935){if(_0x30b935){var _0x4cc9f3=typeof _0x3987a5[_0xa9f7('0x18')]===_0xa9f7('0x19')&&typeof _0x3987a5[_0xa9f7('0x1a')]==='undefined';var _0x310009=_0x30b935[_0xa9f7('0x1b')];var _0x230904=_0x4cc9f3?0x0:_0x3987a5[_0xa9f7('0x18')];var _0x8da225=_0x4cc9f3?_0x30b935[_0xa9f7('0x1b')]:_0x3987a5[_0xa9f7('0x18')]+_0x3987a5[_0xa9f7('0x1a')];var _0x2d0a7b;if(_0x8da225>=_0x310009){_0x8da225=_0x310009;_0x2d0a7b=0xc8;}else{_0x2d0a7b=0xce;}_0x188f8a['status'](_0x2d0a7b);return _0x188f8a[_0xa9f7('0x1c')](_0xa9f7('0x1d'),_0x230904+'-'+_0x8da225+'/'+_0x310009)[_0xa9f7('0x1e')](_0x30b935);}return null;};}function patchUpdates(_0x28590b){return function(_0x402c6d){try{jsonpatch['apply'](_0x402c6d,_0x28590b,!![]);}catch(_0x4a27de){return BPromise['reject'](_0x4a27de);}return _0x402c6d['save']();};}function saveUpdates(_0x4edaf9,_0x4b7202){return function(_0x5c9e4f){if(_0x5c9e4f){return _0x5c9e4f[_0xa9f7('0x1f')](_0x4edaf9)['then'](function(_0x5a62ba){return _0x5a62ba;});}return null;};}function removeEntity(_0x3fa542,_0x530992){return function(_0x502562){if(_0x502562){return _0x502562['destroy']()[_0xa9f7('0x20')](function(){_0x3fa542[_0xa9f7('0x16')](0xcc)[_0xa9f7('0x17')]();});}};}function handleEntityNotFound(_0x537d55,_0x131872){return function(_0x112446){if(!_0x112446){_0x537d55[_0xa9f7('0x15')](0x194);}return _0x112446;};}function handleError(_0x5555f6,_0x44a86d){_0x44a86d=_0x44a86d||0x1f4;return function(_0x52bb0a){logger[_0xa9f7('0x21')](_0x52bb0a['stack']);if(_0x52bb0a[_0xa9f7('0x22')]){delete _0x52bb0a[_0xa9f7('0x22')];}_0x5555f6[_0xa9f7('0x16')](_0x44a86d)[_0xa9f7('0x23')](_0x52bb0a);};}exports['index']=function(_0x41530a,_0x249604){var _0x16437e={},_0x312084={},_0xc9684a={'count':0x0,'rows':[]};var _0x471c3c=_[_0xa9f7('0x24')](db[_0xa9f7('0x25')]['rawAttributes'],function(_0x540f78){return{'name':_0x540f78['fieldName'],'type':_0x540f78[_0xa9f7('0x26')][_0xa9f7('0x27')]};});_0x312084['model']=_[_0xa9f7('0x24')](_0x471c3c,'name');_0x312084['query']=_['keys'](_0x41530a[_0xa9f7('0x28')]);_0x312084['filters']=_[_0xa9f7('0x29')](_0x312084[_0xa9f7('0x2a')],_0x312084[_0xa9f7('0x28')]);_0x16437e[_0xa9f7('0x2b')]=_[_0xa9f7('0x29')](_0x312084['model'],qs[_0xa9f7('0x2c')](_0x41530a[_0xa9f7('0x28')]['fields']));_0x16437e[_0xa9f7('0x2b')]=_0x16437e[_0xa9f7('0x2b')]['length']?_0x16437e[_0xa9f7('0x2b')]:_0x312084[_0xa9f7('0x2a')];if(!_0x41530a[_0xa9f7('0x28')]['hasOwnProperty']('nolimit')){_0x16437e[_0xa9f7('0x1a')]=qs[_0xa9f7('0x1a')](_0x41530a[_0xa9f7('0x28')][_0xa9f7('0x1a')]);_0x16437e[_0xa9f7('0x18')]=qs['offset'](_0x41530a[_0xa9f7('0x28')][_0xa9f7('0x18')]);}_0x16437e[_0xa9f7('0x2d')]=qs['sort'](_0x41530a['query'][_0xa9f7('0x2e')]);_0x16437e['where']=qs[_0xa9f7('0x2f')](_[_0xa9f7('0x30')](_0x41530a[_0xa9f7('0x28')],_0x312084[_0xa9f7('0x2f')]),_0x471c3c);if(_0x41530a['query'][_0xa9f7('0x31')]){_0x16437e[_0xa9f7('0x32')]=_[_0xa9f7('0x33')](_0x16437e[_0xa9f7('0x32')],{'$or':_[_0xa9f7('0x24')](_0x471c3c,function(_0x318f96){if(_0x318f96[_0xa9f7('0x26')]!=='VIRTUAL'){var _0xe6d3e3={};_0xe6d3e3[_0x318f96[_0xa9f7('0x22')]]={'$like':'%'+_0x41530a['query'][_0xa9f7('0x31')]+'%'};return _0xe6d3e3;}})});}_0x16437e=_[_0xa9f7('0x33')]({},_0x16437e,_0x41530a[_0xa9f7('0x34')]);var _0x419433={'where':_0x16437e[_0xa9f7('0x32')]};return db[_0xa9f7('0x25')][_0xa9f7('0x1b')](_0x419433)['then'](function(_0x402808){_0xc9684a[_0xa9f7('0x1b')]=_0x402808;if(_0x41530a[_0xa9f7('0x28')]['includeAll']){_0x16437e[_0xa9f7('0x35')]=[{'all':!![]}];}return db['ChatQueueReport'][_0xa9f7('0x36')](_0x16437e);})[_0xa9f7('0x20')](function(_0x5eb5d2){_0xc9684a[_0xa9f7('0x37')]=_0x5eb5d2;return _0xc9684a;})[_0xa9f7('0x20')](respondWithFilteredResult(_0x249604,_0x16437e))[_0xa9f7('0x38')](handleError(_0x249604,null));};exports[_0xa9f7('0x39')]=function(_0xd56610,_0x492d3f){var _0x3fb0d6={'raw':!![],'where':{'id':_0xd56610[_0xa9f7('0x3a')]['id']}},_0x2d9e79={};_0x2d9e79[_0xa9f7('0x2a')]=_[_0xa9f7('0x3b')](db[_0xa9f7('0x25')][_0xa9f7('0x3c')]);_0x2d9e79[_0xa9f7('0x28')]=_[_0xa9f7('0x3b')](_0xd56610[_0xa9f7('0x28')]);_0x2d9e79[_0xa9f7('0x2f')]=_[_0xa9f7('0x29')](_0x2d9e79['model'],_0x2d9e79['query']);_0x3fb0d6[_0xa9f7('0x2b')]=_[_0xa9f7('0x29')](_0x2d9e79[_0xa9f7('0x2a')],qs[_0xa9f7('0x2c')](_0xd56610[_0xa9f7('0x28')][_0xa9f7('0x2c')]));_0x3fb0d6[_0xa9f7('0x2b')]=_0x3fb0d6[_0xa9f7('0x2b')]['length']?_0x3fb0d6[_0xa9f7('0x2b')]:_0x2d9e79[_0xa9f7('0x2a')];if(_0xd56610[_0xa9f7('0x28')]['includeAll']){_0x3fb0d6['include']=[{'all':!![]}];}_0x3fb0d6=_[_0xa9f7('0x33')]({},_0x3fb0d6,_0xd56610['options']);return db[_0xa9f7('0x25')][_0xa9f7('0x3d')](_0x3fb0d6)[_0xa9f7('0x20')](handleEntityNotFound(_0x492d3f,null))[_0xa9f7('0x20')](respondWithResult(_0x492d3f,null))['catch'](handleError(_0x492d3f,null));};exports[_0xa9f7('0x3e')]=function(_0x4d9cd2,_0x30e7b2){return db[_0xa9f7('0x25')][_0xa9f7('0x3e')](_0x4d9cd2[_0xa9f7('0x3f')],{})[_0xa9f7('0x20')](respondWithResult(_0x30e7b2,0xc9))[_0xa9f7('0x38')](handleError(_0x30e7b2,null));};exports[_0xa9f7('0x1f')]=function(_0x232371,_0x11e37d){if(_0x232371['body']['id']){delete _0x232371[_0xa9f7('0x3f')]['id'];}return db[_0xa9f7('0x25')][_0xa9f7('0x3d')]({'where':{'id':_0x232371['params']['id']}})[_0xa9f7('0x20')](handleEntityNotFound(_0x11e37d,null))[_0xa9f7('0x20')](saveUpdates(_0x232371[_0xa9f7('0x3f')],null))[_0xa9f7('0x20')](respondWithResult(_0x11e37d,null))[_0xa9f7('0x38')](handleError(_0x11e37d,null));};exports[_0xa9f7('0x40')]=function(_0xcb22ff,_0x2afcf5){return db[_0xa9f7('0x25')][_0xa9f7('0x3d')]({'where':{'id':_0xcb22ff[_0xa9f7('0x3a')]['id']}})['then'](handleEntityNotFound(_0x2afcf5,null))[_0xa9f7('0x20')](removeEntity(_0x2afcf5,null))[_0xa9f7('0x38')](handleError(_0x2afcf5,null));};exports[_0xa9f7('0x41')]=function(_0x56b86e,_0x121394){return db[_0xa9f7('0x25')][_0xa9f7('0x41')]()[_0xa9f7('0x20')](respondWithResult(_0x121394,null))[_0xa9f7('0x38')](handleError(_0x121394,null));};