0be480ddb1dff9ecc89fe0875f27483d9b5e7770
[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 _0x9e22=['key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','merge','options','ChatQueueReport','includeAll','findAll','catch','show','include','find','update','body','params','destroy','describe','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','save','then','stack','name','send','index','rawAttributes','type'];(function(_0x50dd99,_0x229ff3){var _0x12c4c0=function(_0x42c1a4){while(--_0x42c1a4){_0x50dd99['push'](_0x50dd99['shift']());}};_0x12c4c0(++_0x229ff3);}(_0x9e22,0xb1));var _0x29e2=function(_0x22bdd3,_0x552e50){_0x22bdd3=_0x22bdd3-0x0;var _0x44d9d9=_0x9e22[_0x22bdd3];return _0x44d9d9;};'use strict';var pdf=require(_0x29e2('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x29e2('0x1'));var zipdir=require(_0x29e2('0x2'));var jsonpatch=require(_0x29e2('0x3'));var rp=require(_0x29e2('0x4'));var moment=require(_0x29e2('0x5'));var BPromise=require(_0x29e2('0x6'));var Mustache=require(_0x29e2('0x7'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x29e2('0x8'));var ejs=require(_0x29e2('0x9'));var fs=require('fs');var _=require(_0x29e2('0xa'));var squel=require(_0x29e2('0xb'));var crypto=require(_0x29e2('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x29e2('0xd'));var toCsv=require(_0x29e2('0x8'));var querystring=require(_0x29e2('0xe'));var Papa=require(_0x29e2('0xf'));var Redis=require(_0x29e2('0x10'));var authService=require(_0x29e2('0x11'));var qs=require(_0x29e2('0x12'));var as=require(_0x29e2('0x13'));var hardwareService=require(_0x29e2('0x14'));var logger=require(_0x29e2('0x15'))(_0x29e2('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x29e2('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x84a5b5,_0x59e91f){_0x59e91f=_0x59e91f||0xcc;return function(_0x224733){if(_0x224733){return _0x84a5b5[_0x29e2('0x18')](_0x59e91f);}return _0x84a5b5['status'](_0x59e91f)[_0x29e2('0x19')]();};}function respondWithResult(_0x62feba,_0x186131){_0x186131=_0x186131||0xc8;return function(_0x30cb33){if(_0x30cb33){return _0x62feba[_0x29e2('0x1a')](_0x186131)[_0x29e2('0x1b')](_0x30cb33);}};}function respondWithFilteredResult(_0x3bb392,_0x165c49){return function(_0x3ea374){if(_0x3ea374){var _0x21e19a=_0x3ea374[_0x29e2('0x1c')],_0x3083fd=_0x165c49[_0x29e2('0x1d')],_0x44941e=_0x165c49[_0x29e2('0x1d')]+_0x165c49[_0x29e2('0x1e')],_0x45a97b;if(_0x44941e>=_0x21e19a){_0x44941e=_0x21e19a;_0x45a97b=0xc8;}else{_0x45a97b=0xce;}_0x3bb392[_0x29e2('0x1a')](_0x45a97b);return _0x3bb392[_0x29e2('0x1f')](_0x29e2('0x20'),_0x3083fd+'-'+_0x44941e+'/'+_0x21e19a)['json'](_0x3ea374);}return null;};}function patchUpdates(_0x3bd222){return function(_0x54eb3d){try{jsonpatch['apply'](_0x54eb3d,_0x3bd222,!![]);}catch(_0x47a2f3){return BPromise[_0x29e2('0x21')](_0x47a2f3);}return _0x54eb3d[_0x29e2('0x22')]();};}function saveUpdates(_0x59f900,_0x38e8bc){return function(_0x42bbea){if(_0x42bbea){return _0x42bbea['update'](_0x59f900)[_0x29e2('0x23')](function(_0x4fd033){return _0x4fd033;});}return null;};}function removeEntity(_0x3d2a66,_0x504e07){return function(_0x57fe6f){if(_0x57fe6f){return _0x57fe6f['destroy']()[_0x29e2('0x23')](function(){_0x3d2a66[_0x29e2('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x53e4e3,_0xde2e48){return function(_0x54b99c){if(!_0x54b99c){_0x53e4e3[_0x29e2('0x18')](0x194);}return _0x54b99c;};}function handleError(_0x402dbc,_0x14100d){_0x14100d=_0x14100d||0x1f4;return function(_0x2c159d){logger['error'](_0x2c159d[_0x29e2('0x24')]);if(_0x2c159d[_0x29e2('0x25')]){delete _0x2c159d[_0x29e2('0x25')];}_0x402dbc[_0x29e2('0x1a')](_0x14100d)[_0x29e2('0x26')](_0x2c159d);};}exports[_0x29e2('0x27')]=function(_0x4bd384,_0x20b73a){var _0x2eb970={},_0x206999={},_0x318b54={'count':0x0,'rows':[]};var _0x482a9d=_['map'](db['ChatQueueReport'][_0x29e2('0x28')],function(_0x282df7){return{'name':_0x282df7['fieldName'],'type':_0x282df7[_0x29e2('0x29')][_0x29e2('0x2a')]};});_0x206999[_0x29e2('0x2b')]=_[_0x29e2('0x2c')](_0x482a9d,_0x29e2('0x25'));_0x206999[_0x29e2('0x2d')]=_[_0x29e2('0x2e')](_0x4bd384[_0x29e2('0x2d')]);_0x206999['filters']=_[_0x29e2('0x2f')](_0x206999['model'],_0x206999['query']);_0x2eb970[_0x29e2('0x30')]=_[_0x29e2('0x2f')](_0x206999['model'],qs[_0x29e2('0x31')](_0x4bd384[_0x29e2('0x2d')]['fields']));_0x2eb970[_0x29e2('0x30')]=_0x2eb970[_0x29e2('0x30')][_0x29e2('0x32')]?_0x2eb970['attributes']:_0x206999[_0x29e2('0x2b')];if(!_0x4bd384[_0x29e2('0x2d')][_0x29e2('0x33')](_0x29e2('0x34'))){_0x2eb970['limit']=qs[_0x29e2('0x1e')](_0x4bd384[_0x29e2('0x2d')][_0x29e2('0x1e')]);_0x2eb970['offset']=qs[_0x29e2('0x1d')](_0x4bd384['query'][_0x29e2('0x1d')]);}_0x2eb970[_0x29e2('0x35')]=qs[_0x29e2('0x36')](_0x4bd384['query'][_0x29e2('0x36')]);_0x2eb970[_0x29e2('0x37')]=qs[_0x29e2('0x38')](_['pick'](_0x4bd384[_0x29e2('0x2d')],_0x206999['filters']),_0x482a9d);if(_0x4bd384[_0x29e2('0x2d')][_0x29e2('0x39')]){_0x2eb970['where']=_['merge'](_0x2eb970[_0x29e2('0x37')],{'$or':_['map'](_0x482a9d,function(_0x1f9fb7){if(_0x1f9fb7[_0x29e2('0x29')]!==_0x29e2('0x3a')){var _0x1484c2={};_0x1484c2[_0x1f9fb7[_0x29e2('0x25')]]={'$like':'%'+_0x4bd384[_0x29e2('0x2d')][_0x29e2('0x39')]+'%'};return _0x1484c2;}})});}_0x2eb970=_[_0x29e2('0x3b')]({},_0x2eb970,_0x4bd384[_0x29e2('0x3c')]);var _0x1e202b={'where':_0x2eb970[_0x29e2('0x37')]};return db[_0x29e2('0x3d')][_0x29e2('0x1c')](_0x1e202b)[_0x29e2('0x23')](function(_0x1788f5){_0x318b54[_0x29e2('0x1c')]=_0x1788f5;if(_0x4bd384['query'][_0x29e2('0x3e')]){_0x2eb970['include']=[{'all':!![]}];}return db[_0x29e2('0x3d')][_0x29e2('0x3f')](_0x2eb970);})[_0x29e2('0x23')](function(_0x4a4ab4){_0x318b54['rows']=_0x4a4ab4;return _0x318b54;})[_0x29e2('0x23')](respondWithFilteredResult(_0x20b73a,_0x2eb970))[_0x29e2('0x40')](handleError(_0x20b73a,null));};exports[_0x29e2('0x41')]=function(_0x406b31,_0x2e90b2){var _0x181711={'raw':!![],'where':{'id':_0x406b31['params']['id']}},_0x3b1c04={};_0x3b1c04[_0x29e2('0x2b')]=_[_0x29e2('0x2e')](db[_0x29e2('0x3d')][_0x29e2('0x28')]);_0x3b1c04[_0x29e2('0x2d')]=_['keys'](_0x406b31[_0x29e2('0x2d')]);_0x3b1c04[_0x29e2('0x38')]=_['intersection'](_0x3b1c04['model'],_0x3b1c04['query']);_0x181711[_0x29e2('0x30')]=_['intersection'](_0x3b1c04['model'],qs[_0x29e2('0x31')](_0x406b31[_0x29e2('0x2d')][_0x29e2('0x31')]));_0x181711[_0x29e2('0x30')]=_0x181711[_0x29e2('0x30')][_0x29e2('0x32')]?_0x181711[_0x29e2('0x30')]:_0x3b1c04[_0x29e2('0x2b')];if(_0x406b31[_0x29e2('0x2d')]['includeAll']){_0x181711[_0x29e2('0x42')]=[{'all':!![]}];}_0x181711=_[_0x29e2('0x3b')]({},_0x181711,_0x406b31['options']);return db[_0x29e2('0x3d')][_0x29e2('0x43')](_0x181711)[_0x29e2('0x23')](handleEntityNotFound(_0x2e90b2,null))[_0x29e2('0x23')](respondWithResult(_0x2e90b2,null))[_0x29e2('0x40')](handleError(_0x2e90b2,null));};exports['create']=function(_0x531f19,_0x454341){return db[_0x29e2('0x3d')]['create'](_0x531f19['body'],{})[_0x29e2('0x23')](respondWithResult(_0x454341,0xc9))[_0x29e2('0x40')](handleError(_0x454341,null));};exports[_0x29e2('0x44')]=function(_0x37f783,_0x49bd91){if(_0x37f783[_0x29e2('0x45')]['id']){delete _0x37f783[_0x29e2('0x45')]['id'];}return db['ChatQueueReport']['find']({'where':{'id':_0x37f783[_0x29e2('0x46')]['id']}})[_0x29e2('0x23')](handleEntityNotFound(_0x49bd91,null))['then'](saveUpdates(_0x37f783[_0x29e2('0x45')],null))[_0x29e2('0x23')](respondWithResult(_0x49bd91,null))['catch'](handleError(_0x49bd91,null));};exports[_0x29e2('0x47')]=function(_0x489a46,_0x318686){return db[_0x29e2('0x3d')][_0x29e2('0x43')]({'where':{'id':_0x489a46[_0x29e2('0x46')]['id']}})[_0x29e2('0x23')](handleEntityNotFound(_0x318686,null))['then'](removeEntity(_0x318686,null))['catch'](handleError(_0x318686,null));};exports[_0x29e2('0x48')]=function(_0x745fdc,_0x5c6cc2){return db[_0x29e2('0x3d')][_0x29e2('0x48')]()[_0x29e2('0x23')](respondWithResult(_0x5c6cc2,null))[_0x29e2('0x40')](handleError(_0x5c6cc2,null));};