Built motion from commit 9d7072cc.|2.5.39
[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 _0x87d8=['util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','destroy','stack','name','index','map','rawAttributes','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','options','ChatQueueReport','findAll','catch','show','params','includeAll','include','merge','find','create','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x1392c1,_0x2b5409){var _0x8ec2de=function(_0x46061e){while(--_0x46061e){_0x1392c1['push'](_0x1392c1['shift']());}};_0x8ec2de(++_0x2b5409);}(_0x87d8,0x1a9));var _0x887d=function(_0x57cb4f,_0x541f57){_0x57cb4f=_0x57cb4f-0x0;var _0x29bb45=_0x87d8[_0x57cb4f];return _0x29bb45;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x887d('0x0'));var zipdir=require(_0x887d('0x1'));var jsonpatch=require(_0x887d('0x2'));var rp=require(_0x887d('0x3'));var moment=require(_0x887d('0x4'));var BPromise=require(_0x887d('0x5'));var Mustache=require(_0x887d('0x6'));var util=require(_0x887d('0x7'));var path=require(_0x887d('0x8'));var sox=require(_0x887d('0x9'));var csv=require(_0x887d('0xa'));var ejs=require(_0x887d('0xb'));var fs=require('fs');var fs_extra=require(_0x887d('0xc'));var _=require(_0x887d('0xd'));var squel=require(_0x887d('0xe'));var crypto=require('crypto');var jsforce=require(_0x887d('0xf'));var deskjs=require(_0x887d('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x887d('0x11'));var qs=require(_0x887d('0x12'));var as=require(_0x887d('0x13'));var hardwareService=require(_0x887d('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x887d('0x15'));var config=require(_0x887d('0x16'));var licenseUtil=require(_0x887d('0x17'));var db=require(_0x887d('0x18'))['db'];function respondWithStatusCode(_0x33227a,_0x40b460){_0x40b460=_0x40b460||0xcc;return function(_0x947424){if(_0x947424){return _0x33227a[_0x887d('0x19')](_0x40b460);}return _0x33227a['status'](_0x40b460)[_0x887d('0x1a')]();};}function respondWithResult(_0x3c7c9d,_0x8004b0){_0x8004b0=_0x8004b0||0xc8;return function(_0x5e6c9a){if(_0x5e6c9a){return _0x3c7c9d[_0x887d('0x1b')](_0x8004b0)[_0x887d('0x1c')](_0x5e6c9a);}};}function respondWithFilteredResult(_0x47b8dd,_0x572435){return function(_0x592951){if(_0x592951){var _0x2ae0f0=typeof _0x572435[_0x887d('0x1d')]==='undefined'&&typeof _0x572435[_0x887d('0x1e')]===_0x887d('0x1f');var _0x317ef4=_0x592951['count'];var _0xdfadaf=_0x2ae0f0?0x0:_0x572435[_0x887d('0x1d')];var _0x5e97ec=_0x2ae0f0?_0x592951[_0x887d('0x20')]:_0x572435['offset']+_0x572435[_0x887d('0x1e')];var _0x53c593;if(_0x5e97ec>=_0x317ef4){_0x5e97ec=_0x317ef4;_0x53c593=0xc8;}else{_0x53c593=0xce;}_0x47b8dd[_0x887d('0x1b')](_0x53c593);return _0x47b8dd[_0x887d('0x21')](_0x887d('0x22'),_0xdfadaf+'-'+_0x5e97ec+'/'+_0x317ef4)[_0x887d('0x1c')](_0x592951);}return null;};}function patchUpdates(_0x2efaa8){return function(_0x3200fc){try{jsonpatch[_0x887d('0x23')](_0x3200fc,_0x2efaa8,!![]);}catch(_0x5c93b4){return BPromise['reject'](_0x5c93b4);}return _0x3200fc[_0x887d('0x24')]();};}function saveUpdates(_0x4e0c55,_0x2aca37){return function(_0x311aed){if(_0x311aed){return _0x311aed[_0x887d('0x25')](_0x4e0c55)[_0x887d('0x26')](function(_0x35684c){return _0x35684c;});}return null;};}function removeEntity(_0x3d4a92,_0x515554){return function(_0x332bed){if(_0x332bed){return _0x332bed[_0x887d('0x27')]()['then'](function(){_0x3d4a92['status'](0xcc)[_0x887d('0x1a')]();});}};}function handleEntityNotFound(_0x3e198b,_0x15c730){return function(_0x36d9fd){if(!_0x36d9fd){_0x3e198b['sendStatus'](0x194);}return _0x36d9fd;};}function handleError(_0x3a6fe6,_0x3c67ee){_0x3c67ee=_0x3c67ee||0x1f4;return function(_0x2cc7f7){logger['error'](_0x2cc7f7[_0x887d('0x28')]);if(_0x2cc7f7[_0x887d('0x29')]){delete _0x2cc7f7[_0x887d('0x29')];}_0x3a6fe6['status'](_0x3c67ee)['send'](_0x2cc7f7);};}exports[_0x887d('0x2a')]=function(_0x6bca0,_0x57affa){var _0x5dd9db={},_0x329b92={},_0x5768c0={'count':0x0,'rows':[]};var _0x26a239=_[_0x887d('0x2b')](db['ChatQueueReport'][_0x887d('0x2c')],function(_0x9e392b){return{'name':_0x9e392b['fieldName'],'type':_0x9e392b['type']['key']};});_0x329b92[_0x887d('0x2d')]=_[_0x887d('0x2b')](_0x26a239,_0x887d('0x29'));_0x329b92[_0x887d('0x2e')]=_[_0x887d('0x2f')](_0x6bca0['query']);_0x329b92[_0x887d('0x30')]=_[_0x887d('0x31')](_0x329b92[_0x887d('0x2d')],_0x329b92['query']);_0x5dd9db['attributes']=_[_0x887d('0x31')](_0x329b92['model'],qs['fields'](_0x6bca0[_0x887d('0x2e')]['fields']));_0x5dd9db[_0x887d('0x32')]=_0x5dd9db[_0x887d('0x32')][_0x887d('0x33')]?_0x5dd9db[_0x887d('0x32')]:_0x329b92['model'];if(!_0x6bca0[_0x887d('0x2e')][_0x887d('0x34')](_0x887d('0x35'))){_0x5dd9db[_0x887d('0x1e')]=qs[_0x887d('0x1e')](_0x6bca0['query'][_0x887d('0x1e')]);_0x5dd9db[_0x887d('0x1d')]=qs['offset'](_0x6bca0[_0x887d('0x2e')]['offset']);}_0x5dd9db[_0x887d('0x36')]=qs[_0x887d('0x37')](_0x6bca0['query']['sort']);_0x5dd9db['where']=qs[_0x887d('0x30')](_[_0x887d('0x38')](_0x6bca0[_0x887d('0x2e')],_0x329b92[_0x887d('0x30')]),_0x26a239);if(_0x6bca0[_0x887d('0x2e')][_0x887d('0x39')]){_0x5dd9db[_0x887d('0x3a')]=_['merge'](_0x5dd9db[_0x887d('0x3a')],{'$or':_['map'](_0x26a239,function(_0x5bfc08){if(_0x5bfc08['type']!=='VIRTUAL'){var _0x9df32b={};_0x9df32b[_0x5bfc08[_0x887d('0x29')]]={'$like':'%'+_0x6bca0[_0x887d('0x2e')][_0x887d('0x39')]+'%'};return _0x9df32b;}})});}_0x5dd9db=_['merge']({},_0x5dd9db,_0x6bca0[_0x887d('0x3b')]);var _0x155523={'where':_0x5dd9db['where']};return db[_0x887d('0x3c')]['count'](_0x155523)[_0x887d('0x26')](function(_0x583594){_0x5768c0['count']=_0x583594;if(_0x6bca0[_0x887d('0x2e')]['includeAll']){_0x5dd9db['include']=[{'all':!![]}];}return db[_0x887d('0x3c')][_0x887d('0x3d')](_0x5dd9db);})[_0x887d('0x26')](function(_0x1f0d8b){_0x5768c0['rows']=_0x1f0d8b;return _0x5768c0;})['then'](respondWithFilteredResult(_0x57affa,_0x5dd9db))[_0x887d('0x3e')](handleError(_0x57affa,null));};exports[_0x887d('0x3f')]=function(_0x1df859,_0x1d8c49){var _0x53161f={'raw':!![],'where':{'id':_0x1df859[_0x887d('0x40')]['id']}},_0x2adf55={};_0x2adf55['model']=_[_0x887d('0x2f')](db[_0x887d('0x3c')]['rawAttributes']);_0x2adf55[_0x887d('0x2e')]=_['keys'](_0x1df859['query']);_0x2adf55['filters']=_[_0x887d('0x31')](_0x2adf55[_0x887d('0x2d')],_0x2adf55[_0x887d('0x2e')]);_0x53161f[_0x887d('0x32')]=_['intersection'](_0x2adf55[_0x887d('0x2d')],qs['fields'](_0x1df859[_0x887d('0x2e')]['fields']));_0x53161f[_0x887d('0x32')]=_0x53161f['attributes'][_0x887d('0x33')]?_0x53161f[_0x887d('0x32')]:_0x2adf55['model'];if(_0x1df859[_0x887d('0x2e')][_0x887d('0x41')]){_0x53161f[_0x887d('0x42')]=[{'all':!![]}];}_0x53161f=_[_0x887d('0x43')]({},_0x53161f,_0x1df859['options']);return db[_0x887d('0x3c')][_0x887d('0x44')](_0x53161f)[_0x887d('0x26')](handleEntityNotFound(_0x1d8c49,null))[_0x887d('0x26')](respondWithResult(_0x1d8c49,null))[_0x887d('0x3e')](handleError(_0x1d8c49,null));};exports[_0x887d('0x45')]=function(_0x3c8a0f,_0x4392d0){return db[_0x887d('0x3c')][_0x887d('0x45')](_0x3c8a0f['body'],{})[_0x887d('0x26')](respondWithResult(_0x4392d0,0xc9))[_0x887d('0x3e')](handleError(_0x4392d0,null));};exports[_0x887d('0x25')]=function(_0x12d0fd,_0x3a42b9){if(_0x12d0fd[_0x887d('0x46')]['id']){delete _0x12d0fd['body']['id'];}return db[_0x887d('0x3c')][_0x887d('0x44')]({'where':{'id':_0x12d0fd[_0x887d('0x40')]['id']}})[_0x887d('0x26')](handleEntityNotFound(_0x3a42b9,null))[_0x887d('0x26')](saveUpdates(_0x12d0fd[_0x887d('0x46')],null))[_0x887d('0x26')](respondWithResult(_0x3a42b9,null))[_0x887d('0x3e')](handleError(_0x3a42b9,null));};exports[_0x887d('0x27')]=function(_0x4d554c,_0x4c08e7){return db[_0x887d('0x3c')][_0x887d('0x44')]({'where':{'id':_0x4d554c['params']['id']}})[_0x887d('0x26')](handleEntityNotFound(_0x4c08e7,null))[_0x887d('0x26')](removeEntity(_0x4c08e7,null))['catch'](handleError(_0x4c08e7,null));};exports[_0x887d('0x47')]=function(_0x5167b5,_0x45607c){return db[_0x887d('0x3c')]['describe']()[_0x887d('0x26')](respondWithResult(_0x45607c,null))[_0x887d('0x3e')](handleError(_0x45607c,null));};