Built motion from commit e6806ed6.|2.6.0
[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 _0xfa95=['find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','index','OpenchannelQueueReport','fieldName','type','key','map','name','query','filters','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','intersection'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0xfa95,0x148));var _0x5fa9=function(_0x39758d,_0x346423){_0x39758d=_0x39758d-0x0;var _0x44ac11=_0xfa95[_0x39758d];return _0x44ac11;};'use strict';var emlformat=require(_0x5fa9('0x0'));var rimraf=require(_0x5fa9('0x1'));var zipdir=require(_0x5fa9('0x2'));var jsonpatch=require(_0x5fa9('0x3'));var rp=require(_0x5fa9('0x4'));var moment=require(_0x5fa9('0x5'));var BPromise=require(_0x5fa9('0x6'));var Mustache=require(_0x5fa9('0x7'));var util=require(_0x5fa9('0x8'));var path=require(_0x5fa9('0x9'));var sox=require(_0x5fa9('0xa'));var csv=require(_0x5fa9('0xb'));var ejs=require(_0x5fa9('0xc'));var fs=require('fs');var fs_extra=require(_0x5fa9('0xd'));var _=require(_0x5fa9('0xe'));var squel=require(_0x5fa9('0xf'));var crypto=require(_0x5fa9('0x10'));var jsforce=require(_0x5fa9('0x11'));var deskjs=require(_0x5fa9('0x12'));var toCsv=require(_0x5fa9('0xb'));var querystring=require(_0x5fa9('0x13'));var Papa=require(_0x5fa9('0x14'));var Redis=require(_0x5fa9('0x15'));var authService=require(_0x5fa9('0x16'));var qs=require('../../components/parsers/qs');var as=require(_0x5fa9('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x5fa9('0x18'));var utils=require(_0x5fa9('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0x5fa9('0x1a'));var db=require(_0x5fa9('0x1b'))['db'];function respondWithStatusCode(_0x394401,_0x4d9bc1){_0x4d9bc1=_0x4d9bc1||0xcc;return function(_0x569e1c){if(_0x569e1c){return _0x394401['sendStatus'](_0x4d9bc1);}return _0x394401['status'](_0x4d9bc1)[_0x5fa9('0x1c')]();};}function respondWithResult(_0x5ca76f,_0xa48920){_0xa48920=_0xa48920||0xc8;return function(_0x37b208){if(_0x37b208){return _0x5ca76f[_0x5fa9('0x1d')](_0xa48920)[_0x5fa9('0x1e')](_0x37b208);}};}function respondWithFilteredResult(_0x2c504e,_0x2cc289){return function(_0x36f2ac){if(_0x36f2ac){var _0x2a8d1e=typeof _0x2cc289[_0x5fa9('0x1f')]==='undefined'&&typeof _0x2cc289['limit']===_0x5fa9('0x20');var _0x593498=_0x36f2ac[_0x5fa9('0x21')];var _0x524ba3=_0x2a8d1e?0x0:_0x2cc289[_0x5fa9('0x1f')];var _0x314ef1=_0x2a8d1e?_0x36f2ac[_0x5fa9('0x21')]:_0x2cc289[_0x5fa9('0x1f')]+_0x2cc289[_0x5fa9('0x22')];var _0x425939;if(_0x314ef1>=_0x593498){_0x314ef1=_0x593498;_0x425939=0xc8;}else{_0x425939=0xce;}_0x2c504e[_0x5fa9('0x1d')](_0x425939);return _0x2c504e[_0x5fa9('0x23')](_0x5fa9('0x24'),_0x524ba3+'-'+_0x314ef1+'/'+_0x593498)[_0x5fa9('0x1e')](_0x36f2ac);}return null;};}function patchUpdates(_0x4e3bc0){return function(_0x436b12){try{jsonpatch[_0x5fa9('0x25')](_0x436b12,_0x4e3bc0,!![]);}catch(_0x52dfbb){return BPromise[_0x5fa9('0x26')](_0x52dfbb);}return _0x436b12[_0x5fa9('0x27')]();};}function saveUpdates(_0x2ae967,_0x173e6a){return function(_0x487759){if(_0x487759){return _0x487759[_0x5fa9('0x28')](_0x2ae967)['then'](function(_0x57bcee){return _0x57bcee;});}return null;};}function removeEntity(_0xd408a8,_0x169a90){return function(_0x586e82){if(_0x586e82){return _0x586e82[_0x5fa9('0x29')]()['then'](function(){_0xd408a8[_0x5fa9('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x114156,_0x58b3fe){return function(_0x1153b7){if(!_0x1153b7){_0x114156['sendStatus'](0x194);}return _0x1153b7;};}function handleError(_0x18553a,_0x14d99d){_0x14d99d=_0x14d99d||0x1f4;return function(_0x200c19){logger[_0x5fa9('0x2a')](_0x200c19[_0x5fa9('0x2b')]);if(_0x200c19['name']){delete _0x200c19['name'];}_0x18553a['status'](_0x14d99d)['send'](_0x200c19);};}exports[_0x5fa9('0x2c')]=function(_0x1690e9,_0xe03f3b){var _0x5720e1={},_0x32dc73={},_0x4ffdc6={'count':0x0,'rows':[]};var _0x4aa056=_['map'](db[_0x5fa9('0x2d')]['rawAttributes'],function(_0x374157){return{'name':_0x374157[_0x5fa9('0x2e')],'type':_0x374157[_0x5fa9('0x2f')][_0x5fa9('0x30')]};});_0x32dc73['model']=_[_0x5fa9('0x31')](_0x4aa056,_0x5fa9('0x32'));_0x32dc73[_0x5fa9('0x33')]=_['keys'](_0x1690e9[_0x5fa9('0x33')]);_0x32dc73[_0x5fa9('0x34')]=_['intersection'](_0x32dc73[_0x5fa9('0x35')],_0x32dc73[_0x5fa9('0x33')]);_0x5720e1[_0x5fa9('0x36')]=_['intersection'](_0x32dc73[_0x5fa9('0x35')],qs['fields'](_0x1690e9['query'][_0x5fa9('0x37')]));_0x5720e1['attributes']=_0x5720e1[_0x5fa9('0x36')][_0x5fa9('0x38')]?_0x5720e1['attributes']:_0x32dc73['model'];if(!_0x1690e9[_0x5fa9('0x33')][_0x5fa9('0x39')](_0x5fa9('0x3a'))){_0x5720e1[_0x5fa9('0x22')]=qs['limit'](_0x1690e9[_0x5fa9('0x33')]['limit']);_0x5720e1[_0x5fa9('0x1f')]=qs[_0x5fa9('0x1f')](_0x1690e9[_0x5fa9('0x33')][_0x5fa9('0x1f')]);}_0x5720e1['order']=qs[_0x5fa9('0x3b')](_0x1690e9[_0x5fa9('0x33')][_0x5fa9('0x3b')]);_0x5720e1[_0x5fa9('0x3c')]=qs[_0x5fa9('0x34')](_[_0x5fa9('0x3d')](_0x1690e9['query'],_0x32dc73['filters']),_0x4aa056);if(_0x1690e9[_0x5fa9('0x33')][_0x5fa9('0x3e')]){_0x5720e1[_0x5fa9('0x3c')]=_[_0x5fa9('0x3f')](_0x5720e1[_0x5fa9('0x3c')],{'$or':_['map'](_0x4aa056,function(_0x4a6277){if(_0x4a6277[_0x5fa9('0x2f')]!==_0x5fa9('0x40')){var _0x3f74a9={};_0x3f74a9[_0x4a6277[_0x5fa9('0x32')]]={'$like':'%'+_0x1690e9[_0x5fa9('0x33')]['filter']+'%'};return _0x3f74a9;}})});}_0x5720e1=_[_0x5fa9('0x3f')]({},_0x5720e1,_0x1690e9[_0x5fa9('0x41')]);var _0x2e4ada={'where':_0x5720e1[_0x5fa9('0x3c')]};return db[_0x5fa9('0x2d')][_0x5fa9('0x21')](_0x2e4ada)[_0x5fa9('0x42')](function(_0x257ee4){_0x4ffdc6[_0x5fa9('0x21')]=_0x257ee4;if(_0x1690e9['query'][_0x5fa9('0x43')]){_0x5720e1[_0x5fa9('0x44')]=[{'all':!![]}];}return db[_0x5fa9('0x2d')][_0x5fa9('0x45')](_0x5720e1);})[_0x5fa9('0x42')](function(_0x330875){_0x4ffdc6[_0x5fa9('0x46')]=_0x330875;return _0x4ffdc6;})['then'](respondWithFilteredResult(_0xe03f3b,_0x5720e1))[_0x5fa9('0x47')](handleError(_0xe03f3b,null));};exports[_0x5fa9('0x48')]=function(_0x40fff6,_0x2b92cc){var _0x47bf09={'raw':!![],'where':{'id':_0x40fff6[_0x5fa9('0x49')]['id']}},_0x43c005={};_0x43c005[_0x5fa9('0x35')]=_[_0x5fa9('0x4a')](db[_0x5fa9('0x2d')][_0x5fa9('0x4b')]);_0x43c005[_0x5fa9('0x33')]=_[_0x5fa9('0x4a')](_0x40fff6['query']);_0x43c005['filters']=_['intersection'](_0x43c005[_0x5fa9('0x35')],_0x43c005[_0x5fa9('0x33')]);_0x47bf09['attributes']=_[_0x5fa9('0x4c')](_0x43c005[_0x5fa9('0x35')],qs[_0x5fa9('0x37')](_0x40fff6[_0x5fa9('0x33')][_0x5fa9('0x37')]));_0x47bf09[_0x5fa9('0x36')]=_0x47bf09['attributes']['length']?_0x47bf09[_0x5fa9('0x36')]:_0x43c005['model'];if(_0x40fff6[_0x5fa9('0x33')][_0x5fa9('0x43')]){_0x47bf09[_0x5fa9('0x44')]=[{'all':!![]}];}_0x47bf09=_[_0x5fa9('0x3f')]({},_0x47bf09,_0x40fff6[_0x5fa9('0x41')]);return db[_0x5fa9('0x2d')][_0x5fa9('0x4d')](_0x47bf09)[_0x5fa9('0x42')](handleEntityNotFound(_0x2b92cc,null))[_0x5fa9('0x42')](respondWithResult(_0x2b92cc,null))[_0x5fa9('0x47')](handleError(_0x2b92cc,null));};exports[_0x5fa9('0x4e')]=function(_0x3cda9a,_0x225c4b){return db[_0x5fa9('0x2d')][_0x5fa9('0x4e')](_0x3cda9a[_0x5fa9('0x4f')],{})[_0x5fa9('0x42')](respondWithResult(_0x225c4b,0xc9))[_0x5fa9('0x47')](handleError(_0x225c4b,null));};exports[_0x5fa9('0x28')]=function(_0x26aeda,_0x2fb5ee){if(_0x26aeda[_0x5fa9('0x4f')]['id']){delete _0x26aeda['body']['id'];}return db['OpenchannelQueueReport']['find']({'where':{'id':_0x26aeda[_0x5fa9('0x49')]['id']}})[_0x5fa9('0x42')](handleEntityNotFound(_0x2fb5ee,null))[_0x5fa9('0x42')](saveUpdates(_0x26aeda[_0x5fa9('0x4f')],null))['then'](respondWithResult(_0x2fb5ee,null))[_0x5fa9('0x47')](handleError(_0x2fb5ee,null));};exports[_0x5fa9('0x29')]=function(_0x15a2bf,_0x221064){return db[_0x5fa9('0x2d')][_0x5fa9('0x4d')]({'where':{'id':_0x15a2bf['params']['id']}})[_0x5fa9('0x42')](handleEntityNotFound(_0x221064,null))[_0x5fa9('0x42')](removeEntity(_0x221064,null))[_0x5fa9('0x47')](handleError(_0x221064,null));};exports['describe']=function(_0x51139c,_0xb0a7d5){return db['OpenchannelQueueReport'][_0x5fa9('0x50')]()[_0x5fa9('0x42')](respondWithResult(_0xb0a7d5,null))['catch'](handleError(_0xb0a7d5,null));};