7ddccbb16beb5adf3916fd5d80477b583a27fdad
[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 _0x1aee=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','name','index','OpenchannelQueueReport','fieldName','type','map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','body','describe','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','fs-extra','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1aee,0x10e));var _0xe1ae=function(_0x289e64,_0x5adb3c){_0x289e64=_0x289e64-0x0;var _0x30246c=_0x1aee[_0x289e64];return _0x30246c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe1ae('0x0'));var zipdir=require(_0xe1ae('0x1'));var jsonpatch=require(_0xe1ae('0x2'));var rp=require('request-promise');var moment=require(_0xe1ae('0x3'));var BPromise=require(_0xe1ae('0x4'));var Mustache=require(_0xe1ae('0x5'));var util=require(_0xe1ae('0x6'));var path=require(_0xe1ae('0x7'));var sox=require('sox');var csv=require(_0xe1ae('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe1ae('0x9'));var _=require('lodash');var squel=require(_0xe1ae('0xa'));var crypto=require('crypto');var jsforce=require(_0xe1ae('0xb'));var deskjs=require(_0xe1ae('0xc'));var toCsv=require(_0xe1ae('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xe1ae('0xd'));var authService=require(_0xe1ae('0xe'));var qs=require(_0xe1ae('0xf'));var as=require(_0xe1ae('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xe1ae('0x11'));var utils=require(_0xe1ae('0x12'));var config=require(_0xe1ae('0x13'));var licenseUtil=require(_0xe1ae('0x14'));var db=require(_0xe1ae('0x15'))['db'];function respondWithStatusCode(_0x4ed88b,_0xfe1d3){_0xfe1d3=_0xfe1d3||0xcc;return function(_0x2c4002){if(_0x2c4002){return _0x4ed88b[_0xe1ae('0x16')](_0xfe1d3);}return _0x4ed88b[_0xe1ae('0x17')](_0xfe1d3)[_0xe1ae('0x18')]();};}function respondWithResult(_0xcf93ea,_0xec4a3d){_0xec4a3d=_0xec4a3d||0xc8;return function(_0x45b425){if(_0x45b425){return _0xcf93ea['status'](_0xec4a3d)[_0xe1ae('0x19')](_0x45b425);}};}function respondWithFilteredResult(_0x2bff3d,_0x5f2ae3){return function(_0x24485a){if(_0x24485a){var _0x252b2c=typeof _0x5f2ae3['offset']===_0xe1ae('0x1a')&&typeof _0x5f2ae3[_0xe1ae('0x1b')]===_0xe1ae('0x1a');var _0x1da14a=_0x24485a[_0xe1ae('0x1c')];var _0x33d89f=_0x252b2c?0x0:_0x5f2ae3[_0xe1ae('0x1d')];var _0x591ab2=_0x252b2c?_0x24485a[_0xe1ae('0x1c')]:_0x5f2ae3[_0xe1ae('0x1d')]+_0x5f2ae3[_0xe1ae('0x1b')];var _0x584052;if(_0x591ab2>=_0x1da14a){_0x591ab2=_0x1da14a;_0x584052=0xc8;}else{_0x584052=0xce;}_0x2bff3d[_0xe1ae('0x17')](_0x584052);return _0x2bff3d[_0xe1ae('0x1e')](_0xe1ae('0x1f'),_0x33d89f+'-'+_0x591ab2+'/'+_0x1da14a)['json'](_0x24485a);}return null;};}function patchUpdates(_0x36d8d7){return function(_0x235867){try{jsonpatch[_0xe1ae('0x20')](_0x235867,_0x36d8d7,!![]);}catch(_0x1dcead){return BPromise[_0xe1ae('0x21')](_0x1dcead);}return _0x235867[_0xe1ae('0x22')]();};}function saveUpdates(_0x9ebdf9,_0x1edfe0){return function(_0x49e820){if(_0x49e820){return _0x49e820[_0xe1ae('0x23')](_0x9ebdf9)[_0xe1ae('0x24')](function(_0x24cba){return _0x24cba;});}return null;};}function removeEntity(_0x2e0654,_0x25c8f3){return function(_0x55037f){if(_0x55037f){return _0x55037f[_0xe1ae('0x25')]()['then'](function(){_0x2e0654[_0xe1ae('0x17')](0xcc)[_0xe1ae('0x18')]();});}};}function handleEntityNotFound(_0xf2a10f,_0x2fb9a1){return function(_0x5414bf){if(!_0x5414bf){_0xf2a10f[_0xe1ae('0x16')](0x194);}return _0x5414bf;};}function handleError(_0x36a76f,_0x568600){_0x568600=_0x568600||0x1f4;return function(_0x60a9f1){logger[_0xe1ae('0x26')](_0x60a9f1['stack']);if(_0x60a9f1['name']){delete _0x60a9f1[_0xe1ae('0x27')];}_0x36a76f[_0xe1ae('0x17')](_0x568600)['send'](_0x60a9f1);};}exports[_0xe1ae('0x28')]=function(_0x683fa0,_0x343224){var _0x4b93eb={},_0x485a50={},_0x40cb1c={'count':0x0,'rows':[]};var _0x191d50=_['map'](db[_0xe1ae('0x29')]['rawAttributes'],function(_0x660a71){return{'name':_0x660a71[_0xe1ae('0x2a')],'type':_0x660a71[_0xe1ae('0x2b')]['key']};});_0x485a50['model']=_[_0xe1ae('0x2c')](_0x191d50,_0xe1ae('0x27'));_0x485a50[_0xe1ae('0x2d')]=_[_0xe1ae('0x2e')](_0x683fa0[_0xe1ae('0x2d')]);_0x485a50[_0xe1ae('0x2f')]=_[_0xe1ae('0x30')](_0x485a50[_0xe1ae('0x31')],_0x485a50['query']);_0x4b93eb['attributes']=_[_0xe1ae('0x30')](_0x485a50['model'],qs[_0xe1ae('0x32')](_0x683fa0[_0xe1ae('0x2d')][_0xe1ae('0x32')]));_0x4b93eb['attributes']=_0x4b93eb[_0xe1ae('0x33')][_0xe1ae('0x34')]?_0x4b93eb[_0xe1ae('0x33')]:_0x485a50[_0xe1ae('0x31')];if(!_0x683fa0[_0xe1ae('0x2d')][_0xe1ae('0x35')](_0xe1ae('0x36'))){_0x4b93eb[_0xe1ae('0x1b')]=qs['limit'](_0x683fa0['query']['limit']);_0x4b93eb[_0xe1ae('0x1d')]=qs[_0xe1ae('0x1d')](_0x683fa0['query'][_0xe1ae('0x1d')]);}_0x4b93eb[_0xe1ae('0x37')]=qs['sort'](_0x683fa0['query']['sort']);_0x4b93eb['where']=qs[_0xe1ae('0x2f')](_['pick'](_0x683fa0['query'],_0x485a50[_0xe1ae('0x2f')]),_0x191d50);if(_0x683fa0[_0xe1ae('0x2d')][_0xe1ae('0x38')]){_0x4b93eb[_0xe1ae('0x39')]=_[_0xe1ae('0x3a')](_0x4b93eb[_0xe1ae('0x39')],{'$or':_[_0xe1ae('0x2c')](_0x191d50,function(_0xd193fe){if(_0xd193fe['type']!==_0xe1ae('0x3b')){var _0x371c3c={};_0x371c3c[_0xd193fe[_0xe1ae('0x27')]]={'$like':'%'+_0x683fa0[_0xe1ae('0x2d')]['filter']+'%'};return _0x371c3c;}})});}_0x4b93eb=_['merge']({},_0x4b93eb,_0x683fa0[_0xe1ae('0x3c')]);var _0x26ea87={'where':_0x4b93eb['where']};return db[_0xe1ae('0x29')][_0xe1ae('0x1c')](_0x26ea87)['then'](function(_0x32f84d){_0x40cb1c['count']=_0x32f84d;if(_0x683fa0['query'][_0xe1ae('0x3d')]){_0x4b93eb[_0xe1ae('0x3e')]=[{'all':!![]}];}return db[_0xe1ae('0x29')][_0xe1ae('0x3f')](_0x4b93eb);})[_0xe1ae('0x24')](function(_0x32fa7a){_0x40cb1c[_0xe1ae('0x40')]=_0x32fa7a;return _0x40cb1c;})[_0xe1ae('0x24')](respondWithFilteredResult(_0x343224,_0x4b93eb))[_0xe1ae('0x41')](handleError(_0x343224,null));};exports[_0xe1ae('0x42')]=function(_0x2e5b2e,_0x552dd3){var _0x36ce0b={'raw':!![],'where':{'id':_0x2e5b2e[_0xe1ae('0x43')]['id']}},_0x25a731={};_0x25a731[_0xe1ae('0x31')]=_[_0xe1ae('0x2e')](db[_0xe1ae('0x29')][_0xe1ae('0x44')]);_0x25a731[_0xe1ae('0x2d')]=_[_0xe1ae('0x2e')](_0x2e5b2e[_0xe1ae('0x2d')]);_0x25a731['filters']=_[_0xe1ae('0x30')](_0x25a731[_0xe1ae('0x31')],_0x25a731[_0xe1ae('0x2d')]);_0x36ce0b[_0xe1ae('0x33')]=_[_0xe1ae('0x30')](_0x25a731['model'],qs['fields'](_0x2e5b2e[_0xe1ae('0x2d')][_0xe1ae('0x32')]));_0x36ce0b[_0xe1ae('0x33')]=_0x36ce0b[_0xe1ae('0x33')]['length']?_0x36ce0b[_0xe1ae('0x33')]:_0x25a731[_0xe1ae('0x31')];if(_0x2e5b2e['query'][_0xe1ae('0x3d')]){_0x36ce0b[_0xe1ae('0x3e')]=[{'all':!![]}];}_0x36ce0b=_['merge']({},_0x36ce0b,_0x2e5b2e[_0xe1ae('0x3c')]);return db[_0xe1ae('0x29')][_0xe1ae('0x45')](_0x36ce0b)[_0xe1ae('0x24')](handleEntityNotFound(_0x552dd3,null))[_0xe1ae('0x24')](respondWithResult(_0x552dd3,null))['catch'](handleError(_0x552dd3,null));};exports['create']=function(_0x203757,_0x4e2088){return db[_0xe1ae('0x29')]['create'](_0x203757[_0xe1ae('0x46')],{})['then'](respondWithResult(_0x4e2088,0xc9))[_0xe1ae('0x41')](handleError(_0x4e2088,null));};exports[_0xe1ae('0x23')]=function(_0x4a8d4c,_0x4381e6){if(_0x4a8d4c[_0xe1ae('0x46')]['id']){delete _0x4a8d4c[_0xe1ae('0x46')]['id'];}return db[_0xe1ae('0x29')][_0xe1ae('0x45')]({'where':{'id':_0x4a8d4c[_0xe1ae('0x43')]['id']}})['then'](handleEntityNotFound(_0x4381e6,null))[_0xe1ae('0x24')](saveUpdates(_0x4a8d4c[_0xe1ae('0x46')],null))[_0xe1ae('0x24')](respondWithResult(_0x4381e6,null))[_0xe1ae('0x41')](handleError(_0x4381e6,null));};exports[_0xe1ae('0x25')]=function(_0x59a5cb,_0x3747cf){return db[_0xe1ae('0x29')][_0xe1ae('0x45')]({'where':{'id':_0x59a5cb[_0xe1ae('0x43')]['id']}})['then'](handleEntityNotFound(_0x3747cf,null))['then'](removeEntity(_0x3747cf,null))[_0xe1ae('0x41')](handleError(_0x3747cf,null));};exports['describe']=function(_0x519314,_0x52c75a){return db[_0xe1ae('0x29')][_0xe1ae('0x47')]()[_0xe1ae('0x24')](respondWithResult(_0x52c75a,null))[_0xe1ae('0x41')](handleError(_0x52c75a,null));};