29844d431313dde26911281528f8c3c2f059d6ce
[motion2.git] / server / api / voiceDialReport / voiceDialReport.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 _0x7b5a=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','error','name','send','index','map','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','VoiceDialReport','rows','show','keys','includeAll','find','create','body','catch','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','crypto','desk.js'];(function(_0x1b71d4,_0xe30224){var _0x546535=function(_0x48cfd1){while(--_0x48cfd1){_0x1b71d4['push'](_0x1b71d4['shift']());}};_0x546535(++_0xe30224);}(_0x7b5a,0x7d));var _0xa7b5=function(_0x4d180c,_0x45c68e){_0x4d180c=_0x4d180c-0x0;var _0x49b57e=_0x7b5a[_0x4d180c];return _0x49b57e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa7b5('0x0'));var rimraf=require(_0xa7b5('0x1'));var zipdir=require(_0xa7b5('0x2'));var jsonpatch=require(_0xa7b5('0x3'));var rp=require(_0xa7b5('0x4'));var moment=require('moment');var BPromise=require(_0xa7b5('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xa7b5('0x6'));var sox=require(_0xa7b5('0x7'));var csv=require(_0xa7b5('0x8'));var ejs=require(_0xa7b5('0x9'));var fs=require('fs');var _=require(_0xa7b5('0xa'));var squel=require('squel');var crypto=require(_0xa7b5('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa7b5('0xc'));var toCsv=require(_0xa7b5('0x8'));var querystring=require(_0xa7b5('0xd'));var Papa=require(_0xa7b5('0xe'));var Redis=require(_0xa7b5('0xf'));var authService=require(_0xa7b5('0x10'));var qs=require(_0xa7b5('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa7b5('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xa7b5('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xa7b5('0x14'))['db'];function respondWithStatusCode(_0x4d2988,_0x3a3dc6){_0x3a3dc6=_0x3a3dc6||0xcc;return function(_0x27edc3){if(_0x27edc3){return _0x4d2988[_0xa7b5('0x15')](_0x3a3dc6);}return _0x4d2988[_0xa7b5('0x16')](_0x3a3dc6)[_0xa7b5('0x17')]();};}function respondWithResult(_0x2d30e1,_0x2b8b78){_0x2b8b78=_0x2b8b78||0xc8;return function(_0x1968ce){if(_0x1968ce){return _0x2d30e1['status'](_0x2b8b78)[_0xa7b5('0x18')](_0x1968ce);}};}function respondWithFilteredResult(_0x40ea9f,_0x508b32){return function(_0x206c79){if(_0x206c79){var _0x2265fc=_0x206c79[_0xa7b5('0x19')],_0x572b29=_0x508b32[_0xa7b5('0x1a')],_0xce9ca2=_0x508b32[_0xa7b5('0x1a')]+_0x508b32[_0xa7b5('0x1b')],_0x1fd114;if(_0xce9ca2>=_0x2265fc){_0xce9ca2=_0x2265fc;_0x1fd114=0xc8;}else{_0x1fd114=0xce;}_0x40ea9f[_0xa7b5('0x16')](_0x1fd114);return _0x40ea9f[_0xa7b5('0x1c')](_0xa7b5('0x1d'),_0x572b29+'-'+_0xce9ca2+'/'+_0x2265fc)['json'](_0x206c79);}return null;};}function patchUpdates(_0xa9fe5d){return function(_0x1ce1e3){try{jsonpatch[_0xa7b5('0x1e')](_0x1ce1e3,_0xa9fe5d,!![]);}catch(_0x27a39f){return BPromise[_0xa7b5('0x1f')](_0x27a39f);}return _0x1ce1e3[_0xa7b5('0x20')]();};}function saveUpdates(_0x154c01,_0x5ddf45){return function(_0x2d5964){if(_0x2d5964){return _0x2d5964[_0xa7b5('0x21')](_0x154c01)['then'](function(_0x5a9c1f){return _0x5a9c1f;});}return null;};}function removeEntity(_0x18951e,_0x31d747){return function(_0x317353){if(_0x317353){return _0x317353['destroy']()[_0xa7b5('0x22')](function(){_0x18951e[_0xa7b5('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x45e07e,_0x512a48){return function(_0x22a1f1){if(!_0x22a1f1){_0x45e07e[_0xa7b5('0x15')](0x194);}return _0x22a1f1;};}function handleError(_0x568090,_0xd32abb){_0xd32abb=_0xd32abb||0x1f4;return function(_0x660319){logger[_0xa7b5('0x23')](_0x660319['stack']);if(_0x660319[_0xa7b5('0x24')]){delete _0x660319['name'];}_0x568090[_0xa7b5('0x16')](_0xd32abb)[_0xa7b5('0x25')](_0x660319);};}exports[_0xa7b5('0x26')]=function(_0x5d9b1f,_0x396500){var _0x3fe3be={},_0x22040e={},_0x14b773={'count':0x0,'rows':[]};var _0x5480aa=_[_0xa7b5('0x27')](db['VoiceDialReport'][_0xa7b5('0x28')],function(_0x46ec73){return{'name':_0x46ec73[_0xa7b5('0x29')],'type':_0x46ec73[_0xa7b5('0x2a')]['key']};});_0x22040e[_0xa7b5('0x2b')]=_['map'](_0x5480aa,_0xa7b5('0x24'));_0x22040e[_0xa7b5('0x2c')]=_['keys'](_0x5d9b1f[_0xa7b5('0x2c')]);_0x22040e[_0xa7b5('0x2d')]=_[_0xa7b5('0x2e')](_0x22040e['model'],_0x22040e['query']);_0x3fe3be[_0xa7b5('0x2f')]=_[_0xa7b5('0x2e')](_0x22040e[_0xa7b5('0x2b')],qs['fields'](_0x5d9b1f['query'][_0xa7b5('0x30')]));_0x3fe3be['attributes']=_0x3fe3be[_0xa7b5('0x2f')][_0xa7b5('0x31')]?_0x3fe3be['attributes']:_0x22040e['model'];if(!_0x5d9b1f['query'][_0xa7b5('0x32')](_0xa7b5('0x33'))){_0x3fe3be[_0xa7b5('0x1b')]=qs[_0xa7b5('0x1b')](_0x5d9b1f['query'][_0xa7b5('0x1b')]);_0x3fe3be['offset']=qs[_0xa7b5('0x1a')](_0x5d9b1f['query'][_0xa7b5('0x1a')]);}_0x3fe3be['order']=qs[_0xa7b5('0x34')](_0x5d9b1f['query'][_0xa7b5('0x34')]);_0x3fe3be[_0xa7b5('0x35')]=qs[_0xa7b5('0x2d')](_['pick'](_0x5d9b1f[_0xa7b5('0x2c')],_0x22040e['filters']),_0x5480aa);if(_0x5d9b1f['query'][_0xa7b5('0x36')]){_0x3fe3be['where']=_[_0xa7b5('0x37')](_0x3fe3be[_0xa7b5('0x35')],{'$or':_[_0xa7b5('0x27')](_0x5480aa,function(_0x48d1e9){if(_0x48d1e9[_0xa7b5('0x2a')]!==_0xa7b5('0x38')){var _0x580ce3={};_0x580ce3[_0x48d1e9[_0xa7b5('0x24')]]={'$like':'%'+_0x5d9b1f['query']['filter']+'%'};return _0x580ce3;}})});}_0x3fe3be=_['merge']({},_0x3fe3be,_0x5d9b1f[_0xa7b5('0x39')]);var _0x453659={'where':_0x3fe3be[_0xa7b5('0x35')]};return db[_0xa7b5('0x3a')][_0xa7b5('0x19')](_0x453659)[_0xa7b5('0x22')](function(_0x5a5e94){_0x14b773[_0xa7b5('0x19')]=_0x5a5e94;if(_0x5d9b1f[_0xa7b5('0x2c')]['includeAll']){_0x3fe3be['include']=[{'all':!![]}];}return db[_0xa7b5('0x3a')]['findAll'](_0x3fe3be);})[_0xa7b5('0x22')](function(_0x425224){_0x14b773[_0xa7b5('0x3b')]=_0x425224;return _0x14b773;})[_0xa7b5('0x22')](respondWithFilteredResult(_0x396500,_0x3fe3be))['catch'](handleError(_0x396500,null));};exports[_0xa7b5('0x3c')]=function(_0x52aeec,_0xa224b0){var _0x644b18={'raw':!![],'where':{'id':_0x52aeec['params']['id']}},_0x17f513={};_0x17f513['model']=_[_0xa7b5('0x3d')](db[_0xa7b5('0x3a')][_0xa7b5('0x28')]);_0x17f513['query']=_['keys'](_0x52aeec['query']);_0x17f513[_0xa7b5('0x2d')]=_[_0xa7b5('0x2e')](_0x17f513[_0xa7b5('0x2b')],_0x17f513['query']);_0x644b18[_0xa7b5('0x2f')]=_[_0xa7b5('0x2e')](_0x17f513[_0xa7b5('0x2b')],qs[_0xa7b5('0x30')](_0x52aeec[_0xa7b5('0x2c')]['fields']));_0x644b18[_0xa7b5('0x2f')]=_0x644b18[_0xa7b5('0x2f')][_0xa7b5('0x31')]?_0x644b18[_0xa7b5('0x2f')]:_0x17f513[_0xa7b5('0x2b')];if(_0x52aeec['query'][_0xa7b5('0x3e')]){_0x644b18['include']=[{'all':!![]}];}_0x644b18=_[_0xa7b5('0x37')]({},_0x644b18,_0x52aeec[_0xa7b5('0x39')]);return db[_0xa7b5('0x3a')][_0xa7b5('0x3f')](_0x644b18)[_0xa7b5('0x22')](handleEntityNotFound(_0xa224b0,null))[_0xa7b5('0x22')](respondWithResult(_0xa224b0,null))['catch'](handleError(_0xa224b0,null));};exports[_0xa7b5('0x40')]=function(_0x36d80a,_0x5419a4){return db[_0xa7b5('0x3a')][_0xa7b5('0x40')](_0x36d80a[_0xa7b5('0x41')],{})[_0xa7b5('0x22')](respondWithResult(_0x5419a4,0xc9))[_0xa7b5('0x42')](handleError(_0x5419a4,null));};exports[_0xa7b5('0x21')]=function(_0x3d5646,_0x2fbc69){if(_0x3d5646[_0xa7b5('0x41')]['id']){delete _0x3d5646[_0xa7b5('0x41')]['id'];}return db[_0xa7b5('0x3a')][_0xa7b5('0x3f')]({'where':{'id':_0x3d5646['params']['id']}})[_0xa7b5('0x22')](handleEntityNotFound(_0x2fbc69,null))['then'](saveUpdates(_0x3d5646[_0xa7b5('0x41')],null))['then'](respondWithResult(_0x2fbc69,null))['catch'](handleError(_0x2fbc69,null));};exports[_0xa7b5('0x43')]=function(_0x33218d,_0x2c5784){return db[_0xa7b5('0x3a')]['find']({'where':{'id':_0x33218d['params']['id']}})[_0xa7b5('0x22')](handleEntityNotFound(_0x2c5784,null))[_0xa7b5('0x22')](removeEntity(_0x2c5784,null))[_0xa7b5('0x42')](handleError(_0x2c5784,null));};exports[_0xa7b5('0x44')]=function(_0x541db7,_0x593884){return db[_0xa7b5('0x3a')][_0xa7b5('0x44')]()['then'](respondWithResult(_0x593884,null))[_0xa7b5('0x42')](handleError(_0x593884,null));};