9d6503ebdc4be1149beb96851d3ca950cd512d4c
[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 _0xb892=['type','key','model','map','query','intersection','fields','attributes','nolimit','sort','where','filters','pick','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','keys','length','merge','create','body','find','describe','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','index','VoiceDialReport','rawAttributes','fieldName'];(function(_0x26b80e,_0x5c9333){var _0x84a8a8=function(_0x2e5b4a){while(--_0x2e5b4a){_0x26b80e['push'](_0x26b80e['shift']());}};_0x84a8a8(++_0x5c9333);}(_0xb892,0x1d2));var _0x2b89=function(_0x22f8ab,_0x15d8ff){_0x22f8ab=_0x22f8ab-0x0;var _0x2a70e5=_0xb892[_0x22f8ab];return _0x2a70e5;};'use strict';var emlformat=require(_0x2b89('0x0'));var rimraf=require(_0x2b89('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2b89('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x2b89('0x3'));var Mustache=require(_0x2b89('0x4'));var util=require(_0x2b89('0x5'));var path=require('path');var sox=require(_0x2b89('0x6'));var csv=require(_0x2b89('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2b89('0x8'));var _=require(_0x2b89('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x2b89('0xa'));var toCsv=require(_0x2b89('0x7'));var querystring=require(_0x2b89('0xb'));var Papa=require(_0x2b89('0xc'));var Redis=require(_0x2b89('0xd'));var authService=require(_0x2b89('0xe'));var qs=require(_0x2b89('0xf'));var as=require(_0x2b89('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2b89('0x11'))(_0x2b89('0x12'));var utils=require(_0x2b89('0x13'));var config=require(_0x2b89('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x2b89('0x15'))['db'];function respondWithStatusCode(_0x5868cd,_0x4c2af0){_0x4c2af0=_0x4c2af0||0xcc;return function(_0xa1d066){if(_0xa1d066){return _0x5868cd[_0x2b89('0x16')](_0x4c2af0);}return _0x5868cd[_0x2b89('0x17')](_0x4c2af0)['end']();};}function respondWithResult(_0x15b4a7,_0x9f2fc6){_0x9f2fc6=_0x9f2fc6||0xc8;return function(_0x14e576){if(_0x14e576){return _0x15b4a7['status'](_0x9f2fc6)[_0x2b89('0x18')](_0x14e576);}};}function respondWithFilteredResult(_0x1b0f15,_0xc1bac7){return function(_0x5747ab){if(_0x5747ab){var _0x45a60a=typeof _0xc1bac7['offset']==='undefined'&&typeof _0xc1bac7[_0x2b89('0x19')]===_0x2b89('0x1a');var _0x4bbeb5=_0x5747ab[_0x2b89('0x1b')];var _0x388f8b=_0x45a60a?0x0:_0xc1bac7[_0x2b89('0x1c')];var _0x1880c4=_0x45a60a?_0x5747ab['count']:_0xc1bac7[_0x2b89('0x1c')]+_0xc1bac7[_0x2b89('0x19')];var _0x4523fe;if(_0x1880c4>=_0x4bbeb5){_0x1880c4=_0x4bbeb5;_0x4523fe=0xc8;}else{_0x4523fe=0xce;}_0x1b0f15[_0x2b89('0x17')](_0x4523fe);return _0x1b0f15[_0x2b89('0x1d')](_0x2b89('0x1e'),_0x388f8b+'-'+_0x1880c4+'/'+_0x4bbeb5)[_0x2b89('0x18')](_0x5747ab);}return null;};}function patchUpdates(_0x11e578){return function(_0xd84fef){try{jsonpatch[_0x2b89('0x1f')](_0xd84fef,_0x11e578,!![]);}catch(_0x2be5c5){return BPromise[_0x2b89('0x20')](_0x2be5c5);}return _0xd84fef[_0x2b89('0x21')]();};}function saveUpdates(_0x5a3c2a,_0x220f46){return function(_0x9d80c){if(_0x9d80c){return _0x9d80c[_0x2b89('0x22')](_0x5a3c2a)[_0x2b89('0x23')](function(_0x3b6233){return _0x3b6233;});}return null;};}function removeEntity(_0x4f22f9,_0x18eb18){return function(_0x17475f){if(_0x17475f){return _0x17475f[_0x2b89('0x24')]()[_0x2b89('0x23')](function(){_0x4f22f9[_0x2b89('0x17')](0xcc)[_0x2b89('0x25')]();});}};}function handleEntityNotFound(_0x5dbf23,_0x54c45e){return function(_0x56b963){if(!_0x56b963){_0x5dbf23[_0x2b89('0x16')](0x194);}return _0x56b963;};}function handleError(_0x49a8dd,_0x112ccd){_0x112ccd=_0x112ccd||0x1f4;return function(_0x35c078){logger[_0x2b89('0x26')](_0x35c078[_0x2b89('0x27')]);if(_0x35c078[_0x2b89('0x28')]){delete _0x35c078[_0x2b89('0x28')];}_0x49a8dd[_0x2b89('0x17')](_0x112ccd)['send'](_0x35c078);};}exports[_0x2b89('0x29')]=function(_0x2d3b72,_0x1774f0){var _0x1907c7={},_0x4dea6c={},_0x4ee990={'count':0x0,'rows':[]};var _0x10d024=_['map'](db[_0x2b89('0x2a')][_0x2b89('0x2b')],function(_0x44b9ae){return{'name':_0x44b9ae[_0x2b89('0x2c')],'type':_0x44b9ae[_0x2b89('0x2d')][_0x2b89('0x2e')]};});_0x4dea6c[_0x2b89('0x2f')]=_[_0x2b89('0x30')](_0x10d024,_0x2b89('0x28'));_0x4dea6c[_0x2b89('0x31')]=_['keys'](_0x2d3b72[_0x2b89('0x31')]);_0x4dea6c['filters']=_[_0x2b89('0x32')](_0x4dea6c[_0x2b89('0x2f')],_0x4dea6c[_0x2b89('0x31')]);_0x1907c7['attributes']=_[_0x2b89('0x32')](_0x4dea6c[_0x2b89('0x2f')],qs[_0x2b89('0x33')](_0x2d3b72['query']['fields']));_0x1907c7[_0x2b89('0x34')]=_0x1907c7[_0x2b89('0x34')]['length']?_0x1907c7[_0x2b89('0x34')]:_0x4dea6c[_0x2b89('0x2f')];if(!_0x2d3b72['query']['hasOwnProperty'](_0x2b89('0x35'))){_0x1907c7[_0x2b89('0x19')]=qs[_0x2b89('0x19')](_0x2d3b72[_0x2b89('0x31')][_0x2b89('0x19')]);_0x1907c7['offset']=qs[_0x2b89('0x1c')](_0x2d3b72[_0x2b89('0x31')][_0x2b89('0x1c')]);}_0x1907c7['order']=qs[_0x2b89('0x36')](_0x2d3b72['query'][_0x2b89('0x36')]);_0x1907c7[_0x2b89('0x37')]=qs[_0x2b89('0x38')](_[_0x2b89('0x39')](_0x2d3b72[_0x2b89('0x31')],_0x4dea6c[_0x2b89('0x38')]),_0x10d024);if(_0x2d3b72[_0x2b89('0x31')]['filter']){_0x1907c7[_0x2b89('0x37')]=_['merge'](_0x1907c7['where'],{'$or':_['map'](_0x10d024,function(_0x24f484){if(_0x24f484[_0x2b89('0x2d')]!==_0x2b89('0x3a')){var _0x210cb3={};_0x210cb3[_0x24f484[_0x2b89('0x28')]]={'$like':'%'+_0x2d3b72[_0x2b89('0x31')][_0x2b89('0x3b')]+'%'};return _0x210cb3;}})});}_0x1907c7=_['merge']({},_0x1907c7,_0x2d3b72[_0x2b89('0x3c')]);var _0x2761bd={'where':_0x1907c7[_0x2b89('0x37')]};return db[_0x2b89('0x2a')][_0x2b89('0x1b')](_0x2761bd)[_0x2b89('0x23')](function(_0x316f29){_0x4ee990['count']=_0x316f29;if(_0x2d3b72[_0x2b89('0x31')][_0x2b89('0x3d')]){_0x1907c7[_0x2b89('0x3e')]=[{'all':!![]}];}return db[_0x2b89('0x2a')][_0x2b89('0x3f')](_0x1907c7);})[_0x2b89('0x23')](function(_0xc78b48){_0x4ee990['rows']=_0xc78b48;return _0x4ee990;})['then'](respondWithFilteredResult(_0x1774f0,_0x1907c7))[_0x2b89('0x40')](handleError(_0x1774f0,null));};exports['show']=function(_0x5826d4,_0x7eec72){var _0x3480b1={'raw':!![],'where':{'id':_0x5826d4[_0x2b89('0x41')]['id']}},_0x26283b={};_0x26283b[_0x2b89('0x2f')]=_['keys'](db[_0x2b89('0x2a')][_0x2b89('0x2b')]);_0x26283b[_0x2b89('0x31')]=_[_0x2b89('0x42')](_0x5826d4['query']);_0x26283b[_0x2b89('0x38')]=_[_0x2b89('0x32')](_0x26283b[_0x2b89('0x2f')],_0x26283b[_0x2b89('0x31')]);_0x3480b1[_0x2b89('0x34')]=_[_0x2b89('0x32')](_0x26283b[_0x2b89('0x2f')],qs['fields'](_0x5826d4[_0x2b89('0x31')]['fields']));_0x3480b1['attributes']=_0x3480b1['attributes'][_0x2b89('0x43')]?_0x3480b1[_0x2b89('0x34')]:_0x26283b[_0x2b89('0x2f')];if(_0x5826d4['query'][_0x2b89('0x3d')]){_0x3480b1[_0x2b89('0x3e')]=[{'all':!![]}];}_0x3480b1=_[_0x2b89('0x44')]({},_0x3480b1,_0x5826d4[_0x2b89('0x3c')]);return db[_0x2b89('0x2a')]['find'](_0x3480b1)['then'](handleEntityNotFound(_0x7eec72,null))[_0x2b89('0x23')](respondWithResult(_0x7eec72,null))[_0x2b89('0x40')](handleError(_0x7eec72,null));};exports[_0x2b89('0x45')]=function(_0x3998c6,_0x480612){return db[_0x2b89('0x2a')][_0x2b89('0x45')](_0x3998c6[_0x2b89('0x46')],{})[_0x2b89('0x23')](respondWithResult(_0x480612,0xc9))[_0x2b89('0x40')](handleError(_0x480612,null));};exports['update']=function(_0x3cf036,_0x39f210){if(_0x3cf036[_0x2b89('0x46')]['id']){delete _0x3cf036['body']['id'];}return db['VoiceDialReport'][_0x2b89('0x47')]({'where':{'id':_0x3cf036['params']['id']}})[_0x2b89('0x23')](handleEntityNotFound(_0x39f210,null))[_0x2b89('0x23')](saveUpdates(_0x3cf036[_0x2b89('0x46')],null))[_0x2b89('0x23')](respondWithResult(_0x39f210,null))[_0x2b89('0x40')](handleError(_0x39f210,null));};exports[_0x2b89('0x24')]=function(_0x33b190,_0x151193){return db[_0x2b89('0x2a')][_0x2b89('0x47')]({'where':{'id':_0x33b190[_0x2b89('0x41')]['id']}})[_0x2b89('0x23')](handleEntityNotFound(_0x151193,null))[_0x2b89('0x23')](removeEntity(_0x151193,null))[_0x2b89('0x40')](handleError(_0x151193,null));};exports['describe']=function(_0x58a5ee,_0x283a6c){return db[_0x2b89('0x2a')][_0x2b89('0x48')]()[_0x2b89('0x23')](respondWithResult(_0x283a6c,null))['catch'](handleError(_0x283a6c,null));};