2728f4d1c18118e6a36147dbe768117242c6f6a9
[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 _0x3024=['type','key','model','name','query','keys','intersection','attributes','fields','length','nolimit','order','sort','filters','filter','where','VIRTUAL','merge','options','includeAll','findAll','rows','catch','params','include','find','body','describe','eml-format','rimraf','fast-json-patch','request-promise','mustache','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','json','apply','reject','save','update','then','destroy','stack','send','map','ChatQueueReport','rawAttributes','fieldName'];(function(_0x3a833e,_0x5a1878){var _0xdff445=function(_0x1715a3){while(--_0x1715a3){_0x3a833e['push'](_0x3a833e['shift']());}};_0xdff445(++_0x5a1878);}(_0x3024,0x64));var _0x4302=function(_0x32a308,_0x3399c8){_0x32a308=_0x32a308-0x0;var _0x5eb939=_0x3024[_0x32a308];return _0x5eb939;};'use strict';var emlformat=require(_0x4302('0x0'));var rimraf=require(_0x4302('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4302('0x2'));var rp=require(_0x4302('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4302('0x4'));var util=require('util');var path=require(_0x4302('0x5'));var sox=require(_0x4302('0x6'));var csv=require('to-csv');var ejs=require(_0x4302('0x7'));var fs=require('fs');var fs_extra=require(_0x4302('0x8'));var _=require('lodash');var squel=require(_0x4302('0x9'));var crypto=require(_0x4302('0xa'));var jsforce=require(_0x4302('0xb'));var deskjs=require(_0x4302('0xc'));var toCsv=require(_0x4302('0xd'));var querystring=require(_0x4302('0xe'));var Papa=require(_0x4302('0xf'));var Redis=require('ioredis');var authService=require(_0x4302('0x10'));var qs=require(_0x4302('0x11'));var as=require(_0x4302('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4302('0x13'))(_0x4302('0x14'));var utils=require('../../config/utils');var config=require(_0x4302('0x15'));var licenseUtil=require(_0x4302('0x16'));var db=require(_0x4302('0x17'))['db'];function respondWithStatusCode(_0x5a0241,_0x3ce552){_0x3ce552=_0x3ce552||0xcc;return function(_0x177706){if(_0x177706){return _0x5a0241['sendStatus'](_0x3ce552);}return _0x5a0241[_0x4302('0x18')](_0x3ce552)[_0x4302('0x19')]();};}function respondWithResult(_0x2b9821,_0x5b19ca){_0x5b19ca=_0x5b19ca||0xc8;return function(_0x1b254c){if(_0x1b254c){return _0x2b9821[_0x4302('0x18')](_0x5b19ca)['json'](_0x1b254c);}};}function respondWithFilteredResult(_0x36599d,_0x27a6a8){return function(_0x53c593){if(_0x53c593){var _0x1cc113=typeof _0x27a6a8[_0x4302('0x1a')]===_0x4302('0x1b')&&typeof _0x27a6a8[_0x4302('0x1c')]===_0x4302('0x1b');var _0x3ce7c2=_0x53c593[_0x4302('0x1d')];var _0x23aa0e=_0x1cc113?0x0:_0x27a6a8[_0x4302('0x1a')];var _0x41de23=_0x1cc113?_0x53c593[_0x4302('0x1d')]:_0x27a6a8[_0x4302('0x1a')]+_0x27a6a8[_0x4302('0x1c')];var _0xa736ce;if(_0x41de23>=_0x3ce7c2){_0x41de23=_0x3ce7c2;_0xa736ce=0xc8;}else{_0xa736ce=0xce;}_0x36599d['status'](_0xa736ce);return _0x36599d[_0x4302('0x1e')]('Content-Range',_0x23aa0e+'-'+_0x41de23+'/'+_0x3ce7c2)[_0x4302('0x1f')](_0x53c593);}return null;};}function patchUpdates(_0x50d168){return function(_0x4ad2a3){try{jsonpatch[_0x4302('0x20')](_0x4ad2a3,_0x50d168,!![]);}catch(_0x102eee){return BPromise[_0x4302('0x21')](_0x102eee);}return _0x4ad2a3[_0x4302('0x22')]();};}function saveUpdates(_0x525520,_0x5e2404){return function(_0x1d99fe){if(_0x1d99fe){return _0x1d99fe[_0x4302('0x23')](_0x525520)[_0x4302('0x24')](function(_0x4b259d){return _0x4b259d;});}return null;};}function removeEntity(_0x19ab4c,_0x156072){return function(_0x72ed32){if(_0x72ed32){return _0x72ed32[_0x4302('0x25')]()['then'](function(){_0x19ab4c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a2952,_0x1021b1){return function(_0x3ffa91){if(!_0x3ffa91){_0x5a2952['sendStatus'](0x194);}return _0x3ffa91;};}function handleError(_0x1e0486,_0x33a916){_0x33a916=_0x33a916||0x1f4;return function(_0x20fe19){logger['error'](_0x20fe19[_0x4302('0x26')]);if(_0x20fe19['name']){delete _0x20fe19['name'];}_0x1e0486['status'](_0x33a916)[_0x4302('0x27')](_0x20fe19);};}exports['index']=function(_0x2e1633,_0x1aca12){var _0x5cb819={},_0x1b057f={},_0x5bc965={'count':0x0,'rows':[]};var _0x1ce315=_[_0x4302('0x28')](db[_0x4302('0x29')][_0x4302('0x2a')],function(_0x2dd48c){return{'name':_0x2dd48c[_0x4302('0x2b')],'type':_0x2dd48c[_0x4302('0x2c')][_0x4302('0x2d')]};});_0x1b057f[_0x4302('0x2e')]=_['map'](_0x1ce315,_0x4302('0x2f'));_0x1b057f[_0x4302('0x30')]=_[_0x4302('0x31')](_0x2e1633[_0x4302('0x30')]);_0x1b057f['filters']=_[_0x4302('0x32')](_0x1b057f[_0x4302('0x2e')],_0x1b057f[_0x4302('0x30')]);_0x5cb819[_0x4302('0x33')]=_[_0x4302('0x32')](_0x1b057f['model'],qs[_0x4302('0x34')](_0x2e1633[_0x4302('0x30')][_0x4302('0x34')]));_0x5cb819[_0x4302('0x33')]=_0x5cb819[_0x4302('0x33')][_0x4302('0x35')]?_0x5cb819[_0x4302('0x33')]:_0x1b057f[_0x4302('0x2e')];if(!_0x2e1633[_0x4302('0x30')]['hasOwnProperty'](_0x4302('0x36'))){_0x5cb819['limit']=qs[_0x4302('0x1c')](_0x2e1633['query']['limit']);_0x5cb819[_0x4302('0x1a')]=qs[_0x4302('0x1a')](_0x2e1633[_0x4302('0x30')]['offset']);}_0x5cb819[_0x4302('0x37')]=qs[_0x4302('0x38')](_0x2e1633[_0x4302('0x30')][_0x4302('0x38')]);_0x5cb819['where']=qs[_0x4302('0x39')](_['pick'](_0x2e1633[_0x4302('0x30')],_0x1b057f[_0x4302('0x39')]),_0x1ce315);if(_0x2e1633[_0x4302('0x30')][_0x4302('0x3a')]){_0x5cb819[_0x4302('0x3b')]=_['merge'](_0x5cb819[_0x4302('0x3b')],{'$or':_['map'](_0x1ce315,function(_0x4e4780){if(_0x4e4780['type']!==_0x4302('0x3c')){var _0x39bedf={};_0x39bedf[_0x4e4780[_0x4302('0x2f')]]={'$like':'%'+_0x2e1633[_0x4302('0x30')][_0x4302('0x3a')]+'%'};return _0x39bedf;}})});}_0x5cb819=_[_0x4302('0x3d')]({},_0x5cb819,_0x2e1633[_0x4302('0x3e')]);var _0x263950={'where':_0x5cb819[_0x4302('0x3b')]};return db[_0x4302('0x29')]['count'](_0x263950)['then'](function(_0x155361){_0x5bc965[_0x4302('0x1d')]=_0x155361;if(_0x2e1633[_0x4302('0x30')][_0x4302('0x3f')]){_0x5cb819['include']=[{'all':!![]}];}return db['ChatQueueReport'][_0x4302('0x40')](_0x5cb819);})[_0x4302('0x24')](function(_0x203c1f){_0x5bc965[_0x4302('0x41')]=_0x203c1f;return _0x5bc965;})[_0x4302('0x24')](respondWithFilteredResult(_0x1aca12,_0x5cb819))[_0x4302('0x42')](handleError(_0x1aca12,null));};exports['show']=function(_0x109c63,_0x52e975){var _0x372bb4={'raw':!![],'where':{'id':_0x109c63[_0x4302('0x43')]['id']}},_0x2a557b={};_0x2a557b[_0x4302('0x2e')]=_['keys'](db[_0x4302('0x29')][_0x4302('0x2a')]);_0x2a557b[_0x4302('0x30')]=_[_0x4302('0x31')](_0x109c63[_0x4302('0x30')]);_0x2a557b['filters']=_[_0x4302('0x32')](_0x2a557b[_0x4302('0x2e')],_0x2a557b['query']);_0x372bb4['attributes']=_[_0x4302('0x32')](_0x2a557b[_0x4302('0x2e')],qs['fields'](_0x109c63[_0x4302('0x30')][_0x4302('0x34')]));_0x372bb4[_0x4302('0x33')]=_0x372bb4[_0x4302('0x33')][_0x4302('0x35')]?_0x372bb4[_0x4302('0x33')]:_0x2a557b[_0x4302('0x2e')];if(_0x109c63[_0x4302('0x30')][_0x4302('0x3f')]){_0x372bb4[_0x4302('0x44')]=[{'all':!![]}];}_0x372bb4=_['merge']({},_0x372bb4,_0x109c63[_0x4302('0x3e')]);return db['ChatQueueReport'][_0x4302('0x45')](_0x372bb4)['then'](handleEntityNotFound(_0x52e975,null))[_0x4302('0x24')](respondWithResult(_0x52e975,null))[_0x4302('0x42')](handleError(_0x52e975,null));};exports['create']=function(_0x34bc72,_0x558af4){return db[_0x4302('0x29')]['create'](_0x34bc72[_0x4302('0x46')],{})[_0x4302('0x24')](respondWithResult(_0x558af4,0xc9))[_0x4302('0x42')](handleError(_0x558af4,null));};exports[_0x4302('0x23')]=function(_0x25b46b,_0x2b073b){if(_0x25b46b['body']['id']){delete _0x25b46b[_0x4302('0x46')]['id'];}return db[_0x4302('0x29')][_0x4302('0x45')]({'where':{'id':_0x25b46b[_0x4302('0x43')]['id']}})['then'](handleEntityNotFound(_0x2b073b,null))[_0x4302('0x24')](saveUpdates(_0x25b46b[_0x4302('0x46')],null))[_0x4302('0x24')](respondWithResult(_0x2b073b,null))[_0x4302('0x42')](handleError(_0x2b073b,null));};exports[_0x4302('0x25')]=function(_0x1dbe2f,_0x359f87){return db[_0x4302('0x29')][_0x4302('0x45')]({'where':{'id':_0x1dbe2f[_0x4302('0x43')]['id']}})[_0x4302('0x24')](handleEntityNotFound(_0x359f87,null))[_0x4302('0x24')](removeEntity(_0x359f87,null))[_0x4302('0x42')](handleError(_0x359f87,null));};exports[_0x4302('0x47')]=function(_0x59845a,_0x994c1f){return db['ChatQueueReport'][_0x4302('0x47')]()[_0x4302('0x24')](respondWithResult(_0x994c1f,null))['catch'](handleError(_0x994c1f,null));};