deed08cf84026b370352152173d363e57f985611
[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 _0x4ee2=['filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','options','include','rows','catch','show','keys','find','create','body','params','describe','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','lodash','jsforce','desk.js','to-csv','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','name','index','map','VoiceDialReport','rawAttributes','key','model','query'];(function(_0x469ca5,_0x540bab){var _0x4eca99=function(_0x81f4a){while(--_0x81f4a){_0x469ca5['push'](_0x469ca5['shift']());}};_0x4eca99(++_0x540bab);}(_0x4ee2,0x99));var _0x24ee=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x4ee2[_0x21a9d9];return _0x46adce;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x24ee('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x24ee('0x1'));var moment=require(_0x24ee('0x2'));var BPromise=require(_0x24ee('0x3'));var Mustache=require(_0x24ee('0x4'));var util=require(_0x24ee('0x5'));var path=require(_0x24ee('0x6'));var sox=require(_0x24ee('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x24ee('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x24ee('0x9'));var deskjs=require(_0x24ee('0xa'));var toCsv=require(_0x24ee('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x24ee('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x24ee('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x24ee('0xe'))('api');var utils=require(_0x24ee('0xf'));var config=require(_0x24ee('0x10'));var licenseUtil=require(_0x24ee('0x11'));var db=require(_0x24ee('0x12'))['db'];function respondWithStatusCode(_0x166d5c,_0x264723){_0x264723=_0x264723||0xcc;return function(_0x17c085){if(_0x17c085){return _0x166d5c[_0x24ee('0x13')](_0x264723);}return _0x166d5c[_0x24ee('0x14')](_0x264723)[_0x24ee('0x15')]();};}function respondWithResult(_0x309c21,_0x1e8fcf){_0x1e8fcf=_0x1e8fcf||0xc8;return function(_0x35b178){if(_0x35b178){return _0x309c21[_0x24ee('0x14')](_0x1e8fcf)[_0x24ee('0x16')](_0x35b178);}};}function respondWithFilteredResult(_0x6ba836,_0x1fe95b){return function(_0x42239d){if(_0x42239d){var _0x53cdda=_0x42239d[_0x24ee('0x17')],_0x58279d=_0x1fe95b['offset'],_0x804fa5=_0x1fe95b[_0x24ee('0x18')]+_0x1fe95b[_0x24ee('0x19')],_0x17a821;if(_0x804fa5>=_0x53cdda){_0x804fa5=_0x53cdda;_0x17a821=0xc8;}else{_0x17a821=0xce;}_0x6ba836['status'](_0x17a821);return _0x6ba836[_0x24ee('0x1a')](_0x24ee('0x1b'),_0x58279d+'-'+_0x804fa5+'/'+_0x53cdda)['json'](_0x42239d);}return null;};}function patchUpdates(_0x3ec487){return function(_0x3af854){try{jsonpatch[_0x24ee('0x1c')](_0x3af854,_0x3ec487,!![]);}catch(_0x209c72){return BPromise['reject'](_0x209c72);}return _0x3af854[_0x24ee('0x1d')]();};}function saveUpdates(_0x2efba0,_0x229a04){return function(_0x57ecbb){if(_0x57ecbb){return _0x57ecbb[_0x24ee('0x1e')](_0x2efba0)[_0x24ee('0x1f')](function(_0xf6b24){return _0xf6b24;});}return null;};}function removeEntity(_0xbc66fb,_0x1b3c9a){return function(_0x4c271c){if(_0x4c271c){return _0x4c271c[_0x24ee('0x20')]()[_0x24ee('0x1f')](function(){_0xbc66fb[_0x24ee('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0xc52038,_0x278658){return function(_0x2e5f66){if(!_0x2e5f66){_0xc52038[_0x24ee('0x13')](0x194);}return _0x2e5f66;};}function handleError(_0x45c7a7,_0x9704cb){_0x9704cb=_0x9704cb||0x1f4;return function(_0x290ad6){logger[_0x24ee('0x21')](_0x290ad6['stack']);if(_0x290ad6['name']){delete _0x290ad6[_0x24ee('0x22')];}_0x45c7a7[_0x24ee('0x14')](_0x9704cb)['send'](_0x290ad6);};}exports[_0x24ee('0x23')]=function(_0x2b7fbe,_0x5d77d9){var _0x178daf={},_0x44f194={},_0x3a965b={'count':0x0,'rows':[]};var _0x3053ed=_[_0x24ee('0x24')](db[_0x24ee('0x25')][_0x24ee('0x26')],function(_0x735ed7){return{'name':_0x735ed7['fieldName'],'type':_0x735ed7['type'][_0x24ee('0x27')]};});_0x44f194[_0x24ee('0x28')]=_[_0x24ee('0x24')](_0x3053ed,'name');_0x44f194['query']=_['keys'](_0x2b7fbe[_0x24ee('0x29')]);_0x44f194[_0x24ee('0x2a')]=_[_0x24ee('0x2b')](_0x44f194[_0x24ee('0x28')],_0x44f194[_0x24ee('0x29')]);_0x178daf[_0x24ee('0x2c')]=_['intersection'](_0x44f194[_0x24ee('0x28')],qs[_0x24ee('0x2d')](_0x2b7fbe[_0x24ee('0x29')][_0x24ee('0x2d')]));_0x178daf['attributes']=_0x178daf[_0x24ee('0x2c')][_0x24ee('0x2e')]?_0x178daf[_0x24ee('0x2c')]:_0x44f194[_0x24ee('0x28')];if(!_0x2b7fbe[_0x24ee('0x29')][_0x24ee('0x2f')](_0x24ee('0x30'))){_0x178daf[_0x24ee('0x19')]=qs[_0x24ee('0x19')](_0x2b7fbe[_0x24ee('0x29')][_0x24ee('0x19')]);_0x178daf[_0x24ee('0x18')]=qs[_0x24ee('0x18')](_0x2b7fbe['query']['offset']);}_0x178daf['order']=qs[_0x24ee('0x31')](_0x2b7fbe[_0x24ee('0x29')]['sort']);_0x178daf['where']=qs[_0x24ee('0x2a')](_[_0x24ee('0x32')](_0x2b7fbe[_0x24ee('0x29')],_0x44f194[_0x24ee('0x2a')]),_0x3053ed);if(_0x2b7fbe[_0x24ee('0x29')][_0x24ee('0x33')]){_0x178daf[_0x24ee('0x34')]=_[_0x24ee('0x35')](_0x178daf[_0x24ee('0x34')],{'$or':_['map'](_0x3053ed,function(_0x3abb2c){if(_0x3abb2c['type']!=='VIRTUAL'){var _0x4c7260={};_0x4c7260[_0x3abb2c[_0x24ee('0x22')]]={'$like':'%'+_0x2b7fbe[_0x24ee('0x29')][_0x24ee('0x33')]+'%'};return _0x4c7260;}})});}_0x178daf=_[_0x24ee('0x35')]({},_0x178daf,_0x2b7fbe[_0x24ee('0x36')]);var _0x575e75={'where':_0x178daf['where']};return db[_0x24ee('0x25')][_0x24ee('0x17')](_0x575e75)['then'](function(_0x4c9e11){_0x3a965b[_0x24ee('0x17')]=_0x4c9e11;if(_0x2b7fbe['query']['includeAll']){_0x178daf[_0x24ee('0x37')]=[{'all':!![]}];}return db[_0x24ee('0x25')]['findAll'](_0x178daf);})[_0x24ee('0x1f')](function(_0x214dab){_0x3a965b[_0x24ee('0x38')]=_0x214dab;return _0x3a965b;})[_0x24ee('0x1f')](respondWithFilteredResult(_0x5d77d9,_0x178daf))[_0x24ee('0x39')](handleError(_0x5d77d9,null));};exports[_0x24ee('0x3a')]=function(_0x4e2044,_0x3aae2f){var _0x5bc121={'raw':!![],'where':{'id':_0x4e2044['params']['id']}},_0x3efc02={};_0x3efc02[_0x24ee('0x28')]=_[_0x24ee('0x3b')](db[_0x24ee('0x25')]['rawAttributes']);_0x3efc02['query']=_[_0x24ee('0x3b')](_0x4e2044[_0x24ee('0x29')]);_0x3efc02['filtears']=_[_0x24ee('0x2b')](_0x3efc02[_0x24ee('0x28')],_0x3efc02[_0x24ee('0x29')]);_0x5bc121[_0x24ee('0x2c')]=_[_0x24ee('0x2b')](_0x3efc02[_0x24ee('0x28')],qs[_0x24ee('0x2d')](_0x4e2044[_0x24ee('0x29')][_0x24ee('0x2d')]));_0x5bc121[_0x24ee('0x2c')]=_0x5bc121[_0x24ee('0x2c')][_0x24ee('0x2e')]?_0x5bc121[_0x24ee('0x2c')]:_0x3efc02[_0x24ee('0x28')];if(_0x4e2044[_0x24ee('0x29')]['includeAll']){_0x5bc121[_0x24ee('0x37')]=[{'all':!![]}];}_0x5bc121=_['merge']({},_0x5bc121,_0x4e2044[_0x24ee('0x36')]);return db[_0x24ee('0x25')][_0x24ee('0x3c')](_0x5bc121)[_0x24ee('0x1f')](handleEntityNotFound(_0x3aae2f,null))[_0x24ee('0x1f')](respondWithResult(_0x3aae2f,null))[_0x24ee('0x39')](handleError(_0x3aae2f,null));};exports[_0x24ee('0x3d')]=function(_0x553b9a,_0xa4ad6c){return db[_0x24ee('0x25')]['create'](_0x553b9a['body'],{})['then'](respondWithResult(_0xa4ad6c,0xc9))[_0x24ee('0x39')](handleError(_0xa4ad6c,null));};exports[_0x24ee('0x1e')]=function(_0xf51da9,_0x1f3d28){if(_0xf51da9['body']['id']){delete _0xf51da9[_0x24ee('0x3e')]['id'];}return db['VoiceDialReport']['find']({'where':{'id':_0xf51da9[_0x24ee('0x3f')]['id']}})['then'](handleEntityNotFound(_0x1f3d28,null))[_0x24ee('0x1f')](saveUpdates(_0xf51da9['body'],null))[_0x24ee('0x1f')](respondWithResult(_0x1f3d28,null))[_0x24ee('0x39')](handleError(_0x1f3d28,null));};exports['destroy']=function(_0x3191e2,_0x3abb1a){return db['VoiceDialReport']['find']({'where':{'id':_0x3191e2['params']['id']}})['then'](handleEntityNotFound(_0x3abb1a,null))[_0x24ee('0x1f')](removeEntity(_0x3abb1a,null))[_0x24ee('0x39')](handleError(_0x3abb1a,null));};exports[_0x24ee('0x40')]=function(_0x1b19c1,_0x35d728){return db[_0x24ee('0x25')][_0x24ee('0x40')]()[_0x24ee('0x1f')](respondWithResult(_0x35d728,null))[_0x24ee('0x39')](handleError(_0x35d728,null));};