Built motion from commit ae138b72.|2.6.28
[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 _0xd7cc=['undefined','limit','count','Content-Range','apply','reject','update','destroy','then','sendStatus','error','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','OpenchannelQueueReport','includeAll','include','findAll','rows','catch','params','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','squel','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','status','end','json','offset'];(function(_0x4e1550,_0x1d377f){var _0x8158db=function(_0x16cb4a){while(--_0x16cb4a){_0x4e1550['push'](_0x4e1550['shift']());}};_0x8158db(++_0x1d377f);}(_0xd7cc,0x15c));var _0xcd7c=function(_0x19d353,_0x4ae972){_0x19d353=_0x19d353-0x0;var _0x3be0c1=_0xd7cc[_0x19d353];return _0x3be0c1;};'use strict';var emlformat=require(_0xcd7c('0x0'));var rimraf=require(_0xcd7c('0x1'));var zipdir=require(_0xcd7c('0x2'));var jsonpatch=require(_0xcd7c('0x3'));var rp=require(_0xcd7c('0x4'));var moment=require(_0xcd7c('0x5'));var BPromise=require(_0xcd7c('0x6'));var Mustache=require(_0xcd7c('0x7'));var util=require(_0xcd7c('0x8'));var path=require(_0xcd7c('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcd7c('0xa'));var fs=require('fs');var fs_extra=require(_0xcd7c('0xb'));var _=require('lodash');var squel=require(_0xcd7c('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xcd7c('0xd'));var querystring=require(_0xcd7c('0xe'));var Papa=require(_0xcd7c('0xf'));var Redis=require('ioredis');var authService=require(_0xcd7c('0x10'));var qs=require(_0xcd7c('0x11'));var as=require(_0xcd7c('0x12'));var hardwareService=require(_0xcd7c('0x13'));var logger=require('../../config/logger')(_0xcd7c('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xcd7c('0x15'));var db=require(_0xcd7c('0x16'))['db'];function respondWithStatusCode(_0x5b072b,_0x3d721f){_0x3d721f=_0x3d721f||0xcc;return function(_0x39bb46){if(_0x39bb46){return _0x5b072b['sendStatus'](_0x3d721f);}return _0x5b072b[_0xcd7c('0x17')](_0x3d721f)[_0xcd7c('0x18')]();};}function respondWithResult(_0x4e30bb,_0x2863e9){_0x2863e9=_0x2863e9||0xc8;return function(_0x129a0f){if(_0x129a0f){return _0x4e30bb[_0xcd7c('0x17')](_0x2863e9)[_0xcd7c('0x19')](_0x129a0f);}};}function respondWithFilteredResult(_0x59ffa3,_0xa5c79f){return function(_0x418802){if(_0x418802){var _0x3411ad=typeof _0xa5c79f[_0xcd7c('0x1a')]===_0xcd7c('0x1b')&&typeof _0xa5c79f[_0xcd7c('0x1c')]===_0xcd7c('0x1b');var _0x114362=_0x418802[_0xcd7c('0x1d')];var _0x27c766=_0x3411ad?0x0:_0xa5c79f[_0xcd7c('0x1a')];var _0x368e60=_0x3411ad?_0x418802[_0xcd7c('0x1d')]:_0xa5c79f[_0xcd7c('0x1a')]+_0xa5c79f[_0xcd7c('0x1c')];var _0x286472;if(_0x368e60>=_0x114362){_0x368e60=_0x114362;_0x286472=0xc8;}else{_0x286472=0xce;}_0x59ffa3[_0xcd7c('0x17')](_0x286472);return _0x59ffa3['set'](_0xcd7c('0x1e'),_0x27c766+'-'+_0x368e60+'/'+_0x114362)[_0xcd7c('0x19')](_0x418802);}return null;};}function patchUpdates(_0x45da90){return function(_0x50c309){try{jsonpatch[_0xcd7c('0x1f')](_0x50c309,_0x45da90,!![]);}catch(_0x9bfddd){return BPromise[_0xcd7c('0x20')](_0x9bfddd);}return _0x50c309['save']();};}function saveUpdates(_0x4f5d29,_0x2dcf8e){return function(_0x23e8e2){if(_0x23e8e2){return _0x23e8e2[_0xcd7c('0x21')](_0x4f5d29)['then'](function(_0xf79846){return _0xf79846;});}return null;};}function removeEntity(_0x41ea2f,_0xb7c65e){return function(_0x30715f){if(_0x30715f){return _0x30715f[_0xcd7c('0x22')]()[_0xcd7c('0x23')](function(){_0x41ea2f[_0xcd7c('0x17')](0xcc)[_0xcd7c('0x18')]();});}};}function handleEntityNotFound(_0x1a3be0,_0x5908c6){return function(_0x44ae28){if(!_0x44ae28){_0x1a3be0[_0xcd7c('0x24')](0x194);}return _0x44ae28;};}function handleError(_0x5355f1,_0x556bdf){_0x556bdf=_0x556bdf||0x1f4;return function(_0x177930){logger[_0xcd7c('0x25')](_0x177930[_0xcd7c('0x26')]);if(_0x177930[_0xcd7c('0x27')]){delete _0x177930['name'];}_0x5355f1[_0xcd7c('0x17')](_0x556bdf)[_0xcd7c('0x28')](_0x177930);};}exports[_0xcd7c('0x29')]=function(_0x392ea3,_0x5932f4){var _0x43b773={},_0x8a03a7={},_0xd20a94={'count':0x0,'rows':[]};var _0x34f932=_[_0xcd7c('0x2a')](db['OpenchannelQueueReport'][_0xcd7c('0x2b')],function(_0x55729e){return{'name':_0x55729e['fieldName'],'type':_0x55729e[_0xcd7c('0x2c')][_0xcd7c('0x2d')]};});_0x8a03a7[_0xcd7c('0x2e')]=_['map'](_0x34f932,_0xcd7c('0x27'));_0x8a03a7[_0xcd7c('0x2f')]=_[_0xcd7c('0x30')](_0x392ea3['query']);_0x8a03a7[_0xcd7c('0x31')]=_['intersection'](_0x8a03a7[_0xcd7c('0x2e')],_0x8a03a7[_0xcd7c('0x2f')]);_0x43b773[_0xcd7c('0x32')]=_[_0xcd7c('0x33')](_0x8a03a7[_0xcd7c('0x2e')],qs[_0xcd7c('0x34')](_0x392ea3[_0xcd7c('0x2f')]['fields']));_0x43b773[_0xcd7c('0x32')]=_0x43b773[_0xcd7c('0x32')][_0xcd7c('0x35')]?_0x43b773[_0xcd7c('0x32')]:_0x8a03a7[_0xcd7c('0x2e')];if(!_0x392ea3[_0xcd7c('0x2f')][_0xcd7c('0x36')](_0xcd7c('0x37'))){_0x43b773[_0xcd7c('0x1c')]=qs[_0xcd7c('0x1c')](_0x392ea3[_0xcd7c('0x2f')]['limit']);_0x43b773[_0xcd7c('0x1a')]=qs['offset'](_0x392ea3['query']['offset']);}_0x43b773[_0xcd7c('0x38')]=qs[_0xcd7c('0x39')](_0x392ea3[_0xcd7c('0x2f')][_0xcd7c('0x39')]);_0x43b773[_0xcd7c('0x3a')]=qs[_0xcd7c('0x31')](_[_0xcd7c('0x3b')](_0x392ea3['query'],_0x8a03a7[_0xcd7c('0x31')]),_0x34f932);if(_0x392ea3[_0xcd7c('0x2f')][_0xcd7c('0x3c')]){_0x43b773[_0xcd7c('0x3a')]=_[_0xcd7c('0x3d')](_0x43b773[_0xcd7c('0x3a')],{'$or':_['map'](_0x34f932,function(_0x56ba4e){if(_0x56ba4e[_0xcd7c('0x2c')]!==_0xcd7c('0x3e')){var _0x2b83bc={};_0x2b83bc[_0x56ba4e['name']]={'$like':'%'+_0x392ea3[_0xcd7c('0x2f')][_0xcd7c('0x3c')]+'%'};return _0x2b83bc;}})});}_0x43b773=_['merge']({},_0x43b773,_0x392ea3[_0xcd7c('0x3f')]);var _0x133644={'where':_0x43b773['where']};return db[_0xcd7c('0x40')]['count'](_0x133644)[_0xcd7c('0x23')](function(_0x3d4884){_0xd20a94[_0xcd7c('0x1d')]=_0x3d4884;if(_0x392ea3[_0xcd7c('0x2f')][_0xcd7c('0x41')]){_0x43b773[_0xcd7c('0x42')]=[{'all':!![]}];}return db[_0xcd7c('0x40')][_0xcd7c('0x43')](_0x43b773);})[_0xcd7c('0x23')](function(_0x4a1e65){_0xd20a94[_0xcd7c('0x44')]=_0x4a1e65;return _0xd20a94;})[_0xcd7c('0x23')](respondWithFilteredResult(_0x5932f4,_0x43b773))[_0xcd7c('0x45')](handleError(_0x5932f4,null));};exports['show']=function(_0x4a3d0e,_0x27c478){var _0x2d65a9={'raw':!![],'where':{'id':_0x4a3d0e[_0xcd7c('0x46')]['id']}},_0x204951={};_0x204951[_0xcd7c('0x2e')]=_[_0xcd7c('0x30')](db['OpenchannelQueueReport'][_0xcd7c('0x2b')]);_0x204951['query']=_[_0xcd7c('0x30')](_0x4a3d0e[_0xcd7c('0x2f')]);_0x204951[_0xcd7c('0x31')]=_[_0xcd7c('0x33')](_0x204951[_0xcd7c('0x2e')],_0x204951[_0xcd7c('0x2f')]);_0x2d65a9['attributes']=_[_0xcd7c('0x33')](_0x204951[_0xcd7c('0x2e')],qs[_0xcd7c('0x34')](_0x4a3d0e[_0xcd7c('0x2f')][_0xcd7c('0x34')]));_0x2d65a9[_0xcd7c('0x32')]=_0x2d65a9['attributes'][_0xcd7c('0x35')]?_0x2d65a9['attributes']:_0x204951['model'];if(_0x4a3d0e['query'][_0xcd7c('0x41')]){_0x2d65a9[_0xcd7c('0x42')]=[{'all':!![]}];}_0x2d65a9=_[_0xcd7c('0x3d')]({},_0x2d65a9,_0x4a3d0e[_0xcd7c('0x3f')]);return db[_0xcd7c('0x40')][_0xcd7c('0x47')](_0x2d65a9)['then'](handleEntityNotFound(_0x27c478,null))[_0xcd7c('0x23')](respondWithResult(_0x27c478,null))[_0xcd7c('0x45')](handleError(_0x27c478,null));};exports[_0xcd7c('0x48')]=function(_0x252d18,_0x43aeb3){return db[_0xcd7c('0x40')][_0xcd7c('0x48')](_0x252d18[_0xcd7c('0x49')],{})[_0xcd7c('0x23')](respondWithResult(_0x43aeb3,0xc9))[_0xcd7c('0x45')](handleError(_0x43aeb3,null));};exports[_0xcd7c('0x21')]=function(_0x2336c8,_0x5dec04){if(_0x2336c8[_0xcd7c('0x49')]['id']){delete _0x2336c8['body']['id'];}return db['OpenchannelQueueReport']['find']({'where':{'id':_0x2336c8[_0xcd7c('0x46')]['id']}})[_0xcd7c('0x23')](handleEntityNotFound(_0x5dec04,null))[_0xcd7c('0x23')](saveUpdates(_0x2336c8[_0xcd7c('0x49')],null))[_0xcd7c('0x23')](respondWithResult(_0x5dec04,null))[_0xcd7c('0x45')](handleError(_0x5dec04,null));};exports[_0xcd7c('0x22')]=function(_0x25a104,_0x451dc6){return db[_0xcd7c('0x40')]['find']({'where':{'id':_0x25a104['params']['id']}})[_0xcd7c('0x23')](handleEntityNotFound(_0x451dc6,null))[_0xcd7c('0x23')](removeEntity(_0x451dc6,null))[_0xcd7c('0x45')](handleError(_0x451dc6,null));};exports[_0xcd7c('0x4a')]=function(_0x36421d,_0x1552c6){return db['OpenchannelQueueReport'][_0xcd7c('0x4a')]()[_0xcd7c('0x23')](respondWithResult(_0x1552c6,null))[_0xcd7c('0x45')](handleError(_0x1552c6,null));};