Built motion from commit 43538d75.|2.5.35
[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 _0x305d=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','save','update','then','destroy','sendStatus','error','stack','name','index','VoiceDialReport','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','create','body','find','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs'];(function(_0x3354f6,_0x25eaeb){var _0x49fac8=function(_0x305d32){while(--_0x305d32){_0x3354f6['push'](_0x3354f6['shift']());}};_0x49fac8(++_0x25eaeb);}(_0x305d,0x178));var _0xd305=function(_0x365ccc,_0x394414){_0x365ccc=_0x365ccc-0x0;var _0x1c89f7=_0x305d[_0x365ccc];return _0x1c89f7;};'use strict';var emlformat=require(_0xd305('0x0'));var rimraf=require(_0xd305('0x1'));var zipdir=require(_0xd305('0x2'));var jsonpatch=require(_0xd305('0x3'));var rp=require('request-promise');var moment=require(_0xd305('0x4'));var BPromise=require(_0xd305('0x5'));var Mustache=require(_0xd305('0x6'));var util=require(_0xd305('0x7'));var path=require(_0xd305('0x8'));var sox=require('sox');var csv=require(_0xd305('0x9'));var ejs=require(_0xd305('0xa'));var fs=require('fs');var fs_extra=require(_0xd305('0xb'));var _=require(_0xd305('0xc'));var squel=require('squel');var crypto=require(_0xd305('0xd'));var jsforce=require(_0xd305('0xe'));var deskjs=require(_0xd305('0xf'));var toCsv=require('to-csv');var querystring=require(_0xd305('0x10'));var Papa=require('papaparse');var Redis=require(_0xd305('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xd305('0x12'));var as=require(_0xd305('0x13'));var hardwareService=require(_0xd305('0x14'));var logger=require(_0xd305('0x15'))(_0xd305('0x16'));var utils=require(_0xd305('0x17'));var config=require(_0xd305('0x18'));var licenseUtil=require(_0xd305('0x19'));var db=require(_0xd305('0x1a'))['db'];function respondWithStatusCode(_0x466a76,_0x3d1604){_0x3d1604=_0x3d1604||0xcc;return function(_0x32c012){if(_0x32c012){return _0x466a76['sendStatus'](_0x3d1604);}return _0x466a76[_0xd305('0x1b')](_0x3d1604)[_0xd305('0x1c')]();};}function respondWithResult(_0x59b53d,_0x561e5b){_0x561e5b=_0x561e5b||0xc8;return function(_0x447892){if(_0x447892){return _0x59b53d[_0xd305('0x1b')](_0x561e5b)[_0xd305('0x1d')](_0x447892);}};}function respondWithFilteredResult(_0x1f001a,_0x4b585c){return function(_0x44b659){if(_0x44b659){var _0x3e5a82=typeof _0x4b585c[_0xd305('0x1e')]===_0xd305('0x1f')&&typeof _0x4b585c[_0xd305('0x20')]===_0xd305('0x1f');var _0x4d663e=_0x44b659[_0xd305('0x21')];var _0xc90ef0=_0x3e5a82?0x0:_0x4b585c[_0xd305('0x1e')];var _0x536f7a=_0x3e5a82?_0x44b659['count']:_0x4b585c[_0xd305('0x1e')]+_0x4b585c['limit'];var _0x291cbf;if(_0x536f7a>=_0x4d663e){_0x536f7a=_0x4d663e;_0x291cbf=0xc8;}else{_0x291cbf=0xce;}_0x1f001a[_0xd305('0x1b')](_0x291cbf);return _0x1f001a['set'](_0xd305('0x22'),_0xc90ef0+'-'+_0x536f7a+'/'+_0x4d663e)['json'](_0x44b659);}return null;};}function patchUpdates(_0x381b77){return function(_0x36a22a){try{jsonpatch['apply'](_0x36a22a,_0x381b77,!![]);}catch(_0x20b904){return BPromise['reject'](_0x20b904);}return _0x36a22a[_0xd305('0x23')]();};}function saveUpdates(_0x309552,_0x3a33ad){return function(_0x6994ff){if(_0x6994ff){return _0x6994ff[_0xd305('0x24')](_0x309552)[_0xd305('0x25')](function(_0x5068a4){return _0x5068a4;});}return null;};}function removeEntity(_0x5ee1ff,_0x251137){return function(_0xb34ffa){if(_0xb34ffa){return _0xb34ffa[_0xd305('0x26')]()[_0xd305('0x25')](function(){_0x5ee1ff['status'](0xcc)[_0xd305('0x1c')]();});}};}function handleEntityNotFound(_0x9a07ce,_0x49d22d){return function(_0x4a21d9){if(!_0x4a21d9){_0x9a07ce[_0xd305('0x27')](0x194);}return _0x4a21d9;};}function handleError(_0x368002,_0x3c30fe){_0x3c30fe=_0x3c30fe||0x1f4;return function(_0x471933){logger[_0xd305('0x28')](_0x471933[_0xd305('0x29')]);if(_0x471933[_0xd305('0x2a')]){delete _0x471933[_0xd305('0x2a')];}_0x368002[_0xd305('0x1b')](_0x3c30fe)['send'](_0x471933);};}exports[_0xd305('0x2b')]=function(_0x3c0c2d,_0x5f37ac){var _0x15a9fb={},_0x545890={},_0x3d372b={'count':0x0,'rows':[]};var _0x13dca6=_['map'](db[_0xd305('0x2c')][_0xd305('0x2d')],function(_0x97a610){return{'name':_0x97a610[_0xd305('0x2e')],'type':_0x97a610[_0xd305('0x2f')][_0xd305('0x30')]};});_0x545890[_0xd305('0x31')]=_[_0xd305('0x32')](_0x13dca6,_0xd305('0x2a'));_0x545890[_0xd305('0x33')]=_[_0xd305('0x34')](_0x3c0c2d['query']);_0x545890['filters']=_[_0xd305('0x35')](_0x545890[_0xd305('0x31')],_0x545890[_0xd305('0x33')]);_0x15a9fb[_0xd305('0x36')]=_['intersection'](_0x545890[_0xd305('0x31')],qs[_0xd305('0x37')](_0x3c0c2d[_0xd305('0x33')][_0xd305('0x37')]));_0x15a9fb['attributes']=_0x15a9fb[_0xd305('0x36')][_0xd305('0x38')]?_0x15a9fb[_0xd305('0x36')]:_0x545890[_0xd305('0x31')];if(!_0x3c0c2d[_0xd305('0x33')][_0xd305('0x39')](_0xd305('0x3a'))){_0x15a9fb[_0xd305('0x20')]=qs[_0xd305('0x20')](_0x3c0c2d[_0xd305('0x33')][_0xd305('0x20')]);_0x15a9fb[_0xd305('0x1e')]=qs[_0xd305('0x1e')](_0x3c0c2d[_0xd305('0x33')][_0xd305('0x1e')]);}_0x15a9fb[_0xd305('0x3b')]=qs[_0xd305('0x3c')](_0x3c0c2d[_0xd305('0x33')][_0xd305('0x3c')]);_0x15a9fb['where']=qs[_0xd305('0x3d')](_[_0xd305('0x3e')](_0x3c0c2d[_0xd305('0x33')],_0x545890[_0xd305('0x3d')]),_0x13dca6);if(_0x3c0c2d[_0xd305('0x33')][_0xd305('0x3f')]){_0x15a9fb[_0xd305('0x40')]=_[_0xd305('0x41')](_0x15a9fb[_0xd305('0x40')],{'$or':_[_0xd305('0x32')](_0x13dca6,function(_0x2063d0){if(_0x2063d0[_0xd305('0x2f')]!==_0xd305('0x42')){var _0x496ff6={};_0x496ff6[_0x2063d0['name']]={'$like':'%'+_0x3c0c2d[_0xd305('0x33')]['filter']+'%'};return _0x496ff6;}})});}_0x15a9fb=_[_0xd305('0x41')]({},_0x15a9fb,_0x3c0c2d[_0xd305('0x43')]);var _0x1cf57d={'where':_0x15a9fb[_0xd305('0x40')]};return db[_0xd305('0x2c')][_0xd305('0x21')](_0x1cf57d)[_0xd305('0x25')](function(_0x5cad35){_0x3d372b[_0xd305('0x21')]=_0x5cad35;if(_0x3c0c2d[_0xd305('0x33')][_0xd305('0x44')]){_0x15a9fb[_0xd305('0x45')]=[{'all':!![]}];}return db['VoiceDialReport'][_0xd305('0x46')](_0x15a9fb);})[_0xd305('0x25')](function(_0x5d4e12){_0x3d372b[_0xd305('0x47')]=_0x5d4e12;return _0x3d372b;})[_0xd305('0x25')](respondWithFilteredResult(_0x5f37ac,_0x15a9fb))[_0xd305('0x48')](handleError(_0x5f37ac,null));};exports[_0xd305('0x49')]=function(_0x4252ec,_0x1d83dd){var _0x2d5570={'raw':!![],'where':{'id':_0x4252ec['params']['id']}},_0x51900d={};_0x51900d[_0xd305('0x31')]=_['keys'](db[_0xd305('0x2c')][_0xd305('0x2d')]);_0x51900d[_0xd305('0x33')]=_[_0xd305('0x34')](_0x4252ec[_0xd305('0x33')]);_0x51900d[_0xd305('0x3d')]=_[_0xd305('0x35')](_0x51900d[_0xd305('0x31')],_0x51900d[_0xd305('0x33')]);_0x2d5570[_0xd305('0x36')]=_[_0xd305('0x35')](_0x51900d['model'],qs[_0xd305('0x37')](_0x4252ec[_0xd305('0x33')][_0xd305('0x37')]));_0x2d5570[_0xd305('0x36')]=_0x2d5570['attributes']['length']?_0x2d5570['attributes']:_0x51900d[_0xd305('0x31')];if(_0x4252ec[_0xd305('0x33')][_0xd305('0x44')]){_0x2d5570[_0xd305('0x45')]=[{'all':!![]}];}_0x2d5570=_['merge']({},_0x2d5570,_0x4252ec[_0xd305('0x43')]);return db[_0xd305('0x2c')]['find'](_0x2d5570)['then'](handleEntityNotFound(_0x1d83dd,null))[_0xd305('0x25')](respondWithResult(_0x1d83dd,null))[_0xd305('0x48')](handleError(_0x1d83dd,null));};exports[_0xd305('0x4a')]=function(_0x38e6fb,_0x13657d){return db[_0xd305('0x2c')][_0xd305('0x4a')](_0x38e6fb[_0xd305('0x4b')],{})['then'](respondWithResult(_0x13657d,0xc9))['catch'](handleError(_0x13657d,null));};exports[_0xd305('0x24')]=function(_0x3fbfca,_0x37988c){if(_0x3fbfca[_0xd305('0x4b')]['id']){delete _0x3fbfca['body']['id'];}return db[_0xd305('0x2c')][_0xd305('0x4c')]({'where':{'id':_0x3fbfca[_0xd305('0x4d')]['id']}})[_0xd305('0x25')](handleEntityNotFound(_0x37988c,null))[_0xd305('0x25')](saveUpdates(_0x3fbfca['body'],null))[_0xd305('0x25')](respondWithResult(_0x37988c,null))['catch'](handleError(_0x37988c,null));};exports[_0xd305('0x26')]=function(_0x3f5987,_0x4dd25e){return db[_0xd305('0x2c')][_0xd305('0x4c')]({'where':{'id':_0x3f5987[_0xd305('0x4d')]['id']}})[_0xd305('0x25')](handleEntityNotFound(_0x4dd25e,null))[_0xd305('0x25')](removeEntity(_0x4dd25e,null))[_0xd305('0x48')](handleError(_0x4dd25e,null));};exports['describe']=function(_0x50eab9,_0x1d074c){return db['VoiceDialReport'][_0xd305('0x4e')]()['then'](respondWithResult(_0x1d074c,null))[_0xd305('0x48')](handleError(_0x1d074c,null));};