f01022163c760a6b9a3619406b41eea5a7352ae1
[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 _0x7855=['crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','status','json','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','limit','offset','order','sort','where','filter','merge','options','VoiceDialReport','include','findAll','catch','show','find','create','body','params','describe','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','lodash','squel'];(function(_0x41aa97,_0x10a3c5){var _0x531016=function(_0x39bbfd){while(--_0x39bbfd){_0x41aa97['push'](_0x41aa97['shift']());}};_0x531016(++_0x10a3c5);}(_0x7855,0xfd));var _0x5785=function(_0x124bc6,_0x5ec37c){_0x124bc6=_0x124bc6-0x0;var _0x19fb80=_0x7855[_0x124bc6];return _0x19fb80;};'use strict';var pdf=require(_0x5785('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x5785('0x1'));var zipdir=require(_0x5785('0x2'));var jsonpatch=require(_0x5785('0x3'));var rp=require(_0x5785('0x4'));var moment=require(_0x5785('0x5'));var BPromise=require(_0x5785('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x5785('0x7'));var csv=require(_0x5785('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x5785('0x9'));var squel=require(_0x5785('0xa'));var crypto=require(_0x5785('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x5785('0x8'));var querystring=require(_0x5785('0xc'));var Papa=require(_0x5785('0xd'));var Redis=require(_0x5785('0xe'));var authService=require(_0x5785('0xf'));var qs=require(_0x5785('0x10'));var as=require(_0x5785('0x11'));var hardwareService=require(_0x5785('0x12'));var logger=require(_0x5785('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x5785('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x27e768,_0x8a9034){_0x8a9034=_0x8a9034||0xcc;return function(_0x20f9bc){if(_0x20f9bc){return _0x27e768['sendStatus'](_0x8a9034);}return _0x27e768['status'](_0x8a9034)['end']();};}function respondWithResult(_0x35cf49,_0x208769){_0x208769=_0x208769||0xc8;return function(_0x3fac4a){if(_0x3fac4a){return _0x35cf49[_0x5785('0x15')](_0x208769)[_0x5785('0x16')](_0x3fac4a);}};}function respondWithFilteredResult(_0x485508,_0xb7601c){return function(_0x2eacc7){if(_0x2eacc7){var _0x3166e0=_0x2eacc7[_0x5785('0x17')],_0x3949d4=_0xb7601c['offset'],_0x3364f5=_0xb7601c['offset']+_0xb7601c['limit'],_0x5ea1bb;if(_0x3364f5>=_0x3166e0){_0x3364f5=_0x3166e0;_0x5ea1bb=0xc8;}else{_0x5ea1bb=0xce;}_0x485508[_0x5785('0x15')](_0x5ea1bb);return _0x485508['set'](_0x5785('0x18'),_0x3949d4+'-'+_0x3364f5+'/'+_0x3166e0)[_0x5785('0x16')](_0x2eacc7);}return null;};}function patchUpdates(_0x2a78de){return function(_0xf1cf02){try{jsonpatch[_0x5785('0x19')](_0xf1cf02,_0x2a78de,!![]);}catch(_0x344177){return BPromise[_0x5785('0x1a')](_0x344177);}return _0xf1cf02[_0x5785('0x1b')]();};}function saveUpdates(_0x5cfc8f,_0x347d3e){return function(_0x3d4a33){if(_0x3d4a33){return _0x3d4a33[_0x5785('0x1c')](_0x5cfc8f)[_0x5785('0x1d')](function(_0x38d6a9){return _0x38d6a9;});}return null;};}function removeEntity(_0x3f0bc1,_0xda7116){return function(_0x2a526a){if(_0x2a526a){return _0x2a526a[_0x5785('0x1e')]()[_0x5785('0x1d')](function(){_0x3f0bc1[_0x5785('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x20abbd,_0x186616){return function(_0x104169){if(!_0x104169){_0x20abbd[_0x5785('0x1f')](0x194);}return _0x104169;};}function handleError(_0x2e160f,_0x3486df){_0x3486df=_0x3486df||0x1f4;return function(_0x1674e3){logger['error'](_0x1674e3[_0x5785('0x20')]);if(_0x1674e3[_0x5785('0x21')]){delete _0x1674e3['name'];}_0x2e160f['status'](_0x3486df)[_0x5785('0x22')](_0x1674e3);};}exports['index']=function(_0x562810,_0xc6beba){var _0x1877ab={},_0x8042ab={},_0x62fbcd={'count':0x0,'rows':[]};var _0x204820=_[_0x5785('0x23')](db['VoiceDialReport'][_0x5785('0x24')],function(_0x3cc6c8){return{'name':_0x3cc6c8[_0x5785('0x25')],'type':_0x3cc6c8['type'][_0x5785('0x26')]};});_0x8042ab[_0x5785('0x27')]=_[_0x5785('0x23')](_0x204820,_0x5785('0x21'));_0x8042ab[_0x5785('0x28')]=_[_0x5785('0x29')](_0x562810['query']);_0x8042ab[_0x5785('0x2a')]=_['intersection'](_0x8042ab[_0x5785('0x27')],_0x8042ab[_0x5785('0x28')]);_0x1877ab['attributes']=_[_0x5785('0x2b')](_0x8042ab[_0x5785('0x27')],qs[_0x5785('0x2c')](_0x562810[_0x5785('0x28')][_0x5785('0x2c')]));_0x1877ab['attributes']=_0x1877ab[_0x5785('0x2d')][_0x5785('0x2e')]?_0x1877ab[_0x5785('0x2d')]:_0x8042ab[_0x5785('0x27')];if(!_0x562810['query'][_0x5785('0x2f')]('nolimit')){_0x1877ab[_0x5785('0x30')]=qs[_0x5785('0x30')](_0x562810[_0x5785('0x28')][_0x5785('0x30')]);_0x1877ab[_0x5785('0x31')]=qs[_0x5785('0x31')](_0x562810[_0x5785('0x28')][_0x5785('0x31')]);}_0x1877ab[_0x5785('0x32')]=qs[_0x5785('0x33')](_0x562810[_0x5785('0x28')]['sort']);_0x1877ab[_0x5785('0x34')]=qs[_0x5785('0x2a')](_['pick'](_0x562810[_0x5785('0x28')],_0x8042ab['filters']),_0x204820);if(_0x562810[_0x5785('0x28')]['filter']){_0x1877ab['where']=_['merge'](_0x1877ab[_0x5785('0x34')],{'$or':_[_0x5785('0x23')](_0x204820,function(_0x36f0da){if(_0x36f0da['type']!=='VIRTUAL'){var _0x20c4d6={};_0x20c4d6[_0x36f0da[_0x5785('0x21')]]={'$like':'%'+_0x562810[_0x5785('0x28')][_0x5785('0x35')]+'%'};return _0x20c4d6;}})});}_0x1877ab=_[_0x5785('0x36')]({},_0x1877ab,_0x562810[_0x5785('0x37')]);var _0x3c18d4={'where':_0x1877ab[_0x5785('0x34')]};return db[_0x5785('0x38')][_0x5785('0x17')](_0x3c18d4)[_0x5785('0x1d')](function(_0x390f05){_0x62fbcd[_0x5785('0x17')]=_0x390f05;if(_0x562810['query']['includeAll']){_0x1877ab[_0x5785('0x39')]=[{'all':!![]}];}return db[_0x5785('0x38')][_0x5785('0x3a')](_0x1877ab);})[_0x5785('0x1d')](function(_0x52a65d){_0x62fbcd['rows']=_0x52a65d;return _0x62fbcd;})[_0x5785('0x1d')](respondWithFilteredResult(_0xc6beba,_0x1877ab))[_0x5785('0x3b')](handleError(_0xc6beba,null));};exports[_0x5785('0x3c')]=function(_0x1baa40,_0xfcb8ad){var _0x1586d6={'raw':!![],'where':{'id':_0x1baa40['params']['id']}},_0x36bbc6={};_0x36bbc6['model']=_['keys'](db[_0x5785('0x38')][_0x5785('0x24')]);_0x36bbc6[_0x5785('0x28')]=_[_0x5785('0x29')](_0x1baa40[_0x5785('0x28')]);_0x36bbc6[_0x5785('0x2a')]=_[_0x5785('0x2b')](_0x36bbc6[_0x5785('0x27')],_0x36bbc6[_0x5785('0x28')]);_0x1586d6[_0x5785('0x2d')]=_[_0x5785('0x2b')](_0x36bbc6[_0x5785('0x27')],qs['fields'](_0x1baa40[_0x5785('0x28')][_0x5785('0x2c')]));_0x1586d6[_0x5785('0x2d')]=_0x1586d6['attributes']['length']?_0x1586d6[_0x5785('0x2d')]:_0x36bbc6[_0x5785('0x27')];if(_0x1baa40[_0x5785('0x28')]['includeAll']){_0x1586d6[_0x5785('0x39')]=[{'all':!![]}];}_0x1586d6=_['merge']({},_0x1586d6,_0x1baa40[_0x5785('0x37')]);return db['VoiceDialReport'][_0x5785('0x3d')](_0x1586d6)[_0x5785('0x1d')](handleEntityNotFound(_0xfcb8ad,null))[_0x5785('0x1d')](respondWithResult(_0xfcb8ad,null))['catch'](handleError(_0xfcb8ad,null));};exports['create']=function(_0x46eb86,_0x32d751){return db['VoiceDialReport'][_0x5785('0x3e')](_0x46eb86['body'],{})[_0x5785('0x1d')](respondWithResult(_0x32d751,0xc9))[_0x5785('0x3b')](handleError(_0x32d751,null));};exports[_0x5785('0x1c')]=function(_0x25a0d7,_0x190d7d){if(_0x25a0d7[_0x5785('0x3f')]['id']){delete _0x25a0d7['body']['id'];}return db[_0x5785('0x38')]['find']({'where':{'id':_0x25a0d7[_0x5785('0x40')]['id']}})['then'](handleEntityNotFound(_0x190d7d,null))['then'](saveUpdates(_0x25a0d7['body'],null))['then'](respondWithResult(_0x190d7d,null))[_0x5785('0x3b')](handleError(_0x190d7d,null));};exports[_0x5785('0x1e')]=function(_0x4df347,_0x4fd9a3){return db[_0x5785('0x38')]['find']({'where':{'id':_0x4df347[_0x5785('0x40')]['id']}})[_0x5785('0x1d')](handleEntityNotFound(_0x4fd9a3,null))['then'](removeEntity(_0x4fd9a3,null))['catch'](handleError(_0x4fd9a3,null));};exports[_0x5785('0x41')]=function(_0x4172b0,_0x2bfca9){return db[_0x5785('0x38')]['describe']()[_0x5785('0x1d')](respondWithResult(_0x2bfca9,null))[_0x5785('0x3b')](handleError(_0x2bfca9,null));};