Built motion from commit e1760111.|2.6.18
[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 _0xb3e2=['offset','undefined','count','limit','status','set','Content-Range','apply','reject','save','destroy','then','end','sendStatus','error','name','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','OpenchannelQueueReport','includeAll','findAll','rows','show','params','include','find','catch','create','body','update','describe','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','json'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xb3e2,0x80));var _0x2b3e=function(_0x203fb8,_0x5c4a57){_0x203fb8=_0x203fb8-0x0;var _0x2ba181=_0xb3e2[_0x203fb8];return _0x2ba181;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x2b3e('0x0'));var jsonpatch=require(_0x2b3e('0x1'));var rp=require('request-promise');var moment=require(_0x2b3e('0x2'));var BPromise=require(_0x2b3e('0x3'));var Mustache=require(_0x2b3e('0x4'));var util=require(_0x2b3e('0x5'));var path=require(_0x2b3e('0x6'));var sox=require(_0x2b3e('0x7'));var csv=require(_0x2b3e('0x8'));var ejs=require(_0x2b3e('0x9'));var fs=require('fs');var fs_extra=require(_0x2b3e('0xa'));var _=require('lodash');var squel=require(_0x2b3e('0xb'));var crypto=require(_0x2b3e('0xc'));var jsforce=require(_0x2b3e('0xd'));var deskjs=require(_0x2b3e('0xe'));var toCsv=require(_0x2b3e('0x8'));var querystring=require('querystring');var Papa=require(_0x2b3e('0xf'));var Redis=require(_0x2b3e('0x10'));var authService=require(_0x2b3e('0x11'));var qs=require(_0x2b3e('0x12'));var as=require(_0x2b3e('0x13'));var hardwareService=require(_0x2b3e('0x14'));var logger=require(_0x2b3e('0x15'))(_0x2b3e('0x16'));var utils=require(_0x2b3e('0x17'));var config=require(_0x2b3e('0x18'));var licenseUtil=require(_0x2b3e('0x19'));var db=require(_0x2b3e('0x1a'))['db'];function respondWithStatusCode(_0x1d8810,_0x4bd5d5){_0x4bd5d5=_0x4bd5d5||0xcc;return function(_0x2349e9){if(_0x2349e9){return _0x1d8810['sendStatus'](_0x4bd5d5);}return _0x1d8810['status'](_0x4bd5d5)['end']();};}function respondWithResult(_0xcc2314,_0x26a446){_0x26a446=_0x26a446||0xc8;return function(_0x339ef2){if(_0x339ef2){return _0xcc2314['status'](_0x26a446)[_0x2b3e('0x1b')](_0x339ef2);}};}function respondWithFilteredResult(_0x134723,_0x28e7c2){return function(_0x153db0){if(_0x153db0){var _0x5914f8=typeof _0x28e7c2[_0x2b3e('0x1c')]==='undefined'&&typeof _0x28e7c2['limit']===_0x2b3e('0x1d');var _0x1e7e85=_0x153db0['count'];var _0x58a8eb=_0x5914f8?0x0:_0x28e7c2[_0x2b3e('0x1c')];var _0x2252b8=_0x5914f8?_0x153db0[_0x2b3e('0x1e')]:_0x28e7c2[_0x2b3e('0x1c')]+_0x28e7c2[_0x2b3e('0x1f')];var _0x1b1e8a;if(_0x2252b8>=_0x1e7e85){_0x2252b8=_0x1e7e85;_0x1b1e8a=0xc8;}else{_0x1b1e8a=0xce;}_0x134723[_0x2b3e('0x20')](_0x1b1e8a);return _0x134723[_0x2b3e('0x21')](_0x2b3e('0x22'),_0x58a8eb+'-'+_0x2252b8+'/'+_0x1e7e85)['json'](_0x153db0);}return null;};}function patchUpdates(_0x3330de){return function(_0xf9e838){try{jsonpatch[_0x2b3e('0x23')](_0xf9e838,_0x3330de,!![]);}catch(_0x260c99){return BPromise[_0x2b3e('0x24')](_0x260c99);}return _0xf9e838[_0x2b3e('0x25')]();};}function saveUpdates(_0x45c56c,_0x2b0b0c){return function(_0x22e920){if(_0x22e920){return _0x22e920['update'](_0x45c56c)['then'](function(_0x587dd4){return _0x587dd4;});}return null;};}function removeEntity(_0x228c0f,_0x5841fa){return function(_0x347076){if(_0x347076){return _0x347076[_0x2b3e('0x26')]()[_0x2b3e('0x27')](function(){_0x228c0f[_0x2b3e('0x20')](0xcc)[_0x2b3e('0x28')]();});}};}function handleEntityNotFound(_0x3de6fa,_0x2575db){return function(_0x5c2971){if(!_0x5c2971){_0x3de6fa[_0x2b3e('0x29')](0x194);}return _0x5c2971;};}function handleError(_0x49baff,_0x26d38d){_0x26d38d=_0x26d38d||0x1f4;return function(_0x2e84e1){logger[_0x2b3e('0x2a')](_0x2e84e1['stack']);if(_0x2e84e1[_0x2b3e('0x2b')]){delete _0x2e84e1[_0x2b3e('0x2b')];}_0x49baff['status'](_0x26d38d)['send'](_0x2e84e1);};}exports['index']=function(_0x453731,_0x33f562){var _0x1a9107={},_0x17b2be={},_0x26d9ae={'count':0x0,'rows':[]};var _0x28d082=_['map'](db['OpenchannelQueueReport'][_0x2b3e('0x2c')],function(_0x410f79){return{'name':_0x410f79[_0x2b3e('0x2d')],'type':_0x410f79[_0x2b3e('0x2e')]['key']};});_0x17b2be[_0x2b3e('0x2f')]=_[_0x2b3e('0x30')](_0x28d082,_0x2b3e('0x2b'));_0x17b2be[_0x2b3e('0x31')]=_[_0x2b3e('0x32')](_0x453731[_0x2b3e('0x31')]);_0x17b2be[_0x2b3e('0x33')]=_[_0x2b3e('0x34')](_0x17b2be['model'],_0x17b2be[_0x2b3e('0x31')]);_0x1a9107[_0x2b3e('0x35')]=_[_0x2b3e('0x34')](_0x17b2be[_0x2b3e('0x2f')],qs[_0x2b3e('0x36')](_0x453731[_0x2b3e('0x31')][_0x2b3e('0x36')]));_0x1a9107[_0x2b3e('0x35')]=_0x1a9107[_0x2b3e('0x35')][_0x2b3e('0x37')]?_0x1a9107[_0x2b3e('0x35')]:_0x17b2be[_0x2b3e('0x2f')];if(!_0x453731[_0x2b3e('0x31')][_0x2b3e('0x38')](_0x2b3e('0x39'))){_0x1a9107[_0x2b3e('0x1f')]=qs['limit'](_0x453731[_0x2b3e('0x31')][_0x2b3e('0x1f')]);_0x1a9107['offset']=qs[_0x2b3e('0x1c')](_0x453731[_0x2b3e('0x31')]['offset']);}_0x1a9107[_0x2b3e('0x3a')]=qs[_0x2b3e('0x3b')](_0x453731[_0x2b3e('0x31')][_0x2b3e('0x3b')]);_0x1a9107[_0x2b3e('0x3c')]=qs[_0x2b3e('0x33')](_[_0x2b3e('0x3d')](_0x453731[_0x2b3e('0x31')],_0x17b2be['filters']),_0x28d082);if(_0x453731[_0x2b3e('0x31')][_0x2b3e('0x3e')]){_0x1a9107[_0x2b3e('0x3c')]=_[_0x2b3e('0x3f')](_0x1a9107[_0x2b3e('0x3c')],{'$or':_[_0x2b3e('0x30')](_0x28d082,function(_0x57297b){if(_0x57297b['type']!=='VIRTUAL'){var _0x54baa0={};_0x54baa0[_0x57297b[_0x2b3e('0x2b')]]={'$like':'%'+_0x453731[_0x2b3e('0x31')]['filter']+'%'};return _0x54baa0;}})});}_0x1a9107=_[_0x2b3e('0x3f')]({},_0x1a9107,_0x453731[_0x2b3e('0x40')]);var _0x1dbedb={'where':_0x1a9107[_0x2b3e('0x3c')]};return db[_0x2b3e('0x41')][_0x2b3e('0x1e')](_0x1dbedb)[_0x2b3e('0x27')](function(_0x25eb28){_0x26d9ae['count']=_0x25eb28;if(_0x453731[_0x2b3e('0x31')][_0x2b3e('0x42')]){_0x1a9107['include']=[{'all':!![]}];}return db[_0x2b3e('0x41')][_0x2b3e('0x43')](_0x1a9107);})[_0x2b3e('0x27')](function(_0x4ec3c1){_0x26d9ae[_0x2b3e('0x44')]=_0x4ec3c1;return _0x26d9ae;})[_0x2b3e('0x27')](respondWithFilteredResult(_0x33f562,_0x1a9107))['catch'](handleError(_0x33f562,null));};exports[_0x2b3e('0x45')]=function(_0x234bc3,_0x1a13d0){var _0x1e2fb4={'raw':!![],'where':{'id':_0x234bc3[_0x2b3e('0x46')]['id']}},_0x2cadcd={};_0x2cadcd['model']=_[_0x2b3e('0x32')](db['OpenchannelQueueReport'][_0x2b3e('0x2c')]);_0x2cadcd[_0x2b3e('0x31')]=_[_0x2b3e('0x32')](_0x234bc3[_0x2b3e('0x31')]);_0x2cadcd[_0x2b3e('0x33')]=_['intersection'](_0x2cadcd[_0x2b3e('0x2f')],_0x2cadcd[_0x2b3e('0x31')]);_0x1e2fb4[_0x2b3e('0x35')]=_[_0x2b3e('0x34')](_0x2cadcd[_0x2b3e('0x2f')],qs['fields'](_0x234bc3['query']['fields']));_0x1e2fb4[_0x2b3e('0x35')]=_0x1e2fb4['attributes'][_0x2b3e('0x37')]?_0x1e2fb4[_0x2b3e('0x35')]:_0x2cadcd[_0x2b3e('0x2f')];if(_0x234bc3[_0x2b3e('0x31')][_0x2b3e('0x42')]){_0x1e2fb4[_0x2b3e('0x47')]=[{'all':!![]}];}_0x1e2fb4=_[_0x2b3e('0x3f')]({},_0x1e2fb4,_0x234bc3[_0x2b3e('0x40')]);return db[_0x2b3e('0x41')][_0x2b3e('0x48')](_0x1e2fb4)[_0x2b3e('0x27')](handleEntityNotFound(_0x1a13d0,null))[_0x2b3e('0x27')](respondWithResult(_0x1a13d0,null))[_0x2b3e('0x49')](handleError(_0x1a13d0,null));};exports[_0x2b3e('0x4a')]=function(_0x25515c,_0x42d896){return db[_0x2b3e('0x41')][_0x2b3e('0x4a')](_0x25515c[_0x2b3e('0x4b')],{})[_0x2b3e('0x27')](respondWithResult(_0x42d896,0xc9))['catch'](handleError(_0x42d896,null));};exports[_0x2b3e('0x4c')]=function(_0x2d8328,_0x503610){if(_0x2d8328[_0x2b3e('0x4b')]['id']){delete _0x2d8328['body']['id'];}return db[_0x2b3e('0x41')][_0x2b3e('0x48')]({'where':{'id':_0x2d8328[_0x2b3e('0x46')]['id']}})[_0x2b3e('0x27')](handleEntityNotFound(_0x503610,null))[_0x2b3e('0x27')](saveUpdates(_0x2d8328['body'],null))[_0x2b3e('0x27')](respondWithResult(_0x503610,null))[_0x2b3e('0x49')](handleError(_0x503610,null));};exports['destroy']=function(_0x5a20ae,_0x2afbae){return db[_0x2b3e('0x41')]['find']({'where':{'id':_0x5a20ae['params']['id']}})['then'](handleEntityNotFound(_0x2afbae,null))[_0x2b3e('0x27')](removeEntity(_0x2afbae,null))[_0x2b3e('0x49')](handleError(_0x2afbae,null));};exports[_0x2b3e('0x4d')]=function(_0x1c19f5,_0x16d608){return db[_0x2b3e('0x41')]['describe']()[_0x2b3e('0x27')](respondWithResult(_0x16d608,null))[_0x2b3e('0x49')](handleError(_0x16d608,null));};