Built motion from commit (unavailable).|2.4.17
[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 _0x0295=['offset','Content-Range','reject','update','then','error','stack','name','send','VoiceQueueReport','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','filter','merge','VIRTUAL','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','pick','options','getVoiceQueuesReport','html-pdf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','./voiceQueueReport.socket','register','sendStatus','status','end','json','count'];(function(_0x1bf0e6,_0x9fa990){var _0x4adbde=function(_0x3559ff){while(--_0x3559ff){_0x1bf0e6['push'](_0x1bf0e6['shift']());}};_0x4adbde(++_0x9fa990);}(_0x0295,0x1f0));var _0x5029=function(_0x3d09e2,_0x58e784){_0x3d09e2=_0x3d09e2-0x0;var _0x5d03cd=_0x0295[_0x3d09e2];return _0x5d03cd;};'use strict';var pdf=require(_0x5029('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5029('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x5029('0x2'));var BPromise=require(_0x5029('0x3'));var Mustache=require(_0x5029('0x4'));var util=require(_0x5029('0x5'));var path=require(_0x5029('0x6'));var sox=require(_0x5029('0x7'));var csv=require(_0x5029('0x8'));var ejs=require(_0x5029('0x9'));var fs=require('fs');var _=require(_0x5029('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5029('0xb'));var toCsv=require('to-csv');var querystring=require(_0x5029('0xc'));var Papa=require('papaparse');var Redis=require(_0x5029('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x5029('0xe'));var as=require(_0x5029('0xf'));var hardwareService=require(_0x5029('0x10'));var logger=require('../../config/logger')(_0x5029('0x11'));var utils=require(_0x5029('0x12'));var config=require(_0x5029('0x13'));var db=require('../../mysqldb')['db'];config[_0x5029('0x14')]=_[_0x5029('0x15')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x5029('0x16'))[_0x5029('0x17')](socket);function respondWithStatusCode(_0x12c237,_0x434630){_0x434630=_0x434630||0xcc;return function(_0x2c0b33){if(_0x2c0b33){return _0x12c237[_0x5029('0x18')](_0x434630);}return _0x12c237[_0x5029('0x19')](_0x434630)[_0x5029('0x1a')]();};}function respondWithResult(_0x10bf55,_0x326923){_0x326923=_0x326923||0xc8;return function(_0x457c73){if(_0x457c73){return _0x10bf55[_0x5029('0x19')](_0x326923)[_0x5029('0x1b')](_0x457c73);}};}function respondWithFilteredResult(_0x2c273c,_0x343918){return function(_0x4f7ab4){if(_0x4f7ab4){var _0x1ed567=_0x4f7ab4[_0x5029('0x1c')],_0x31a155=_0x343918[_0x5029('0x1d')],_0x35de81=_0x343918[_0x5029('0x1d')]+_0x343918['limit'],_0x4902f3;if(_0x35de81>=_0x1ed567){_0x35de81=_0x1ed567;_0x4902f3=0xc8;}else{_0x4902f3=0xce;}_0x2c273c[_0x5029('0x19')](_0x4902f3);return _0x2c273c['set'](_0x5029('0x1e'),_0x31a155+'-'+_0x35de81+'/'+_0x1ed567)[_0x5029('0x1b')](_0x4f7ab4);}return null;};}function patchUpdates(_0x2710aa){return function(_0x3cf0fb){try{jsonpatch['apply'](_0x3cf0fb,_0x2710aa,!![]);}catch(_0x47ecca){return BPromise[_0x5029('0x1f')](_0x47ecca);}return _0x3cf0fb['save']();};}function saveUpdates(_0x3f657d,_0x853a34){return function(_0x1eb228){if(_0x1eb228){return _0x1eb228[_0x5029('0x20')](_0x3f657d)[_0x5029('0x21')](function(_0x3a3e52){return _0x3a3e52;});}return null;};}function removeEntity(_0x125c26,_0x356dac){return function(_0x3e857d){if(_0x3e857d){return _0x3e857d['destroy']()['then'](function(){_0x125c26['status'](0xcc)[_0x5029('0x1a')]();});}};}function handleEntityNotFound(_0x45666c,_0x51093c){return function(_0x5727e9){if(!_0x5727e9){_0x45666c[_0x5029('0x18')](0x194);}return _0x5727e9;};}function handleError(_0x1e7e61,_0x36d810){_0x36d810=_0x36d810||0x1f4;return function(_0x5527fc){logger[_0x5029('0x22')](_0x5527fc[_0x5029('0x23')]);if(_0x5527fc['name']){delete _0x5527fc[_0x5029('0x24')];}_0x1e7e61[_0x5029('0x19')](_0x36d810)[_0x5029('0x25')](_0x5527fc);};}exports['index']=function(_0x32da06,_0x251f99){var _0xe5313e={},_0x4b6f92={},_0x2cedf6={'count':0x0,'rows':[]};var _0x2bb398=_['map'](db[_0x5029('0x26')][_0x5029('0x27')],function(_0x4434ff){return{'name':_0x4434ff[_0x5029('0x28')],'type':_0x4434ff[_0x5029('0x29')][_0x5029('0x2a')]};});_0x4b6f92[_0x5029('0x2b')]=_[_0x5029('0x2c')](_0x2bb398,_0x5029('0x24'));_0x4b6f92[_0x5029('0x2d')]=_[_0x5029('0x2e')](_0x32da06[_0x5029('0x2d')]);_0x4b6f92['filters']=_[_0x5029('0x2f')](_0x4b6f92['model'],_0x4b6f92[_0x5029('0x2d')]);_0xe5313e['attributes']=_['intersection'](_0x4b6f92[_0x5029('0x2b')],qs[_0x5029('0x30')](_0x32da06[_0x5029('0x2d')]['fields']));_0xe5313e[_0x5029('0x31')]=_0xe5313e[_0x5029('0x31')][_0x5029('0x32')]?_0xe5313e[_0x5029('0x31')]:_0x4b6f92[_0x5029('0x2b')];if(!_0x32da06[_0x5029('0x2d')][_0x5029('0x33')](_0x5029('0x34'))){_0xe5313e[_0x5029('0x35')]=qs['limit'](_0x32da06[_0x5029('0x2d')][_0x5029('0x35')]);_0xe5313e[_0x5029('0x1d')]=qs[_0x5029('0x1d')](_0x32da06['query'][_0x5029('0x1d')]);}_0xe5313e[_0x5029('0x36')]=qs[_0x5029('0x37')](_0x32da06['query']['sort']);_0xe5313e[_0x5029('0x38')]=qs[_0x5029('0x39')](_['pick'](_0x32da06['query'],_0x4b6f92[_0x5029('0x39')]));if(_0x32da06[_0x5029('0x2d')][_0x5029('0x3a')]){_0xe5313e[_0x5029('0x38')]=_[_0x5029('0x3b')](_0xe5313e[_0x5029('0x38')],{'$or':_[_0x5029('0x2c')](_0x2bb398,function(_0x2f13b1){if(_0x2f13b1[_0x5029('0x29')]!==_0x5029('0x3c')){var _0x3e5b67={};_0x3e5b67[_0x2f13b1[_0x5029('0x24')]]={'$like':'%'+_0x32da06[_0x5029('0x2d')][_0x5029('0x3a')]+'%'};return _0x3e5b67;}})});}_0xe5313e=_['merge']({},_0xe5313e,_0x32da06['options']);var _0x73797c={'where':_0xe5313e[_0x5029('0x38')]};return db[_0x5029('0x26')]['count'](_0x73797c)[_0x5029('0x21')](function(_0x39b216){_0x2cedf6['count']=_0x39b216;if(_0x32da06[_0x5029('0x2d')]['includeAll']){_0xe5313e[_0x5029('0x3d')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0x5029('0x3e')](_0xe5313e);})[_0x5029('0x21')](function(_0x24a18d){_0x2cedf6[_0x5029('0x3f')]=_0x24a18d;return _0x2cedf6;})[_0x5029('0x21')](respondWithFilteredResult(_0x251f99,_0xe5313e))[_0x5029('0x40')](handleError(_0x251f99,null));};exports[_0x5029('0x41')]=function(_0x1021ea,_0x2ae047){var _0x5a3e4d={'raw':![],'where':{'id':_0x1021ea[_0x5029('0x42')]['id']}},_0x103dfb={};_0x103dfb[_0x5029('0x2b')]=_[_0x5029('0x2e')](db[_0x5029('0x26')][_0x5029('0x27')]);_0x103dfb['query']=_[_0x5029('0x2e')](_0x1021ea[_0x5029('0x2d')]);_0x103dfb[_0x5029('0x39')]=_[_0x5029('0x2f')](_0x103dfb[_0x5029('0x2b')],_0x103dfb['query']);_0x5a3e4d[_0x5029('0x31')]=_[_0x5029('0x2f')](_0x103dfb[_0x5029('0x2b')],qs[_0x5029('0x30')](_0x1021ea[_0x5029('0x2d')][_0x5029('0x30')]));_0x5a3e4d[_0x5029('0x31')]=_0x5a3e4d[_0x5029('0x31')][_0x5029('0x32')]?_0x5a3e4d['attributes']:_0x103dfb[_0x5029('0x2b')];if(_0x1021ea[_0x5029('0x2d')][_0x5029('0x43')]){_0x5a3e4d[_0x5029('0x3d')]=[{'all':!![]}];}_0x5a3e4d=_['merge']({},_0x5a3e4d,_0x1021ea['options']);return db[_0x5029('0x26')][_0x5029('0x44')](_0x5a3e4d)[_0x5029('0x21')](handleEntityNotFound(_0x2ae047,null))[_0x5029('0x21')](respondWithResult(_0x2ae047,null))[_0x5029('0x40')](handleError(_0x2ae047,null));};exports[_0x5029('0x45')]=function(_0x2bb7fc,_0x19a6ca){return db[_0x5029('0x26')][_0x5029('0x45')](_0x2bb7fc[_0x5029('0x46')],{})[_0x5029('0x21')](respondWithResult(_0x19a6ca,0xc9))[_0x5029('0x40')](handleError(_0x19a6ca,null));};exports[_0x5029('0x20')]=function(_0x3168bd,_0x175cc0){if(_0x3168bd[_0x5029('0x46')]['id']){delete _0x3168bd[_0x5029('0x46')]['id'];}return db[_0x5029('0x26')][_0x5029('0x44')]({'where':{'id':_0x3168bd[_0x5029('0x42')]['id']}})['then'](handleEntityNotFound(_0x175cc0,null))[_0x5029('0x21')](saveUpdates(_0x3168bd['body'],null))[_0x5029('0x21')](respondWithResult(_0x175cc0,null))[_0x5029('0x40')](handleError(_0x175cc0,null));};exports['destroy']=function(_0x5343c6,_0x319bff){return db['VoiceQueueReport']['find']({'where':{'id':_0x5343c6[_0x5029('0x42')]['id']}})[_0x5029('0x21')](handleEntityNotFound(_0x319bff,null))[_0x5029('0x21')](removeEntity(_0x319bff,null))['catch'](handleError(_0x319bff,null));};exports['describe']=function(_0x1510bb,_0x3d4e9a){return db['VoiceQueueReport'][_0x5029('0x47')]()['then'](respondWithResult(_0x3d4e9a,null))[_0x5029('0x40')](handleError(_0x3d4e9a,null));};exports['getVoiceQueuesReport']=function(_0x2340b0,_0x27e1c0){var _0x358c8a={},_0x6d03b2={},_0x42609={'count':0x0,'rows':[]};_0x6d03b2[_0x5029('0x2b')]=_[_0x5029('0x2e')](db[_0x5029('0x26')]['rawAttributes']);_0x6d03b2[_0x5029('0x2d')]=_['keys'](_0x2340b0[_0x5029('0x2d')]);_0x6d03b2[_0x5029('0x39')]=_['intersection'](_0x6d03b2[_0x5029('0x2b')],_0x6d03b2['query']);_0x358c8a['attributes']=_['intersection'](_0x6d03b2[_0x5029('0x2b')],qs['fields'](_0x2340b0[_0x5029('0x2d')][_0x5029('0x30')]));_0x358c8a[_0x5029('0x31')]=_0x358c8a['attributes'][_0x5029('0x32')]?_0x358c8a['attributes']:_0x6d03b2['model'];if(!_0x2340b0[_0x5029('0x2d')][_0x5029('0x33')](_0x5029('0x34'))){_0x358c8a[_0x5029('0x35')]=qs[_0x5029('0x35')](_0x2340b0['query'][_0x5029('0x35')]);_0x358c8a[_0x5029('0x1d')]=qs[_0x5029('0x1d')](_0x2340b0[_0x5029('0x2d')]['offset']);}_0x358c8a[_0x5029('0x36')]=qs[_0x5029('0x37')](_0x2340b0['query']['sort']);_0x358c8a[_0x5029('0x38')]=qs[_0x5029('0x39')](_[_0x5029('0x48')](_0x2340b0[_0x5029('0x2d')],_0x6d03b2['filters']));if(_0x2340b0[_0x5029('0x2d')][_0x5029('0x3a')]){_0x358c8a[_0x5029('0x38')]=_[_0x5029('0x3b')](_0x358c8a[_0x5029('0x38')],{'$or':_[_0x5029('0x2c')](_0x358c8a['attributes'],function(_0x560324){var _0x4314c0={};_0x4314c0[_0x560324]={'$like':'%'+_0x2340b0[_0x5029('0x2d')][_0x5029('0x3a')]+'%'};return _0x4314c0;})});}_0x358c8a=_['merge']({},_0x358c8a,_0x2340b0[_0x5029('0x49')]);var _0x2d439a={'where':_0x358c8a[_0x5029('0x38')]};return db[_0x5029('0x26')][_0x5029('0x1c')](_0x2d439a)['then'](function(_0x2ec5d0){_0x42609[_0x5029('0x1c')]=_0x2ec5d0;if(_0x2340b0[_0x5029('0x2d')]['includeAll']){_0x358c8a[_0x5029('0x3d')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0x5029('0x3e')](_0x358c8a);})['then'](function(_0xff558b){_0x42609[_0x5029('0x3f')]=_0xff558b;return _0x42609;})[_0x5029('0x21')](respondWithFilteredResult(_0x27e1c0,_0x358c8a,_0x5029('0x4a')))[_0x5029('0x40')](handleError(_0x27e1c0,null,_0x5029('0x4a')));};