Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / api / voiceQueueReport / voiceQueueReport.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 _0xde78=['then','destroy','end','error','stack','name','send','VoiceQueueReport','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','merge','map','type','key','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','describe','getVoiceQueuesReport','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','register','sendStatus','status','json','count','offset','set','apply','reject','save','update'];(function(_0x25d986,_0x1c0956){var _0x23852e=function(_0x54671d){while(--_0x54671d){_0x25d986['push'](_0x25d986['shift']());}};_0x23852e(++_0x1c0956);}(_0xde78,0x166));var _0x8de7=function(_0x5d6c3e,_0x409a3e){_0x5d6c3e=_0x5d6c3e-0x0;var _0x44ecb7=_0xde78[_0x5d6c3e];return _0x44ecb7;};'use strict';var pdf=require(_0x8de7('0x0'));var emlformat=require(_0x8de7('0x1'));var rimraf=require(_0x8de7('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8de7('0x3'));var rp=require(_0x8de7('0x4'));var moment=require('moment');var BPromise=require(_0x8de7('0x5'));var Mustache=require('mustache');var util=require(_0x8de7('0x6'));var path=require(_0x8de7('0x7'));var sox=require(_0x8de7('0x8'));var csv=require(_0x8de7('0x9'));var ejs=require(_0x8de7('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x8de7('0xb'));var deskjs=require(_0x8de7('0xc'));var toCsv=require(_0x8de7('0x9'));var querystring=require('querystring');var Papa=require(_0x8de7('0xd'));var Redis=require(_0x8de7('0xe'));var authService=require(_0x8de7('0xf'));var qs=require(_0x8de7('0x10'));var hardwareService=require(_0x8de7('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x8de7('0x12'));var config=require(_0x8de7('0x13'));var db=require(_0x8de7('0x14'))['db'];config[_0x8de7('0x15')]=_[_0x8de7('0x16')](config[_0x8de7('0x15')],{'host':_0x8de7('0x17'),'port':0x18eb});var socket=require(_0x8de7('0x18'))(new Redis(config[_0x8de7('0x15')]));require(_0x8de7('0x19'))[_0x8de7('0x1a')](socket);function respondWithStatusCode(_0x3c6b5c,_0x5c779d){_0x5c779d=_0x5c779d||0xcc;return function(_0x3e59b0){if(_0x3e59b0){return _0x3c6b5c[_0x8de7('0x1b')](_0x5c779d);}return _0x3c6b5c[_0x8de7('0x1c')](_0x5c779d)['end']();};}function respondWithResult(_0x554ffb,_0x5ec34a){_0x5ec34a=_0x5ec34a||0xc8;return function(_0x3b23d0){if(_0x3b23d0){return _0x554ffb[_0x8de7('0x1c')](_0x5ec34a)[_0x8de7('0x1d')](_0x3b23d0);}};}function respondWithFilteredResult(_0xe376ed,_0x31e1d7){return function(_0x3d4259){if(_0x3d4259){var _0xcde59f=_0x3d4259[_0x8de7('0x1e')],_0x127eac=_0x31e1d7[_0x8de7('0x1f')],_0x2e4f13=_0x31e1d7['offset']+_0x31e1d7['limit'],_0x2f1739;if(_0x2e4f13>=_0xcde59f){_0x2e4f13=_0xcde59f;_0x2f1739=0xc8;}else{_0x2f1739=0xce;}_0xe376ed[_0x8de7('0x1c')](_0x2f1739);return _0xe376ed[_0x8de7('0x20')]('Content-Range',_0x127eac+'-'+_0x2e4f13+'/'+_0xcde59f)['json'](_0x3d4259);}return null;};}function patchUpdates(_0x4f98ef){return function(_0x218d5c){try{jsonpatch[_0x8de7('0x21')](_0x218d5c,_0x4f98ef,!![]);}catch(_0x57800c){return BPromise[_0x8de7('0x22')](_0x57800c);}return _0x218d5c[_0x8de7('0x23')]();};}function saveUpdates(_0x4a1ba3,_0x73b36e){return function(_0x3bac57){if(_0x3bac57){return _0x3bac57[_0x8de7('0x24')](_0x4a1ba3)[_0x8de7('0x25')](function(_0x25f885){return _0x25f885;});}return null;};}function removeEntity(_0x4aad6f,_0x28d4ed){return function(_0x47c3dd){if(_0x47c3dd){return _0x47c3dd[_0x8de7('0x26')]()[_0x8de7('0x25')](function(){_0x4aad6f[_0x8de7('0x1c')](0xcc)[_0x8de7('0x27')]();});}};}function handleEntityNotFound(_0x302c1c,_0x4561ad){return function(_0x9f95d5){if(!_0x9f95d5){_0x302c1c[_0x8de7('0x1b')](0x194);}return _0x9f95d5;};}function handleError(_0x3dfe67,_0x4adb64){_0x4adb64=_0x4adb64||0x1f4;return function(_0xb51370){logger[_0x8de7('0x28')](_0xb51370[_0x8de7('0x29')]);if(_0xb51370['name']){delete _0xb51370[_0x8de7('0x2a')];}_0x3dfe67['status'](_0x4adb64)[_0x8de7('0x2b')](_0xb51370);};}exports['index']=function(_0xcbb5cb,_0x4cb583){var _0x1bc377={},_0x286f30={},_0x27b48b={'count':0x0,'rows':[]};var _0x59382e=db[_0x8de7('0x2c')][_0x8de7('0x2d')];_0x286f30[_0x8de7('0x2e')]=_[_0x8de7('0x2f')](_0x59382e);_0x286f30[_0x8de7('0x30')]=_['keys'](_0xcbb5cb[_0x8de7('0x30')]);_0x286f30[_0x8de7('0x31')]=_[_0x8de7('0x32')](_0x286f30['model'],_0x286f30[_0x8de7('0x30')]);_0x1bc377[_0x8de7('0x33')]=_[_0x8de7('0x32')](_0x286f30['model'],qs[_0x8de7('0x34')](_0xcbb5cb[_0x8de7('0x30')]['fields']));_0x1bc377[_0x8de7('0x33')]=_0x1bc377['attributes'][_0x8de7('0x35')]?_0x1bc377[_0x8de7('0x33')]:_0x286f30[_0x8de7('0x2e')];if(!_0xcbb5cb[_0x8de7('0x30')][_0x8de7('0x36')]('nolimit')){_0x1bc377[_0x8de7('0x37')]=qs[_0x8de7('0x37')](_0xcbb5cb[_0x8de7('0x30')]['limit']);_0x1bc377[_0x8de7('0x1f')]=qs[_0x8de7('0x1f')](_0xcbb5cb[_0x8de7('0x30')][_0x8de7('0x1f')]);}_0x1bc377[_0x8de7('0x38')]=qs[_0x8de7('0x39')](_0xcbb5cb[_0x8de7('0x30')][_0x8de7('0x39')]);_0x1bc377[_0x8de7('0x3a')]=qs[_0x8de7('0x31')](_[_0x8de7('0x3b')](_0xcbb5cb[_0x8de7('0x30')],_0x286f30[_0x8de7('0x31')]));if(_0xcbb5cb[_0x8de7('0x30')]['filter']){_0x1bc377['where']=_[_0x8de7('0x3c')](_0x1bc377['where'],{'$or':_[_0x8de7('0x3d')](_0x59382e,function(_0x38bc27){if(_0x38bc27[_0x8de7('0x3e')][_0x8de7('0x3f')]!==_0x8de7('0x40')){var _0x361ea4={};_0x361ea4[_0x38bc27['field']]={'$like':'%'+_0xcbb5cb[_0x8de7('0x30')][_0x8de7('0x41')]+'%'};return _0x361ea4;}})});}_0x1bc377=_[_0x8de7('0x3c')]({},_0x1bc377,_0xcbb5cb[_0x8de7('0x42')]);var _0x34017c={'where':_0x1bc377[_0x8de7('0x3a')]};return db[_0x8de7('0x2c')][_0x8de7('0x1e')](_0x34017c)[_0x8de7('0x25')](function(_0x4d7e79){_0x27b48b['count']=_0x4d7e79;if(_0xcbb5cb[_0x8de7('0x30')][_0x8de7('0x43')]){_0x1bc377[_0x8de7('0x44')]=[{'all':!![]}];}return db[_0x8de7('0x2c')][_0x8de7('0x45')](_0x1bc377);})['then'](function(_0x298ff5){_0x27b48b[_0x8de7('0x46')]=_0x298ff5;return _0x27b48b;})[_0x8de7('0x25')](respondWithFilteredResult(_0x4cb583,_0x1bc377))[_0x8de7('0x47')](handleError(_0x4cb583,null));};exports[_0x8de7('0x48')]=function(_0x295c94,_0x4e89f5){var _0x55d531={'raw':![],'where':{'id':_0x295c94['params']['id']}},_0x238d1f={};_0x238d1f['model']=_[_0x8de7('0x2f')](db[_0x8de7('0x2c')][_0x8de7('0x2d')]);_0x238d1f[_0x8de7('0x30')]=_[_0x8de7('0x2f')](_0x295c94[_0x8de7('0x30')]);_0x238d1f[_0x8de7('0x31')]=_[_0x8de7('0x32')](_0x238d1f[_0x8de7('0x2e')],_0x238d1f[_0x8de7('0x30')]);_0x55d531[_0x8de7('0x33')]=_['intersection'](_0x238d1f[_0x8de7('0x2e')],qs['fields'](_0x295c94['query'][_0x8de7('0x34')]));_0x55d531[_0x8de7('0x33')]=_0x55d531[_0x8de7('0x33')][_0x8de7('0x35')]?_0x55d531['attributes']:_0x238d1f[_0x8de7('0x2e')];if(_0x295c94[_0x8de7('0x30')]['includeAll']){_0x55d531['include']=[{'all':!![]}];}_0x55d531=_['merge']({},_0x55d531,_0x295c94['options']);return db[_0x8de7('0x2c')][_0x8de7('0x49')](_0x55d531)[_0x8de7('0x25')](handleEntityNotFound(_0x4e89f5,null))[_0x8de7('0x25')](respondWithResult(_0x4e89f5,null))[_0x8de7('0x47')](handleError(_0x4e89f5,null));};exports[_0x8de7('0x4a')]=function(_0x316a16,_0x5516b7){return db[_0x8de7('0x2c')][_0x8de7('0x4a')](_0x316a16['body'],{})[_0x8de7('0x25')](respondWithResult(_0x5516b7,0xc9))[_0x8de7('0x47')](handleError(_0x5516b7,null));};exports[_0x8de7('0x24')]=function(_0x492437,_0x2918b2){if(_0x492437[_0x8de7('0x4b')]['id']){delete _0x492437[_0x8de7('0x4b')]['id'];}return db['VoiceQueueReport']['find']({'where':{'id':_0x492437[_0x8de7('0x4c')]['id']}})[_0x8de7('0x25')](handleEntityNotFound(_0x2918b2,null))[_0x8de7('0x25')](saveUpdates(_0x492437[_0x8de7('0x4b')],null))[_0x8de7('0x25')](respondWithResult(_0x2918b2,null))[_0x8de7('0x47')](handleError(_0x2918b2,null));};exports[_0x8de7('0x26')]=function(_0x4b8bbb,_0x172943){return db[_0x8de7('0x2c')][_0x8de7('0x49')]({'where':{'id':_0x4b8bbb[_0x8de7('0x4c')]['id']}})[_0x8de7('0x25')](handleEntityNotFound(_0x172943,null))['then'](removeEntity(_0x172943,null))[_0x8de7('0x47')](handleError(_0x172943,null));};exports[_0x8de7('0x4d')]=function(_0x2d451c,_0x3ad0bf){return db[_0x8de7('0x2c')][_0x8de7('0x4d')]()[_0x8de7('0x25')](respondWithResult(_0x3ad0bf,null))[_0x8de7('0x47')](handleError(_0x3ad0bf,null));};exports[_0x8de7('0x4e')]=function(_0x2cc755,_0x419e89){var _0x1958b3={},_0x527663={},_0x1a91f1={'count':0x0,'rows':[]};_0x527663[_0x8de7('0x2e')]=_['keys'](db[_0x8de7('0x2c')]['rawAttributes']);_0x527663[_0x8de7('0x30')]=_['keys'](_0x2cc755[_0x8de7('0x30')]);_0x527663[_0x8de7('0x31')]=_['intersection'](_0x527663[_0x8de7('0x2e')],_0x527663[_0x8de7('0x30')]);_0x1958b3['attributes']=_[_0x8de7('0x32')](_0x527663[_0x8de7('0x2e')],qs['fields'](_0x2cc755[_0x8de7('0x30')]['fields']));_0x1958b3[_0x8de7('0x33')]=_0x1958b3[_0x8de7('0x33')][_0x8de7('0x35')]?_0x1958b3[_0x8de7('0x33')]:_0x527663['model'];if(!_0x2cc755[_0x8de7('0x30')]['hasOwnProperty']('nolimit')){_0x1958b3[_0x8de7('0x37')]=qs[_0x8de7('0x37')](_0x2cc755[_0x8de7('0x30')][_0x8de7('0x37')]);_0x1958b3[_0x8de7('0x1f')]=qs[_0x8de7('0x1f')](_0x2cc755['query'][_0x8de7('0x1f')]);}_0x1958b3[_0x8de7('0x38')]=qs[_0x8de7('0x39')](_0x2cc755['query'][_0x8de7('0x39')]);_0x1958b3['where']=qs[_0x8de7('0x31')](_[_0x8de7('0x3b')](_0x2cc755['query'],_0x527663[_0x8de7('0x31')]));if(_0x2cc755['query'][_0x8de7('0x41')]){_0x1958b3['where']=_['merge'](_0x1958b3[_0x8de7('0x3a')],{'$or':_[_0x8de7('0x3d')](_0x1958b3['attributes'],function(_0x15f2d3){var _0x30bda3={};_0x30bda3[_0x15f2d3]={'$like':'%'+_0x2cc755[_0x8de7('0x30')][_0x8de7('0x41')]+'%'};return _0x30bda3;})});}_0x1958b3=_['merge']({},_0x1958b3,_0x2cc755[_0x8de7('0x42')]);var _0x505d59={'where':_0x1958b3[_0x8de7('0x3a')]};return db['VoiceQueueReport']['count'](_0x505d59)[_0x8de7('0x25')](function(_0x23902e){_0x1a91f1[_0x8de7('0x1e')]=_0x23902e;if(_0x2cc755[_0x8de7('0x30')][_0x8de7('0x43')]){_0x1958b3['include']=[{'all':!![]}];}return db[_0x8de7('0x2c')][_0x8de7('0x45')](_0x1958b3);})[_0x8de7('0x25')](function(_0x3dcc65){_0x1a91f1[_0x8de7('0x46')]=_0x3dcc65;return _0x1a91f1;})['then'](respondWithFilteredResult(_0x419e89,_0x1958b3,_0x8de7('0x4e')))[_0x8de7('0x47')](handleError(_0x419e89,null,_0x8de7('0x4e')));};