d2d9d2b7cedf7ded4fb2011003c186c52b00fcb6
[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 _0x709e=['../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','destroy','status','end','error','name','index','VoiceDialReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','then','includeAll','include','findAll','rows','catch','show','params','create','body','find','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x4fbec0,_0x1580c0){var _0x40a4e2=function(_0x520e4d){while(--_0x520e4d){_0x4fbec0['push'](_0x4fbec0['shift']());}};_0x40a4e2(++_0x1580c0);}(_0x709e,0x1bf));var _0xe709=function(_0x48cc57,_0x5524bb){_0x48cc57=_0x48cc57-0x0;var _0x2eefd3=_0x709e[_0x48cc57];return _0x2eefd3;};'use strict';var emlformat=require(_0xe709('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe709('0x1'));var jsonpatch=require(_0xe709('0x2'));var rp=require(_0xe709('0x3'));var moment=require(_0xe709('0x4'));var BPromise=require(_0xe709('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe709('0x6'));var sox=require(_0xe709('0x7'));var csv=require('to-csv');var ejs=require(_0xe709('0x8'));var fs=require('fs');var fs_extra=require(_0xe709('0x9'));var _=require(_0xe709('0xa'));var squel=require(_0xe709('0xb'));var crypto=require(_0xe709('0xc'));var jsforce=require(_0xe709('0xd'));var deskjs=require(_0xe709('0xe'));var toCsv=require(_0xe709('0xf'));var querystring=require('querystring');var Papa=require(_0xe709('0x10'));var Redis=require(_0xe709('0x11'));var authService=require(_0xe709('0x12'));var qs=require(_0xe709('0x13'));var as=require(_0xe709('0x14'));var hardwareService=require(_0xe709('0x15'));var logger=require(_0xe709('0x16'))('api');var utils=require('../../config/utils');var config=require(_0xe709('0x17'));var licenseUtil=require(_0xe709('0x18'));var db=require(_0xe709('0x19'))['db'];function respondWithStatusCode(_0x200a4c,_0x1f77ac){_0x1f77ac=_0x1f77ac||0xcc;return function(_0x1c9e65){if(_0x1c9e65){return _0x200a4c[_0xe709('0x1a')](_0x1f77ac);}return _0x200a4c['status'](_0x1f77ac)['end']();};}function respondWithResult(_0x5d222f,_0x44307e){_0x44307e=_0x44307e||0xc8;return function(_0x3f7ea0){if(_0x3f7ea0){return _0x5d222f['status'](_0x44307e)[_0xe709('0x1b')](_0x3f7ea0);}};}function respondWithFilteredResult(_0x32c131,_0xb11d5e){return function(_0xea847b){if(_0xea847b){var _0x35ffe4=typeof _0xb11d5e[_0xe709('0x1c')]==='undefined'&&typeof _0xb11d5e[_0xe709('0x1d')]===_0xe709('0x1e');var _0x621846=_0xea847b[_0xe709('0x1f')];var _0x583f98=_0x35ffe4?0x0:_0xb11d5e[_0xe709('0x1c')];var _0x346d8c=_0x35ffe4?_0xea847b[_0xe709('0x1f')]:_0xb11d5e['offset']+_0xb11d5e[_0xe709('0x1d')];var _0x35649b;if(_0x346d8c>=_0x621846){_0x346d8c=_0x621846;_0x35649b=0xc8;}else{_0x35649b=0xce;}_0x32c131['status'](_0x35649b);return _0x32c131[_0xe709('0x20')](_0xe709('0x21'),_0x583f98+'-'+_0x346d8c+'/'+_0x621846)[_0xe709('0x1b')](_0xea847b);}return null;};}function patchUpdates(_0x51a2fb){return function(_0x5656ef){try{jsonpatch[_0xe709('0x22')](_0x5656ef,_0x51a2fb,!![]);}catch(_0x3a8948){return BPromise[_0xe709('0x23')](_0x3a8948);}return _0x5656ef[_0xe709('0x24')]();};}function saveUpdates(_0x2cd1fc,_0x76a768){return function(_0x1c6a15){if(_0x1c6a15){return _0x1c6a15[_0xe709('0x25')](_0x2cd1fc)['then'](function(_0x4e5700){return _0x4e5700;});}return null;};}function removeEntity(_0x127588,_0x4ff8f9){return function(_0xa41ec1){if(_0xa41ec1){return _0xa41ec1[_0xe709('0x26')]()['then'](function(){_0x127588[_0xe709('0x27')](0xcc)[_0xe709('0x28')]();});}};}function handleEntityNotFound(_0x52777d,_0x3fbf6e){return function(_0x52ae3d){if(!_0x52ae3d){_0x52777d[_0xe709('0x1a')](0x194);}return _0x52ae3d;};}function handleError(_0x5829ab,_0xfb1a66){_0xfb1a66=_0xfb1a66||0x1f4;return function(_0x27abbe){logger[_0xe709('0x29')](_0x27abbe['stack']);if(_0x27abbe[_0xe709('0x2a')]){delete _0x27abbe[_0xe709('0x2a')];}_0x5829ab[_0xe709('0x27')](_0xfb1a66)['send'](_0x27abbe);};}exports[_0xe709('0x2b')]=function(_0x2cc659,_0x281167){var _0x10ec62={},_0x2a1d5d={},_0x504426={'count':0x0,'rows':[]};var _0x315c80=_['map'](db[_0xe709('0x2c')][_0xe709('0x2d')],function(_0x1c43ba){return{'name':_0x1c43ba[_0xe709('0x2e')],'type':_0x1c43ba[_0xe709('0x2f')][_0xe709('0x30')]};});_0x2a1d5d[_0xe709('0x31')]=_[_0xe709('0x32')](_0x315c80,_0xe709('0x2a'));_0x2a1d5d[_0xe709('0x33')]=_[_0xe709('0x34')](_0x2cc659[_0xe709('0x33')]);_0x2a1d5d[_0xe709('0x35')]=_[_0xe709('0x36')](_0x2a1d5d[_0xe709('0x31')],_0x2a1d5d['query']);_0x10ec62[_0xe709('0x37')]=_[_0xe709('0x36')](_0x2a1d5d[_0xe709('0x31')],qs[_0xe709('0x38')](_0x2cc659['query']['fields']));_0x10ec62[_0xe709('0x37')]=_0x10ec62[_0xe709('0x37')]['length']?_0x10ec62[_0xe709('0x37')]:_0x2a1d5d[_0xe709('0x31')];if(!_0x2cc659[_0xe709('0x33')][_0xe709('0x39')]('nolimit')){_0x10ec62[_0xe709('0x1d')]=qs[_0xe709('0x1d')](_0x2cc659[_0xe709('0x33')][_0xe709('0x1d')]);_0x10ec62[_0xe709('0x1c')]=qs[_0xe709('0x1c')](_0x2cc659['query'][_0xe709('0x1c')]);}_0x10ec62[_0xe709('0x3a')]=qs[_0xe709('0x3b')](_0x2cc659[_0xe709('0x33')][_0xe709('0x3b')]);_0x10ec62[_0xe709('0x3c')]=qs[_0xe709('0x35')](_[_0xe709('0x3d')](_0x2cc659['query'],_0x2a1d5d[_0xe709('0x35')]),_0x315c80);if(_0x2cc659[_0xe709('0x33')]['filter']){_0x10ec62[_0xe709('0x3c')]=_[_0xe709('0x3e')](_0x10ec62[_0xe709('0x3c')],{'$or':_['map'](_0x315c80,function(_0x1d4ff3){if(_0x1d4ff3[_0xe709('0x2f')]!==_0xe709('0x3f')){var _0x1c488a={};_0x1c488a[_0x1d4ff3[_0xe709('0x2a')]]={'$like':'%'+_0x2cc659[_0xe709('0x33')][_0xe709('0x40')]+'%'};return _0x1c488a;}})});}_0x10ec62=_[_0xe709('0x3e')]({},_0x10ec62,_0x2cc659[_0xe709('0x41')]);var _0x3801e8={'where':_0x10ec62[_0xe709('0x3c')]};return db['VoiceDialReport'][_0xe709('0x1f')](_0x3801e8)[_0xe709('0x42')](function(_0x4a1f05){_0x504426['count']=_0x4a1f05;if(_0x2cc659[_0xe709('0x33')][_0xe709('0x43')]){_0x10ec62[_0xe709('0x44')]=[{'all':!![]}];}return db[_0xe709('0x2c')][_0xe709('0x45')](_0x10ec62);})[_0xe709('0x42')](function(_0x2e73fb){_0x504426[_0xe709('0x46')]=_0x2e73fb;return _0x504426;})['then'](respondWithFilteredResult(_0x281167,_0x10ec62))[_0xe709('0x47')](handleError(_0x281167,null));};exports[_0xe709('0x48')]=function(_0x25a3f6,_0x4a43ff){var _0x36f2cb={'raw':!![],'where':{'id':_0x25a3f6[_0xe709('0x49')]['id']}},_0x110e0b={};_0x110e0b[_0xe709('0x31')]=_['keys'](db[_0xe709('0x2c')][_0xe709('0x2d')]);_0x110e0b['query']=_[_0xe709('0x34')](_0x25a3f6[_0xe709('0x33')]);_0x110e0b[_0xe709('0x35')]=_[_0xe709('0x36')](_0x110e0b[_0xe709('0x31')],_0x110e0b[_0xe709('0x33')]);_0x36f2cb[_0xe709('0x37')]=_[_0xe709('0x36')](_0x110e0b[_0xe709('0x31')],qs[_0xe709('0x38')](_0x25a3f6[_0xe709('0x33')][_0xe709('0x38')]));_0x36f2cb[_0xe709('0x37')]=_0x36f2cb[_0xe709('0x37')]['length']?_0x36f2cb[_0xe709('0x37')]:_0x110e0b['model'];if(_0x25a3f6[_0xe709('0x33')][_0xe709('0x43')]){_0x36f2cb[_0xe709('0x44')]=[{'all':!![]}];}_0x36f2cb=_[_0xe709('0x3e')]({},_0x36f2cb,_0x25a3f6[_0xe709('0x41')]);return db[_0xe709('0x2c')]['find'](_0x36f2cb)[_0xe709('0x42')](handleEntityNotFound(_0x4a43ff,null))[_0xe709('0x42')](respondWithResult(_0x4a43ff,null))['catch'](handleError(_0x4a43ff,null));};exports[_0xe709('0x4a')]=function(_0x365cf9,_0x406f95){return db[_0xe709('0x2c')][_0xe709('0x4a')](_0x365cf9['body'],{})['then'](respondWithResult(_0x406f95,0xc9))[_0xe709('0x47')](handleError(_0x406f95,null));};exports[_0xe709('0x25')]=function(_0x55642b,_0x4d9c0f){if(_0x55642b['body']['id']){delete _0x55642b[_0xe709('0x4b')]['id'];}return db['VoiceDialReport'][_0xe709('0x4c')]({'where':{'id':_0x55642b[_0xe709('0x49')]['id']}})['then'](handleEntityNotFound(_0x4d9c0f,null))['then'](saveUpdates(_0x55642b[_0xe709('0x4b')],null))[_0xe709('0x42')](respondWithResult(_0x4d9c0f,null))[_0xe709('0x47')](handleError(_0x4d9c0f,null));};exports[_0xe709('0x26')]=function(_0x4f5ee1,_0x216a94){return db[_0xe709('0x2c')]['find']({'where':{'id':_0x4f5ee1[_0xe709('0x49')]['id']}})[_0xe709('0x42')](handleEntityNotFound(_0x216a94,null))[_0xe709('0x42')](removeEntity(_0x216a94,null))[_0xe709('0x47')](handleError(_0x216a94,null));};exports[_0xe709('0x4d')]=function(_0x2e1b40,_0x5e9c9f){return db['VoiceDialReport']['describe']()[_0xe709('0x42')](respondWithResult(_0x5e9c9f,null))[_0xe709('0x47')](handleError(_0x5e9c9f,null));};