5ed8be365d14f5ac452b4ec75acb7ac7b5d62b86
[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 _0xf6bb=['to-csv','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','undefined','count','limit','set','Content-Range','reject','save','then','destroy','sendStatus','name','send','VoiceDialReport','fieldName','type','key','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','map','options','includeAll','include','findAll','rows','catch','params','rawAttributes','keys','create','update','body','find','describe','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox'];(function(_0x130705,_0x2d266b){var _0x1fa991=function(_0x395639){while(--_0x395639){_0x130705['push'](_0x130705['shift']());}};_0x1fa991(++_0x2d266b);}(_0xf6bb,0x88));var _0xbf6b=function(_0x28c939,_0x110e29){_0x28c939=_0x28c939-0x0;var _0x527fe9=_0xf6bb[_0x28c939];return _0x527fe9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbf6b('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbf6b('0x1'));var rp=require(_0xbf6b('0x2'));var moment=require(_0xbf6b('0x3'));var BPromise=require(_0xbf6b('0x4'));var Mustache=require(_0xbf6b('0x5'));var util=require(_0xbf6b('0x6'));var path=require('path');var sox=require(_0xbf6b('0x7'));var csv=require(_0xbf6b('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xbf6b('0x9'));var crypto=require(_0xbf6b('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xbf6b('0xb'));var toCsv=require(_0xbf6b('0x8'));var querystring=require(_0xbf6b('0xc'));var Papa=require(_0xbf6b('0xd'));var Redis=require(_0xbf6b('0xe'));var authService=require(_0xbf6b('0xf'));var qs=require(_0xbf6b('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbf6b('0x11'));var logger=require(_0xbf6b('0x12'))(_0xbf6b('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xbf6b('0x14'));var db=require(_0xbf6b('0x15'))['db'];function respondWithStatusCode(_0xacd730,_0x5a5b9c){_0x5a5b9c=_0x5a5b9c||0xcc;return function(_0x47eb7d){if(_0x47eb7d){return _0xacd730['sendStatus'](_0x5a5b9c);}return _0xacd730[_0xbf6b('0x16')](_0x5a5b9c)[_0xbf6b('0x17')]();};}function respondWithResult(_0x1d5383,_0x2d5843){_0x2d5843=_0x2d5843||0xc8;return function(_0x209c6e){if(_0x209c6e){return _0x1d5383[_0xbf6b('0x16')](_0x2d5843)[_0xbf6b('0x18')](_0x209c6e);}};}function respondWithFilteredResult(_0x1e95a1,_0x40b9fe){return function(_0x305f9c){if(_0x305f9c){var _0xb088e=typeof _0x40b9fe['offset']===_0xbf6b('0x19')&&typeof _0x40b9fe['limit']===_0xbf6b('0x19');var _0x3995c7=_0x305f9c[_0xbf6b('0x1a')];var _0x21ac94=_0xb088e?0x0:_0x40b9fe['offset'];var _0x6031d8=_0xb088e?_0x305f9c[_0xbf6b('0x1a')]:_0x40b9fe['offset']+_0x40b9fe[_0xbf6b('0x1b')];var _0x47d812;if(_0x6031d8>=_0x3995c7){_0x6031d8=_0x3995c7;_0x47d812=0xc8;}else{_0x47d812=0xce;}_0x1e95a1['status'](_0x47d812);return _0x1e95a1[_0xbf6b('0x1c')](_0xbf6b('0x1d'),_0x21ac94+'-'+_0x6031d8+'/'+_0x3995c7)[_0xbf6b('0x18')](_0x305f9c);}return null;};}function patchUpdates(_0x287721){return function(_0x5935c3){try{jsonpatch['apply'](_0x5935c3,_0x287721,!![]);}catch(_0x432ed1){return BPromise[_0xbf6b('0x1e')](_0x432ed1);}return _0x5935c3[_0xbf6b('0x1f')]();};}function saveUpdates(_0x5c94a3,_0x2e3941){return function(_0x57bb76){if(_0x57bb76){return _0x57bb76['update'](_0x5c94a3)[_0xbf6b('0x20')](function(_0x320e7a){return _0x320e7a;});}return null;};}function removeEntity(_0x37d65d,_0xb317a0){return function(_0x34b9ac){if(_0x34b9ac){return _0x34b9ac[_0xbf6b('0x21')]()[_0xbf6b('0x20')](function(){_0x37d65d['status'](0xcc)[_0xbf6b('0x17')]();});}};}function handleEntityNotFound(_0x162cc7,_0x44f502){return function(_0x20a68b){if(!_0x20a68b){_0x162cc7[_0xbf6b('0x22')](0x194);}return _0x20a68b;};}function handleError(_0xe04694,_0x41949a){_0x41949a=_0x41949a||0x1f4;return function(_0x2a7f1e){logger['error'](_0x2a7f1e['stack']);if(_0x2a7f1e[_0xbf6b('0x23')]){delete _0x2a7f1e[_0xbf6b('0x23')];}_0xe04694[_0xbf6b('0x16')](_0x41949a)[_0xbf6b('0x24')](_0x2a7f1e);};}exports['index']=function(_0x42778e,_0x433d45){var _0x5a2b67={},_0x767975={},_0x12bab9={'count':0x0,'rows':[]};var _0x50a0c0=_['map'](db[_0xbf6b('0x25')]['rawAttributes'],function(_0x501acf){return{'name':_0x501acf[_0xbf6b('0x26')],'type':_0x501acf[_0xbf6b('0x27')][_0xbf6b('0x28')]};});_0x767975['model']=_['map'](_0x50a0c0,'name');_0x767975[_0xbf6b('0x29')]=_['keys'](_0x42778e[_0xbf6b('0x29')]);_0x767975[_0xbf6b('0x2a')]=_[_0xbf6b('0x2b')](_0x767975['model'],_0x767975['query']);_0x5a2b67[_0xbf6b('0x2c')]=_[_0xbf6b('0x2b')](_0x767975[_0xbf6b('0x2d')],qs[_0xbf6b('0x2e')](_0x42778e[_0xbf6b('0x29')]['fields']));_0x5a2b67[_0xbf6b('0x2c')]=_0x5a2b67[_0xbf6b('0x2c')][_0xbf6b('0x2f')]?_0x5a2b67[_0xbf6b('0x2c')]:_0x767975[_0xbf6b('0x2d')];if(!_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x30')](_0xbf6b('0x31'))){_0x5a2b67[_0xbf6b('0x1b')]=qs[_0xbf6b('0x1b')](_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x1b')]);_0x5a2b67[_0xbf6b('0x32')]=qs[_0xbf6b('0x32')](_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x32')]);}_0x5a2b67[_0xbf6b('0x33')]=qs[_0xbf6b('0x34')](_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x34')]);_0x5a2b67[_0xbf6b('0x35')]=qs[_0xbf6b('0x2a')](_[_0xbf6b('0x36')](_0x42778e[_0xbf6b('0x29')],_0x767975['filters']),_0x50a0c0);if(_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x37')]){_0x5a2b67[_0xbf6b('0x35')]=_[_0xbf6b('0x38')](_0x5a2b67['where'],{'$or':_[_0xbf6b('0x39')](_0x50a0c0,function(_0x2cd755){if(_0x2cd755[_0xbf6b('0x27')]!=='VIRTUAL'){var _0x3fb465={};_0x3fb465[_0x2cd755['name']]={'$like':'%'+_0x42778e['query'][_0xbf6b('0x37')]+'%'};return _0x3fb465;}})});}_0x5a2b67=_['merge']({},_0x5a2b67,_0x42778e[_0xbf6b('0x3a')]);var _0x38126a={'where':_0x5a2b67[_0xbf6b('0x35')]};return db['VoiceDialReport'][_0xbf6b('0x1a')](_0x38126a)[_0xbf6b('0x20')](function(_0x4bfed4){_0x12bab9[_0xbf6b('0x1a')]=_0x4bfed4;if(_0x42778e[_0xbf6b('0x29')][_0xbf6b('0x3b')]){_0x5a2b67[_0xbf6b('0x3c')]=[{'all':!![]}];}return db['VoiceDialReport'][_0xbf6b('0x3d')](_0x5a2b67);})[_0xbf6b('0x20')](function(_0x4c83e5){_0x12bab9[_0xbf6b('0x3e')]=_0x4c83e5;return _0x12bab9;})[_0xbf6b('0x20')](respondWithFilteredResult(_0x433d45,_0x5a2b67))[_0xbf6b('0x3f')](handleError(_0x433d45,null));};exports['show']=function(_0x14829c,_0x29cd11){var _0x2b4d72={'raw':!![],'where':{'id':_0x14829c[_0xbf6b('0x40')]['id']}},_0x361385={};_0x361385[_0xbf6b('0x2d')]=_['keys'](db['VoiceDialReport'][_0xbf6b('0x41')]);_0x361385['query']=_[_0xbf6b('0x42')](_0x14829c['query']);_0x361385[_0xbf6b('0x2a')]=_[_0xbf6b('0x2b')](_0x361385[_0xbf6b('0x2d')],_0x361385[_0xbf6b('0x29')]);_0x2b4d72[_0xbf6b('0x2c')]=_[_0xbf6b('0x2b')](_0x361385[_0xbf6b('0x2d')],qs['fields'](_0x14829c[_0xbf6b('0x29')][_0xbf6b('0x2e')]));_0x2b4d72['attributes']=_0x2b4d72['attributes'][_0xbf6b('0x2f')]?_0x2b4d72[_0xbf6b('0x2c')]:_0x361385[_0xbf6b('0x2d')];if(_0x14829c[_0xbf6b('0x29')][_0xbf6b('0x3b')]){_0x2b4d72[_0xbf6b('0x3c')]=[{'all':!![]}];}_0x2b4d72=_[_0xbf6b('0x38')]({},_0x2b4d72,_0x14829c['options']);return db[_0xbf6b('0x25')]['find'](_0x2b4d72)[_0xbf6b('0x20')](handleEntityNotFound(_0x29cd11,null))['then'](respondWithResult(_0x29cd11,null))[_0xbf6b('0x3f')](handleError(_0x29cd11,null));};exports[_0xbf6b('0x43')]=function(_0x3ee535,_0x24a900){return db[_0xbf6b('0x25')][_0xbf6b('0x43')](_0x3ee535['body'],{})[_0xbf6b('0x20')](respondWithResult(_0x24a900,0xc9))[_0xbf6b('0x3f')](handleError(_0x24a900,null));};exports[_0xbf6b('0x44')]=function(_0x4b504f,_0x3df421){if(_0x4b504f['body']['id']){delete _0x4b504f[_0xbf6b('0x45')]['id'];}return db[_0xbf6b('0x25')][_0xbf6b('0x46')]({'where':{'id':_0x4b504f[_0xbf6b('0x40')]['id']}})[_0xbf6b('0x20')](handleEntityNotFound(_0x3df421,null))[_0xbf6b('0x20')](saveUpdates(_0x4b504f['body'],null))[_0xbf6b('0x20')](respondWithResult(_0x3df421,null))['catch'](handleError(_0x3df421,null));};exports[_0xbf6b('0x21')]=function(_0x41fe85,_0x502b71){return db[_0xbf6b('0x25')][_0xbf6b('0x46')]({'where':{'id':_0x41fe85[_0xbf6b('0x40')]['id']}})[_0xbf6b('0x20')](handleEntityNotFound(_0x502b71,null))['then'](removeEntity(_0x502b71,null))[_0xbf6b('0x3f')](handleError(_0x502b71,null));};exports[_0xbf6b('0x47')]=function(_0xc6ff54,_0x592934){return db[_0xbf6b('0x25')][_0xbf6b('0x47')]()[_0xbf6b('0x20')](respondWithResult(_0x592934,null))[_0xbf6b('0x3f')](handleError(_0x592934,null));};