878ce2c3a36187f0601bf70c1aa9daa13c3f4573
[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 _0xa904=['set','reject','save','update','then','destroy','end','sendStatus','error','name','send','index','map','VoiceDialReport','rawAttributes','type','key','model','query','keys','attributes','intersection','fields','length','order','sort','where','filters','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','options','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','undefined','limit','count','offset'];(function(_0x5436a1,_0x43ce08){var _0x46c586=function(_0x622b2b){while(--_0x622b2b){_0x5436a1['push'](_0x5436a1['shift']());}};_0x46c586(++_0x43ce08);}(_0xa904,0x1b7));var _0x4a90=function(_0x28fbe3,_0x4ac6f8){_0x28fbe3=_0x28fbe3-0x0;var _0x45db6a=_0xa904[_0x28fbe3];return _0x45db6a;};'use strict';var emlformat=require(_0x4a90('0x0'));var rimraf=require(_0x4a90('0x1'));var zipdir=require(_0x4a90('0x2'));var jsonpatch=require(_0x4a90('0x3'));var rp=require(_0x4a90('0x4'));var moment=require(_0x4a90('0x5'));var BPromise=require(_0x4a90('0x6'));var Mustache=require(_0x4a90('0x7'));var util=require(_0x4a90('0x8'));var path=require(_0x4a90('0x9'));var sox=require('sox');var csv=require(_0x4a90('0xa'));var ejs=require(_0x4a90('0xb'));var fs=require('fs');var fs_extra=require(_0x4a90('0xc'));var _=require(_0x4a90('0xd'));var squel=require(_0x4a90('0xe'));var crypto=require(_0x4a90('0xf'));var jsforce=require(_0x4a90('0x10'));var deskjs=require(_0x4a90('0x11'));var toCsv=require(_0x4a90('0xa'));var querystring=require('querystring');var Papa=require(_0x4a90('0x12'));var Redis=require(_0x4a90('0x13'));var authService=require(_0x4a90('0x14'));var qs=require(_0x4a90('0x15'));var as=require(_0x4a90('0x16'));var hardwareService=require(_0x4a90('0x17'));var logger=require(_0x4a90('0x18'))(_0x4a90('0x19'));var utils=require('../../config/utils');var config=require(_0x4a90('0x1a'));var licenseUtil=require(_0x4a90('0x1b'));var db=require(_0x4a90('0x1c'))['db'];function respondWithStatusCode(_0x26aa44,_0x48e830){_0x48e830=_0x48e830||0xcc;return function(_0x5849cf){if(_0x5849cf){return _0x26aa44['sendStatus'](_0x48e830);}return _0x26aa44[_0x4a90('0x1d')](_0x48e830)['end']();};}function respondWithResult(_0x46be8a,_0xa4369f){_0xa4369f=_0xa4369f||0xc8;return function(_0x574266){if(_0x574266){return _0x46be8a[_0x4a90('0x1d')](_0xa4369f)[_0x4a90('0x1e')](_0x574266);}};}function respondWithFilteredResult(_0x44187a,_0x35ea09){return function(_0x4f4024){if(_0x4f4024){var _0xb789c6=typeof _0x35ea09['offset']===_0x4a90('0x1f')&&typeof _0x35ea09[_0x4a90('0x20')]===_0x4a90('0x1f');var _0x434561=_0x4f4024[_0x4a90('0x21')];var _0x440c27=_0xb789c6?0x0:_0x35ea09[_0x4a90('0x22')];var _0x2e5b40=_0xb789c6?_0x4f4024[_0x4a90('0x21')]:_0x35ea09[_0x4a90('0x22')]+_0x35ea09[_0x4a90('0x20')];var _0x4532a8;if(_0x2e5b40>=_0x434561){_0x2e5b40=_0x434561;_0x4532a8=0xc8;}else{_0x4532a8=0xce;}_0x44187a[_0x4a90('0x1d')](_0x4532a8);return _0x44187a[_0x4a90('0x23')]('Content-Range',_0x440c27+'-'+_0x2e5b40+'/'+_0x434561)[_0x4a90('0x1e')](_0x4f4024);}return null;};}function patchUpdates(_0x2584ce){return function(_0x27b979){try{jsonpatch['apply'](_0x27b979,_0x2584ce,!![]);}catch(_0x1bbb56){return BPromise[_0x4a90('0x24')](_0x1bbb56);}return _0x27b979[_0x4a90('0x25')]();};}function saveUpdates(_0x4602f5,_0x4e8c94){return function(_0x549896){if(_0x549896){return _0x549896[_0x4a90('0x26')](_0x4602f5)[_0x4a90('0x27')](function(_0xcb023e){return _0xcb023e;});}return null;};}function removeEntity(_0x40aa54,_0x4bc2c8){return function(_0x1165c8){if(_0x1165c8){return _0x1165c8[_0x4a90('0x28')]()[_0x4a90('0x27')](function(){_0x40aa54[_0x4a90('0x1d')](0xcc)[_0x4a90('0x29')]();});}};}function handleEntityNotFound(_0x9b2dfd,_0x5e9f9f){return function(_0x581fd6){if(!_0x581fd6){_0x9b2dfd[_0x4a90('0x2a')](0x194);}return _0x581fd6;};}function handleError(_0x265c7a,_0x23b7a2){_0x23b7a2=_0x23b7a2||0x1f4;return function(_0x9c1c82){logger[_0x4a90('0x2b')](_0x9c1c82['stack']);if(_0x9c1c82['name']){delete _0x9c1c82[_0x4a90('0x2c')];}_0x265c7a[_0x4a90('0x1d')](_0x23b7a2)[_0x4a90('0x2d')](_0x9c1c82);};}exports[_0x4a90('0x2e')]=function(_0x31ec43,_0x16a053){var _0x16e41a={},_0x5f0277={},_0x6019b6={'count':0x0,'rows':[]};var _0x113ec9=_[_0x4a90('0x2f')](db[_0x4a90('0x30')][_0x4a90('0x31')],function(_0x55ff4e){return{'name':_0x55ff4e['fieldName'],'type':_0x55ff4e[_0x4a90('0x32')][_0x4a90('0x33')]};});_0x5f0277[_0x4a90('0x34')]=_[_0x4a90('0x2f')](_0x113ec9,_0x4a90('0x2c'));_0x5f0277[_0x4a90('0x35')]=_[_0x4a90('0x36')](_0x31ec43[_0x4a90('0x35')]);_0x5f0277['filters']=_['intersection'](_0x5f0277[_0x4a90('0x34')],_0x5f0277['query']);_0x16e41a[_0x4a90('0x37')]=_[_0x4a90('0x38')](_0x5f0277['model'],qs[_0x4a90('0x39')](_0x31ec43[_0x4a90('0x35')][_0x4a90('0x39')]));_0x16e41a[_0x4a90('0x37')]=_0x16e41a[_0x4a90('0x37')][_0x4a90('0x3a')]?_0x16e41a[_0x4a90('0x37')]:_0x5f0277['model'];if(!_0x31ec43[_0x4a90('0x35')]['hasOwnProperty']('nolimit')){_0x16e41a[_0x4a90('0x20')]=qs['limit'](_0x31ec43[_0x4a90('0x35')][_0x4a90('0x20')]);_0x16e41a[_0x4a90('0x22')]=qs[_0x4a90('0x22')](_0x31ec43[_0x4a90('0x35')][_0x4a90('0x22')]);}_0x16e41a[_0x4a90('0x3b')]=qs[_0x4a90('0x3c')](_0x31ec43[_0x4a90('0x35')][_0x4a90('0x3c')]);_0x16e41a[_0x4a90('0x3d')]=qs[_0x4a90('0x3e')](_[_0x4a90('0x3f')](_0x31ec43[_0x4a90('0x35')],_0x5f0277['filters']),_0x113ec9);if(_0x31ec43[_0x4a90('0x35')]['filter']){_0x16e41a['where']=_[_0x4a90('0x40')](_0x16e41a[_0x4a90('0x3d')],{'$or':_[_0x4a90('0x2f')](_0x113ec9,function(_0x20f774){if(_0x20f774[_0x4a90('0x32')]!==_0x4a90('0x41')){var _0x1fbd9d={};_0x1fbd9d[_0x20f774[_0x4a90('0x2c')]]={'$like':'%'+_0x31ec43[_0x4a90('0x35')][_0x4a90('0x42')]+'%'};return _0x1fbd9d;}})});}_0x16e41a=_[_0x4a90('0x40')]({},_0x16e41a,_0x31ec43['options']);var _0x4b4e3d={'where':_0x16e41a[_0x4a90('0x3d')]};return db[_0x4a90('0x30')]['count'](_0x4b4e3d)[_0x4a90('0x27')](function(_0x47d070){_0x6019b6[_0x4a90('0x21')]=_0x47d070;if(_0x31ec43[_0x4a90('0x35')][_0x4a90('0x43')]){_0x16e41a[_0x4a90('0x44')]=[{'all':!![]}];}return db[_0x4a90('0x30')][_0x4a90('0x45')](_0x16e41a);})[_0x4a90('0x27')](function(_0x47ab4e){_0x6019b6[_0x4a90('0x46')]=_0x47ab4e;return _0x6019b6;})['then'](respondWithFilteredResult(_0x16a053,_0x16e41a))[_0x4a90('0x47')](handleError(_0x16a053,null));};exports[_0x4a90('0x48')]=function(_0x1e0648,_0x56361e){var _0x377bca={'raw':!![],'where':{'id':_0x1e0648[_0x4a90('0x49')]['id']}},_0x4c0a46={};_0x4c0a46[_0x4a90('0x34')]=_['keys'](db['VoiceDialReport'][_0x4a90('0x31')]);_0x4c0a46[_0x4a90('0x35')]=_[_0x4a90('0x36')](_0x1e0648[_0x4a90('0x35')]);_0x4c0a46['filters']=_[_0x4a90('0x38')](_0x4c0a46[_0x4a90('0x34')],_0x4c0a46[_0x4a90('0x35')]);_0x377bca[_0x4a90('0x37')]=_[_0x4a90('0x38')](_0x4c0a46['model'],qs[_0x4a90('0x39')](_0x1e0648['query'][_0x4a90('0x39')]));_0x377bca[_0x4a90('0x37')]=_0x377bca[_0x4a90('0x37')]['length']?_0x377bca[_0x4a90('0x37')]:_0x4c0a46[_0x4a90('0x34')];if(_0x1e0648['query']['includeAll']){_0x377bca[_0x4a90('0x44')]=[{'all':!![]}];}_0x377bca=_[_0x4a90('0x40')]({},_0x377bca,_0x1e0648[_0x4a90('0x4a')]);return db['VoiceDialReport']['find'](_0x377bca)[_0x4a90('0x27')](handleEntityNotFound(_0x56361e,null))[_0x4a90('0x27')](respondWithResult(_0x56361e,null))[_0x4a90('0x47')](handleError(_0x56361e,null));};exports[_0x4a90('0x4b')]=function(_0x589b04,_0x377421){return db[_0x4a90('0x30')][_0x4a90('0x4b')](_0x589b04['body'],{})[_0x4a90('0x27')](respondWithResult(_0x377421,0xc9))[_0x4a90('0x47')](handleError(_0x377421,null));};exports[_0x4a90('0x26')]=function(_0x5c3ff0,_0xce55c1){if(_0x5c3ff0[_0x4a90('0x4c')]['id']){delete _0x5c3ff0['body']['id'];}return db[_0x4a90('0x30')][_0x4a90('0x4d')]({'where':{'id':_0x5c3ff0[_0x4a90('0x49')]['id']}})[_0x4a90('0x27')](handleEntityNotFound(_0xce55c1,null))[_0x4a90('0x27')](saveUpdates(_0x5c3ff0[_0x4a90('0x4c')],null))[_0x4a90('0x27')](respondWithResult(_0xce55c1,null))[_0x4a90('0x47')](handleError(_0xce55c1,null));};exports[_0x4a90('0x28')]=function(_0x417528,_0x2d4149){return db[_0x4a90('0x30')][_0x4a90('0x4d')]({'where':{'id':_0x417528[_0x4a90('0x49')]['id']}})[_0x4a90('0x27')](handleEntityNotFound(_0x2d4149,null))[_0x4a90('0x27')](removeEntity(_0x2d4149,null))[_0x4a90('0x47')](handleError(_0x2d4149,null));};exports[_0x4a90('0x4e')]=function(_0x24ab93,_0x310861){return db[_0x4a90('0x30')]['describe']()[_0x4a90('0x27')](respondWithResult(_0x310861,null))[_0x4a90('0x47')](handleError(_0x310861,null));};