35df2bb624b39c518475cfd4b958b1d3c28422aa
[motion2.git] / server / api / openchannelQueueReport / openchannelQueueReport.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 _0xc13f=['pick','filter','merge','VIRTUAL','options','includeAll','include','catch','show','params','length','create','body','find','destroy','describe','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','error','stack','name','send','index','map','OpenchannelQueueReport','rawAttributes','fieldName','key','model','keys','query','intersection','attributes','fields','nolimit','order','sort','where','filters'];(function(_0xd6961f,_0x271542){var _0x4c34d3=function(_0x659c58){while(--_0x659c58){_0xd6961f['push'](_0xd6961f['shift']());}};_0x4c34d3(++_0x271542);}(_0xc13f,0x138));var _0xfc13=function(_0x15fda2,_0x505a8a){_0x15fda2=_0x15fda2-0x0;var _0x40cfbf=_0xc13f[_0x15fda2];return _0x40cfbf;};'use strict';var emlformat=require(_0xfc13('0x0'));var rimraf=require(_0xfc13('0x1'));var zipdir=require(_0xfc13('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xfc13('0x3'));var Mustache=require(_0xfc13('0x4'));var util=require(_0xfc13('0x5'));var path=require(_0xfc13('0x6'));var sox=require(_0xfc13('0x7'));var csv=require(_0xfc13('0x8'));var ejs=require(_0xfc13('0x9'));var fs=require('fs');var fs_extra=require(_0xfc13('0xa'));var _=require(_0xfc13('0xb'));var squel=require(_0xfc13('0xc'));var crypto=require(_0xfc13('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xfc13('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xfc13('0xf'));var Redis=require(_0xfc13('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xfc13('0x11'));var hardwareService=require(_0xfc13('0x12'));var logger=require(_0xfc13('0x13'))(_0xfc13('0x14'));var utils=require('../../config/utils');var config=require(_0xfc13('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xfc13('0x16'))['db'];function respondWithStatusCode(_0x48c92b,_0x56ea0e){_0x56ea0e=_0x56ea0e||0xcc;return function(_0x2d2bc4){if(_0x2d2bc4){return _0x48c92b[_0xfc13('0x17')](_0x56ea0e);}return _0x48c92b[_0xfc13('0x18')](_0x56ea0e)[_0xfc13('0x19')]();};}function respondWithResult(_0x2917db,_0x906b2a){_0x906b2a=_0x906b2a||0xc8;return function(_0x307c3a){if(_0x307c3a){return _0x2917db['status'](_0x906b2a)[_0xfc13('0x1a')](_0x307c3a);}};}function respondWithFilteredResult(_0x40fc27,_0x3bf1cf){return function(_0x378017){if(_0x378017){var _0x378aac=typeof _0x3bf1cf[_0xfc13('0x1b')]===_0xfc13('0x1c')&&typeof _0x3bf1cf[_0xfc13('0x1d')]===_0xfc13('0x1c');var _0x47146d=_0x378017['count'];var _0x1b79d8=_0x378aac?0x0:_0x3bf1cf['offset'];var _0x56bfd2=_0x378aac?_0x378017[_0xfc13('0x1e')]:_0x3bf1cf[_0xfc13('0x1b')]+_0x3bf1cf['limit'];var _0x411aac;if(_0x56bfd2>=_0x47146d){_0x56bfd2=_0x47146d;_0x411aac=0xc8;}else{_0x411aac=0xce;}_0x40fc27[_0xfc13('0x18')](_0x411aac);return _0x40fc27[_0xfc13('0x1f')](_0xfc13('0x20'),_0x1b79d8+'-'+_0x56bfd2+'/'+_0x47146d)['json'](_0x378017);}return null;};}function patchUpdates(_0x52aed7){return function(_0x1008bd){try{jsonpatch[_0xfc13('0x21')](_0x1008bd,_0x52aed7,!![]);}catch(_0x5d944d){return BPromise['reject'](_0x5d944d);}return _0x1008bd[_0xfc13('0x22')]();};}function saveUpdates(_0x44c9f1,_0x32c5f2){return function(_0x24273){if(_0x24273){return _0x24273[_0xfc13('0x23')](_0x44c9f1)['then'](function(_0x3baffe){return _0x3baffe;});}return null;};}function removeEntity(_0x59ba39,_0x47a337){return function(_0x5a3615){if(_0x5a3615){return _0x5a3615['destroy']()[_0xfc13('0x24')](function(){_0x59ba39[_0xfc13('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x45c528,_0x4fd963){return function(_0x718860){if(!_0x718860){_0x45c528[_0xfc13('0x17')](0x194);}return _0x718860;};}function handleError(_0x1f2586,_0x51c999){_0x51c999=_0x51c999||0x1f4;return function(_0x3af3ee){logger[_0xfc13('0x25')](_0x3af3ee[_0xfc13('0x26')]);if(_0x3af3ee[_0xfc13('0x27')]){delete _0x3af3ee['name'];}_0x1f2586[_0xfc13('0x18')](_0x51c999)[_0xfc13('0x28')](_0x3af3ee);};}exports[_0xfc13('0x29')]=function(_0x1b3ecb,_0x4cee9a){var _0x34b66f={},_0xbbb229={},_0x5ce5bc={'count':0x0,'rows':[]};var _0x9839cc=_[_0xfc13('0x2a')](db[_0xfc13('0x2b')][_0xfc13('0x2c')],function(_0x27e946){return{'name':_0x27e946[_0xfc13('0x2d')],'type':_0x27e946['type'][_0xfc13('0x2e')]};});_0xbbb229[_0xfc13('0x2f')]=_[_0xfc13('0x2a')](_0x9839cc,_0xfc13('0x27'));_0xbbb229['query']=_[_0xfc13('0x30')](_0x1b3ecb[_0xfc13('0x31')]);_0xbbb229['filters']=_[_0xfc13('0x32')](_0xbbb229[_0xfc13('0x2f')],_0xbbb229['query']);_0x34b66f[_0xfc13('0x33')]=_[_0xfc13('0x32')](_0xbbb229[_0xfc13('0x2f')],qs[_0xfc13('0x34')](_0x1b3ecb['query'][_0xfc13('0x34')]));_0x34b66f[_0xfc13('0x33')]=_0x34b66f[_0xfc13('0x33')]['length']?_0x34b66f[_0xfc13('0x33')]:_0xbbb229[_0xfc13('0x2f')];if(!_0x1b3ecb[_0xfc13('0x31')]['hasOwnProperty'](_0xfc13('0x35'))){_0x34b66f[_0xfc13('0x1d')]=qs[_0xfc13('0x1d')](_0x1b3ecb['query'][_0xfc13('0x1d')]);_0x34b66f[_0xfc13('0x1b')]=qs[_0xfc13('0x1b')](_0x1b3ecb[_0xfc13('0x31')][_0xfc13('0x1b')]);}_0x34b66f[_0xfc13('0x36')]=qs[_0xfc13('0x37')](_0x1b3ecb['query'][_0xfc13('0x37')]);_0x34b66f[_0xfc13('0x38')]=qs[_0xfc13('0x39')](_[_0xfc13('0x3a')](_0x1b3ecb[_0xfc13('0x31')],_0xbbb229[_0xfc13('0x39')]),_0x9839cc);if(_0x1b3ecb[_0xfc13('0x31')][_0xfc13('0x3b')]){_0x34b66f[_0xfc13('0x38')]=_[_0xfc13('0x3c')](_0x34b66f['where'],{'$or':_[_0xfc13('0x2a')](_0x9839cc,function(_0x33a044){if(_0x33a044['type']!==_0xfc13('0x3d')){var _0x1f8b6a={};_0x1f8b6a[_0x33a044[_0xfc13('0x27')]]={'$like':'%'+_0x1b3ecb[_0xfc13('0x31')]['filter']+'%'};return _0x1f8b6a;}})});}_0x34b66f=_['merge']({},_0x34b66f,_0x1b3ecb[_0xfc13('0x3e')]);var _0x3beafe={'where':_0x34b66f[_0xfc13('0x38')]};return db[_0xfc13('0x2b')][_0xfc13('0x1e')](_0x3beafe)[_0xfc13('0x24')](function(_0x2b8bdd){_0x5ce5bc[_0xfc13('0x1e')]=_0x2b8bdd;if(_0x1b3ecb[_0xfc13('0x31')][_0xfc13('0x3f')]){_0x34b66f[_0xfc13('0x40')]=[{'all':!![]}];}return db[_0xfc13('0x2b')]['findAll'](_0x34b66f);})[_0xfc13('0x24')](function(_0x979f2a){_0x5ce5bc['rows']=_0x979f2a;return _0x5ce5bc;})[_0xfc13('0x24')](respondWithFilteredResult(_0x4cee9a,_0x34b66f))[_0xfc13('0x41')](handleError(_0x4cee9a,null));};exports[_0xfc13('0x42')]=function(_0xdbb3b3,_0x5df4c9){var _0x5a1467={'raw':!![],'where':{'id':_0xdbb3b3[_0xfc13('0x43')]['id']}},_0x5c8e49={};_0x5c8e49['model']=_[_0xfc13('0x30')](db[_0xfc13('0x2b')][_0xfc13('0x2c')]);_0x5c8e49[_0xfc13('0x31')]=_[_0xfc13('0x30')](_0xdbb3b3[_0xfc13('0x31')]);_0x5c8e49[_0xfc13('0x39')]=_[_0xfc13('0x32')](_0x5c8e49[_0xfc13('0x2f')],_0x5c8e49[_0xfc13('0x31')]);_0x5a1467[_0xfc13('0x33')]=_['intersection'](_0x5c8e49[_0xfc13('0x2f')],qs[_0xfc13('0x34')](_0xdbb3b3[_0xfc13('0x31')]['fields']));_0x5a1467[_0xfc13('0x33')]=_0x5a1467[_0xfc13('0x33')][_0xfc13('0x44')]?_0x5a1467['attributes']:_0x5c8e49['model'];if(_0xdbb3b3[_0xfc13('0x31')][_0xfc13('0x3f')]){_0x5a1467[_0xfc13('0x40')]=[{'all':!![]}];}_0x5a1467=_['merge']({},_0x5a1467,_0xdbb3b3[_0xfc13('0x3e')]);return db[_0xfc13('0x2b')]['find'](_0x5a1467)[_0xfc13('0x24')](handleEntityNotFound(_0x5df4c9,null))[_0xfc13('0x24')](respondWithResult(_0x5df4c9,null))['catch'](handleError(_0x5df4c9,null));};exports[_0xfc13('0x45')]=function(_0x215aed,_0x560915){return db[_0xfc13('0x2b')][_0xfc13('0x45')](_0x215aed[_0xfc13('0x46')],{})[_0xfc13('0x24')](respondWithResult(_0x560915,0xc9))['catch'](handleError(_0x560915,null));};exports[_0xfc13('0x23')]=function(_0xcf9b0,_0x541429){if(_0xcf9b0[_0xfc13('0x46')]['id']){delete _0xcf9b0[_0xfc13('0x46')]['id'];}return db[_0xfc13('0x2b')][_0xfc13('0x47')]({'where':{'id':_0xcf9b0['params']['id']}})[_0xfc13('0x24')](handleEntityNotFound(_0x541429,null))['then'](saveUpdates(_0xcf9b0['body'],null))[_0xfc13('0x24')](respondWithResult(_0x541429,null))[_0xfc13('0x41')](handleError(_0x541429,null));};exports[_0xfc13('0x48')]=function(_0x4d886f,_0x2f510b){return db['OpenchannelQueueReport'][_0xfc13('0x47')]({'where':{'id':_0x4d886f[_0xfc13('0x43')]['id']}})[_0xfc13('0x24')](handleEntityNotFound(_0x2f510b,null))[_0xfc13('0x24')](removeEntity(_0x2f510b,null))['catch'](handleError(_0x2f510b,null));};exports[_0xfc13('0x49')]=function(_0x226e8a,_0x150942){return db[_0xfc13('0x2b')][_0xfc13('0x49')]()[_0xfc13('0x24')](respondWithResult(_0x150942,null))[_0xfc13('0x41')](handleError(_0x150942,null));};