9a83b536ab463d0abec88d88c4a8b5e6f4fa48c5
[motion2.git] / server / api / voiceAgentReport / voiceAgentReport.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 _0x389d=['bluebird','mustache','util','path','to-csv','lodash','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','status','count','limit','set','Content-Range','json','apply','reject','update','then','stack','name','send','map','fieldName','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','offset','sort','pick','where','type','VIRTUAL','merge','VoiceAgentReport','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x50eefa,_0x11f515){var _0x27a7db=function(_0x18e29e){while(--_0x18e29e){_0x50eefa['push'](_0x50eefa['shift']());}};_0x27a7db(++_0x11f515);}(_0x389d,0x14e));var _0xd389=function(_0x5575cd,_0x73ab7a){_0x5575cd=_0x5575cd-0x0;var _0x4979a0=_0x389d[_0x5575cd];return _0x4979a0;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd389('0x0'));var rimraf=require(_0xd389('0x1'));var zipdir=require(_0xd389('0x2'));var jsonpatch=require(_0xd389('0x3'));var rp=require(_0xd389('0x4'));var moment=require(_0xd389('0x5'));var BPromise=require(_0xd389('0x6'));var Mustache=require(_0xd389('0x7'));var util=require(_0xd389('0x8'));var path=require(_0xd389('0x9'));var sox=require('sox');var csv=require(_0xd389('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd389('0xb'));var squel=require('squel');var crypto=require(_0xd389('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xd389('0xd'));var toCsv=require(_0xd389('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd389('0xe'));var authService=require(_0xd389('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xd389('0x10'));var hardwareService=require(_0xd389('0x11'));var logger=require(_0xd389('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xd389('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xd389('0x14'))['db'];function respondWithStatusCode(_0x48457f,_0x38aca9){_0x38aca9=_0x38aca9||0xcc;return function(_0x20f5b2){if(_0x20f5b2){return _0x48457f[_0xd389('0x15')](_0x38aca9);}return _0x48457f['status'](_0x38aca9)[_0xd389('0x16')]();};}function respondWithResult(_0x4111f2,_0x83f830){_0x83f830=_0x83f830||0xc8;return function(_0x19af98){if(_0x19af98){return _0x4111f2[_0xd389('0x17')](_0x83f830)['json'](_0x19af98);}};}function respondWithFilteredResult(_0x2097ce,_0x5b05a7){return function(_0x26e70b){if(_0x26e70b){var _0x25ebc7=_0x26e70b[_0xd389('0x18')],_0x19a78b=_0x5b05a7['offset'],_0x1e0bf9=_0x5b05a7['offset']+_0x5b05a7[_0xd389('0x19')],_0x1aaca5;if(_0x1e0bf9>=_0x25ebc7){_0x1e0bf9=_0x25ebc7;_0x1aaca5=0xc8;}else{_0x1aaca5=0xce;}_0x2097ce[_0xd389('0x17')](_0x1aaca5);return _0x2097ce[_0xd389('0x1a')](_0xd389('0x1b'),_0x19a78b+'-'+_0x1e0bf9+'/'+_0x25ebc7)[_0xd389('0x1c')](_0x26e70b);}return null;};}function patchUpdates(_0x4d82a1){return function(_0x1ccc4a){try{jsonpatch[_0xd389('0x1d')](_0x1ccc4a,_0x4d82a1,!![]);}catch(_0x7a4fc8){return BPromise[_0xd389('0x1e')](_0x7a4fc8);}return _0x1ccc4a['save']();};}function saveUpdates(_0xc431df,_0x28b939){return function(_0x57f529){if(_0x57f529){return _0x57f529[_0xd389('0x1f')](_0xc431df)['then'](function(_0x5bc980){return _0x5bc980;});}return null;};}function removeEntity(_0x3f0ac3,_0x455ded){return function(_0x301b64){if(_0x301b64){return _0x301b64['destroy']()[_0xd389('0x20')](function(){_0x3f0ac3[_0xd389('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0xeaa4ff,_0x40f994){return function(_0x2d7e94){if(!_0x2d7e94){_0xeaa4ff[_0xd389('0x15')](0x194);}return _0x2d7e94;};}function handleError(_0x17fd73,_0x4e399a){_0x4e399a=_0x4e399a||0x1f4;return function(_0x2ea009){logger['error'](_0x2ea009[_0xd389('0x21')]);if(_0x2ea009[_0xd389('0x22')]){delete _0x2ea009[_0xd389('0x22')];}_0x17fd73[_0xd389('0x17')](_0x4e399a)[_0xd389('0x23')](_0x2ea009);};}exports['index']=function(_0x14a1b4,_0x267da9){var _0x486d07={},_0x4cd5d3={},_0x259a12={'count':0x0,'rows':[]};var _0x26bc80=_[_0xd389('0x24')](db['VoiceAgentReport']['rawAttributes'],function(_0x20b8f8){return{'name':_0x20b8f8[_0xd389('0x25')],'type':_0x20b8f8['type'][_0xd389('0x26')]};});_0x4cd5d3[_0xd389('0x27')]=_[_0xd389('0x24')](_0x26bc80,_0xd389('0x22'));_0x4cd5d3[_0xd389('0x28')]=_[_0xd389('0x29')](_0x14a1b4['query']);_0x4cd5d3[_0xd389('0x2a')]=_[_0xd389('0x2b')](_0x4cd5d3[_0xd389('0x27')],_0x4cd5d3[_0xd389('0x28')]);_0x486d07['attributes']=_[_0xd389('0x2b')](_0x4cd5d3[_0xd389('0x27')],qs[_0xd389('0x2c')](_0x14a1b4[_0xd389('0x28')]['fields']));_0x486d07[_0xd389('0x2d')]=_0x486d07[_0xd389('0x2d')]['length']?_0x486d07[_0xd389('0x2d')]:_0x4cd5d3['model'];if(!_0x14a1b4[_0xd389('0x28')][_0xd389('0x2e')](_0xd389('0x2f'))){_0x486d07[_0xd389('0x19')]=qs[_0xd389('0x19')](_0x14a1b4[_0xd389('0x28')][_0xd389('0x19')]);_0x486d07[_0xd389('0x30')]=qs['offset'](_0x14a1b4[_0xd389('0x28')][_0xd389('0x30')]);}_0x486d07['order']=qs[_0xd389('0x31')](_0x14a1b4[_0xd389('0x28')][_0xd389('0x31')]);_0x486d07['where']=qs[_0xd389('0x2a')](_[_0xd389('0x32')](_0x14a1b4[_0xd389('0x28')],_0x4cd5d3[_0xd389('0x2a')]),_0x26bc80);if(_0x14a1b4[_0xd389('0x28')]['filter']){_0x486d07[_0xd389('0x33')]=_['merge'](_0x486d07[_0xd389('0x33')],{'$or':_[_0xd389('0x24')](_0x26bc80,function(_0xc36d18){if(_0xc36d18[_0xd389('0x34')]!==_0xd389('0x35')){var _0x54ebfa={};_0x54ebfa[_0xc36d18[_0xd389('0x22')]]={'$like':'%'+_0x14a1b4[_0xd389('0x28')]['filter']+'%'};return _0x54ebfa;}})});}_0x486d07=_[_0xd389('0x36')]({},_0x486d07,_0x14a1b4['options']);var _0x2fb235={'where':_0x486d07[_0xd389('0x33')]};return db[_0xd389('0x37')][_0xd389('0x18')](_0x2fb235)[_0xd389('0x20')](function(_0x28c21b){_0x259a12[_0xd389('0x18')]=_0x28c21b;if(_0x14a1b4[_0xd389('0x28')][_0xd389('0x38')]){_0x486d07[_0xd389('0x39')]=[{'all':!![]}];}return db[_0xd389('0x37')][_0xd389('0x3a')](_0x486d07);})[_0xd389('0x20')](function(_0xfbd572){_0x259a12[_0xd389('0x3b')]=_0xfbd572;return _0x259a12;})['then'](respondWithFilteredResult(_0x267da9,_0x486d07))[_0xd389('0x3c')](handleError(_0x267da9,null));};exports['show']=function(_0x5c987f,_0xd74553){var _0x23ef37={'raw':![],'where':{'id':_0x5c987f[_0xd389('0x3d')]['id']}},_0x2ec307={};_0x2ec307['model']=_['keys'](db[_0xd389('0x37')][_0xd389('0x3e')]);_0x2ec307[_0xd389('0x28')]=_['keys'](_0x5c987f[_0xd389('0x28')]);_0x2ec307[_0xd389('0x2a')]=_[_0xd389('0x2b')](_0x2ec307[_0xd389('0x27')],_0x2ec307[_0xd389('0x28')]);_0x23ef37['attributes']=_[_0xd389('0x2b')](_0x2ec307[_0xd389('0x27')],qs[_0xd389('0x2c')](_0x5c987f[_0xd389('0x28')][_0xd389('0x2c')]));_0x23ef37[_0xd389('0x2d')]=_0x23ef37['attributes']['length']?_0x23ef37[_0xd389('0x2d')]:_0x2ec307[_0xd389('0x27')];if(_0x5c987f[_0xd389('0x28')][_0xd389('0x38')]){_0x23ef37[_0xd389('0x39')]=[{'all':!![]}];}_0x23ef37=_[_0xd389('0x36')]({},_0x23ef37,_0x5c987f['options']);return db[_0xd389('0x37')][_0xd389('0x3f')](_0x23ef37)[_0xd389('0x20')](handleEntityNotFound(_0xd74553,null))[_0xd389('0x20')](respondWithResult(_0xd74553,null))[_0xd389('0x3c')](handleError(_0xd74553,null));};exports[_0xd389('0x40')]=function(_0x3c15d0,_0x3473bf){return db[_0xd389('0x37')]['create'](_0x3c15d0[_0xd389('0x41')],{})[_0xd389('0x20')](respondWithResult(_0x3473bf,0xc9))[_0xd389('0x3c')](handleError(_0x3473bf,null));};exports['update']=function(_0x45a054,_0x20f1fe){if(_0x45a054[_0xd389('0x41')]['id']){delete _0x45a054[_0xd389('0x41')]['id'];}return db['VoiceAgentReport'][_0xd389('0x3f')]({'where':{'id':_0x45a054[_0xd389('0x3d')]['id']}})['then'](handleEntityNotFound(_0x20f1fe,null))[_0xd389('0x20')](saveUpdates(_0x45a054['body'],null))['then'](respondWithResult(_0x20f1fe,null))['catch'](handleError(_0x20f1fe,null));};exports[_0xd389('0x42')]=function(_0x5df2d1,_0x13f913){return db['VoiceAgentReport'][_0xd389('0x3f')]({'where':{'id':_0x5df2d1['params']['id']}})['then'](handleEntityNotFound(_0x13f913,null))[_0xd389('0x20')](removeEntity(_0x13f913,null))[_0xd389('0x3c')](handleError(_0x13f913,null));};exports[_0xd389('0x43')]=function(_0x5817cd,_0x4fbace){return db[_0xd389('0x37')][_0xd389('0x43')]()[_0xd389('0x20')](respondWithResult(_0x4fbace,null))[_0xd389('0x3c')](handleError(_0x4fbace,null));};