0503a4f7f6ddaa62acbf97cabd8e5feb861ae472
[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 _0xd691=['destroy','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','Content-Range','json','apply','reject','save','update','then','stack','name','send','index','map','OpenchannelQueueReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','count','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body'];(function(_0x18e185,_0x50fcee){var _0x44a7fe=function(_0x53f0c1){while(--_0x53f0c1){_0x18e185['push'](_0x18e185['shift']());}};_0x44a7fe(++_0x50fcee);}(_0xd691,0xe6));var _0x1d69=function(_0x110d53,_0x59b52e){_0x110d53=_0x110d53-0x0;var _0x24c192=_0xd691[_0x110d53];return _0x24c192;};'use strict';var pdf=require(_0x1d69('0x0'));var emlformat=require(_0x1d69('0x1'));var rimraf=require(_0x1d69('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1d69('0x3'));var rp=require(_0x1d69('0x4'));var moment=require(_0x1d69('0x5'));var BPromise=require(_0x1d69('0x6'));var Mustache=require(_0x1d69('0x7'));var util=require(_0x1d69('0x8'));var path=require(_0x1d69('0x9'));var sox=require(_0x1d69('0xa'));var csv=require(_0x1d69('0xb'));var ejs=require(_0x1d69('0xc'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x1d69('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x1d69('0xe'));var toCsv=require(_0x1d69('0xb'));var querystring=require(_0x1d69('0xf'));var Papa=require(_0x1d69('0x10'));var Redis=require('ioredis');var authService=require(_0x1d69('0x11'));var qs=require(_0x1d69('0x12'));var as=require(_0x1d69('0x13'));var hardwareService=require(_0x1d69('0x14'));var logger=require(_0x1d69('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x1d69('0x16'));var licenseUtil=require(_0x1d69('0x17'));var db=require(_0x1d69('0x18'))['db'];function respondWithStatusCode(_0x36ca70,_0x3f703a){_0x3f703a=_0x3f703a||0xcc;return function(_0x78b25d){if(_0x78b25d){return _0x36ca70[_0x1d69('0x19')](_0x3f703a);}return _0x36ca70[_0x1d69('0x1a')](_0x3f703a)[_0x1d69('0x1b')]();};}function respondWithResult(_0x7121cb,_0x292721){_0x292721=_0x292721||0xc8;return function(_0x1f4271){if(_0x1f4271){return _0x7121cb[_0x1d69('0x1a')](_0x292721)['json'](_0x1f4271);}};}function respondWithFilteredResult(_0x52f53d,_0x12e7cd){return function(_0x3fb5d2){if(_0x3fb5d2){var _0x29dd32=_0x3fb5d2['count'],_0x5fe486=_0x12e7cd[_0x1d69('0x1c')],_0x3ec720=_0x12e7cd[_0x1d69('0x1c')]+_0x12e7cd[_0x1d69('0x1d')],_0x383771;if(_0x3ec720>=_0x29dd32){_0x3ec720=_0x29dd32;_0x383771=0xc8;}else{_0x383771=0xce;}_0x52f53d['status'](_0x383771);return _0x52f53d['set'](_0x1d69('0x1e'),_0x5fe486+'-'+_0x3ec720+'/'+_0x29dd32)[_0x1d69('0x1f')](_0x3fb5d2);}return null;};}function patchUpdates(_0x1696c4){return function(_0x57bb5d){try{jsonpatch[_0x1d69('0x20')](_0x57bb5d,_0x1696c4,!![]);}catch(_0x1385ff){return BPromise[_0x1d69('0x21')](_0x1385ff);}return _0x57bb5d[_0x1d69('0x22')]();};}function saveUpdates(_0x3ef4dc,_0x24feaa){return function(_0x34c920){if(_0x34c920){return _0x34c920[_0x1d69('0x23')](_0x3ef4dc)['then'](function(_0x7821f8){return _0x7821f8;});}return null;};}function removeEntity(_0x122238,_0x1786e1){return function(_0x228d18){if(_0x228d18){return _0x228d18['destroy']()[_0x1d69('0x24')](function(){_0x122238[_0x1d69('0x1a')](0xcc)[_0x1d69('0x1b')]();});}};}function handleEntityNotFound(_0x54783d,_0x5352d3){return function(_0x59b5e0){if(!_0x59b5e0){_0x54783d[_0x1d69('0x19')](0x194);}return _0x59b5e0;};}function handleError(_0x1d9b42,_0x1d4e16){_0x1d4e16=_0x1d4e16||0x1f4;return function(_0x1c91bf){logger['error'](_0x1c91bf[_0x1d69('0x25')]);if(_0x1c91bf[_0x1d69('0x26')]){delete _0x1c91bf['name'];}_0x1d9b42[_0x1d69('0x1a')](_0x1d4e16)[_0x1d69('0x27')](_0x1c91bf);};}exports[_0x1d69('0x28')]=function(_0x30aefe,_0x2d3f2e){var _0x247130={},_0x5cca6a={},_0x23043c={'count':0x0,'rows':[]};var _0x2c837e=_[_0x1d69('0x29')](db[_0x1d69('0x2a')][_0x1d69('0x2b')],function(_0x1e5818){return{'name':_0x1e5818[_0x1d69('0x2c')],'type':_0x1e5818[_0x1d69('0x2d')][_0x1d69('0x2e')]};});_0x5cca6a[_0x1d69('0x2f')]=_[_0x1d69('0x29')](_0x2c837e,'name');_0x5cca6a[_0x1d69('0x30')]=_['keys'](_0x30aefe[_0x1d69('0x30')]);_0x5cca6a[_0x1d69('0x31')]=_[_0x1d69('0x32')](_0x5cca6a[_0x1d69('0x2f')],_0x5cca6a['query']);_0x247130['attributes']=_[_0x1d69('0x32')](_0x5cca6a['model'],qs[_0x1d69('0x33')](_0x30aefe[_0x1d69('0x30')][_0x1d69('0x33')]));_0x247130[_0x1d69('0x34')]=_0x247130[_0x1d69('0x34')][_0x1d69('0x35')]?_0x247130[_0x1d69('0x34')]:_0x5cca6a[_0x1d69('0x2f')];if(!_0x30aefe[_0x1d69('0x30')][_0x1d69('0x36')](_0x1d69('0x37'))){_0x247130[_0x1d69('0x1d')]=qs[_0x1d69('0x1d')](_0x30aefe[_0x1d69('0x30')]['limit']);_0x247130[_0x1d69('0x1c')]=qs[_0x1d69('0x1c')](_0x30aefe[_0x1d69('0x30')][_0x1d69('0x1c')]);}_0x247130[_0x1d69('0x38')]=qs['sort'](_0x30aefe[_0x1d69('0x30')][_0x1d69('0x39')]);_0x247130[_0x1d69('0x3a')]=qs[_0x1d69('0x31')](_['pick'](_0x30aefe[_0x1d69('0x30')],_0x5cca6a[_0x1d69('0x31')]),_0x2c837e);if(_0x30aefe[_0x1d69('0x30')][_0x1d69('0x3b')]){_0x247130[_0x1d69('0x3a')]=_['merge'](_0x247130['where'],{'$or':_['map'](_0x2c837e,function(_0x896d0e){if(_0x896d0e[_0x1d69('0x2d')]!=='VIRTUAL'){var _0x2dc896={};_0x2dc896[_0x896d0e[_0x1d69('0x26')]]={'$like':'%'+_0x30aefe[_0x1d69('0x30')]['filter']+'%'};return _0x2dc896;}})});}_0x247130=_[_0x1d69('0x3c')]({},_0x247130,_0x30aefe[_0x1d69('0x3d')]);var _0x1a8ba4={'where':_0x247130[_0x1d69('0x3a')]};return db['OpenchannelQueueReport'][_0x1d69('0x3e')](_0x1a8ba4)[_0x1d69('0x24')](function(_0xe27a75){_0x23043c[_0x1d69('0x3e')]=_0xe27a75;if(_0x30aefe['query'][_0x1d69('0x3f')]){_0x247130[_0x1d69('0x40')]=[{'all':!![]}];}return db[_0x1d69('0x2a')][_0x1d69('0x41')](_0x247130);})[_0x1d69('0x24')](function(_0x29bd09){_0x23043c[_0x1d69('0x42')]=_0x29bd09;return _0x23043c;})['then'](respondWithFilteredResult(_0x2d3f2e,_0x247130))[_0x1d69('0x43')](handleError(_0x2d3f2e,null));};exports[_0x1d69('0x44')]=function(_0x52cca8,_0x3d68c3){var _0x4caa2b={'raw':!![],'where':{'id':_0x52cca8[_0x1d69('0x45')]['id']}},_0x11b2e0={};_0x11b2e0[_0x1d69('0x2f')]=_[_0x1d69('0x46')](db['OpenchannelQueueReport'][_0x1d69('0x2b')]);_0x11b2e0[_0x1d69('0x30')]=_[_0x1d69('0x46')](_0x52cca8['query']);_0x11b2e0[_0x1d69('0x31')]=_['intersection'](_0x11b2e0['model'],_0x11b2e0[_0x1d69('0x30')]);_0x4caa2b[_0x1d69('0x34')]=_['intersection'](_0x11b2e0[_0x1d69('0x2f')],qs['fields'](_0x52cca8[_0x1d69('0x30')][_0x1d69('0x33')]));_0x4caa2b['attributes']=_0x4caa2b[_0x1d69('0x34')][_0x1d69('0x35')]?_0x4caa2b[_0x1d69('0x34')]:_0x11b2e0['model'];if(_0x52cca8[_0x1d69('0x30')][_0x1d69('0x3f')]){_0x4caa2b[_0x1d69('0x40')]=[{'all':!![]}];}_0x4caa2b=_[_0x1d69('0x3c')]({},_0x4caa2b,_0x52cca8[_0x1d69('0x3d')]);return db[_0x1d69('0x2a')][_0x1d69('0x47')](_0x4caa2b)[_0x1d69('0x24')](handleEntityNotFound(_0x3d68c3,null))[_0x1d69('0x24')](respondWithResult(_0x3d68c3,null))[_0x1d69('0x43')](handleError(_0x3d68c3,null));};exports[_0x1d69('0x48')]=function(_0xe64ce8,_0x2dbc0c){return db[_0x1d69('0x2a')][_0x1d69('0x48')](_0xe64ce8[_0x1d69('0x49')],{})['then'](respondWithResult(_0x2dbc0c,0xc9))[_0x1d69('0x43')](handleError(_0x2dbc0c,null));};exports[_0x1d69('0x23')]=function(_0xa930b2,_0x58951a){if(_0xa930b2['body']['id']){delete _0xa930b2[_0x1d69('0x49')]['id'];}return db['OpenchannelQueueReport'][_0x1d69('0x47')]({'where':{'id':_0xa930b2[_0x1d69('0x45')]['id']}})[_0x1d69('0x24')](handleEntityNotFound(_0x58951a,null))['then'](saveUpdates(_0xa930b2['body'],null))[_0x1d69('0x24')](respondWithResult(_0x58951a,null))['catch'](handleError(_0x58951a,null));};exports[_0x1d69('0x4a')]=function(_0x5b77a5,_0x5b8214){return db[_0x1d69('0x2a')][_0x1d69('0x47')]({'where':{'id':_0x5b77a5[_0x1d69('0x45')]['id']}})[_0x1d69('0x24')](handleEntityNotFound(_0x5b8214,null))[_0x1d69('0x24')](removeEntity(_0x5b8214,null))[_0x1d69('0x43')](handleError(_0x5b8214,null));};exports[_0x1d69('0x4b')]=function(_0x3ebee9,_0x47d85a){return db[_0x1d69('0x2a')][_0x1d69('0x4b')]()[_0x1d69('0x24')](respondWithResult(_0x47d85a,null))[_0x1d69('0x43')](handleError(_0x47d85a,null));};