Built motion from commit ba71417a.|2.6.28
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0xce11=['end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','stack','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','findAll','rows','catch','params','includeAll','options','find','create','body','bulkCreate','bulkDestroy','ids','addFields','findOne','CustomReportId','eml-format','rimraf','zip-dir','moment','bluebird','mustache','path','sox','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x30e004,_0x46f8c2){var _0x5ca247=function(_0x20d80f){while(--_0x20d80f){_0x30e004['push'](_0x30e004['shift']());}};_0x5ca247(++_0x46f8c2);}(_0xce11,0x118));var _0x1ce1=function(_0x5c089c,_0x445b8b){_0x5c089c=_0x5c089c-0x0;var _0x525104=_0xce11[_0x5c089c];return _0x525104;};'use strict';var emlformat=require(_0x1ce1('0x0'));var rimraf=require(_0x1ce1('0x1'));var zipdir=require(_0x1ce1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1ce1('0x3'));var BPromise=require(_0x1ce1('0x4'));var Mustache=require(_0x1ce1('0x5'));var util=require('util');var path=require(_0x1ce1('0x6'));var sox=require(_0x1ce1('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1ce1('0x8'));var _=require(_0x1ce1('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1ce1('0xa'));var deskjs=require(_0x1ce1('0xb'));var toCsv=require('to-csv');var querystring=require(_0x1ce1('0xc'));var Papa=require(_0x1ce1('0xd'));var Redis=require(_0x1ce1('0xe'));var authService=require(_0x1ce1('0xf'));var qs=require(_0x1ce1('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x1ce1('0x11'))(_0x1ce1('0x12'));var utils=require(_0x1ce1('0x13'));var config=require(_0x1ce1('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x1ce1('0x15'))['db'];function respondWithStatusCode(_0x11e376,_0x2ff8af){_0x2ff8af=_0x2ff8af||0xcc;return function(_0x2e26c1){if(_0x2e26c1){return _0x11e376[_0x1ce1('0x16')](_0x2ff8af);}return _0x11e376[_0x1ce1('0x17')](_0x2ff8af)[_0x1ce1('0x18')]();};}function respondWithResult(_0x13ad2f,_0x4a6a96){_0x4a6a96=_0x4a6a96||0xc8;return function(_0x37559f){if(_0x37559f){return _0x13ad2f[_0x1ce1('0x17')](_0x4a6a96)[_0x1ce1('0x19')](_0x37559f);}};}function respondWithFilteredResult(_0x320430,_0x4638fc){return function(_0x3740bf){if(_0x3740bf){var _0x506929=typeof _0x4638fc['offset']==='undefined'&&typeof _0x4638fc[_0x1ce1('0x1a')]===_0x1ce1('0x1b');var _0x9e3b76=_0x3740bf[_0x1ce1('0x1c')];var _0x49bb6c=_0x506929?0x0:_0x4638fc[_0x1ce1('0x1d')];var _0x1aa13c=_0x506929?_0x3740bf[_0x1ce1('0x1c')]:_0x4638fc[_0x1ce1('0x1d')]+_0x4638fc['limit'];var _0x1f31cd;if(_0x1aa13c>=_0x9e3b76){_0x1aa13c=_0x9e3b76;_0x1f31cd=0xc8;}else{_0x1f31cd=0xce;}_0x320430[_0x1ce1('0x17')](_0x1f31cd);return _0x320430[_0x1ce1('0x1e')](_0x1ce1('0x1f'),_0x49bb6c+'-'+_0x1aa13c+'/'+_0x9e3b76)[_0x1ce1('0x19')](_0x3740bf);}return null;};}function patchUpdates(_0x3320db){return function(_0x5a8d45){try{jsonpatch[_0x1ce1('0x20')](_0x5a8d45,_0x3320db,!![]);}catch(_0x38f5d2){return BPromise[_0x1ce1('0x21')](_0x38f5d2);}return _0x5a8d45[_0x1ce1('0x22')]();};}function saveUpdates(_0x246841,_0x29c362){return function(_0x5c83ed){if(_0x5c83ed){return _0x5c83ed[_0x1ce1('0x23')](_0x246841)['then'](function(_0x598c5b){return _0x598c5b;});}return null;};}function removeEntity(_0x120893,_0xf45fb6){return function(_0x68602a){if(_0x68602a){return _0x68602a[_0x1ce1('0x24')]()[_0x1ce1('0x25')](function(){_0x120893[_0x1ce1('0x17')](0xcc)[_0x1ce1('0x18')]();});}};}function handleEntityNotFound(_0x3788d1,_0x2035f5){return function(_0x5fc8d6){if(!_0x5fc8d6){_0x3788d1[_0x1ce1('0x16')](0x194);}return _0x5fc8d6;};}function handleError(_0x30cf21,_0x471164){_0x471164=_0x471164||0x1f4;return function(_0x194392){logger['error'](_0x194392[_0x1ce1('0x26')]);if(_0x194392[_0x1ce1('0x27')]){delete _0x194392['name'];}_0x30cf21[_0x1ce1('0x17')](_0x471164)[_0x1ce1('0x28')](_0x194392);};}exports[_0x1ce1('0x29')]=function(_0x55575b,_0x51dc17){var _0x4411a5={},_0xad974f={},_0x56e950={'count':0x0,'rows':[]};var _0x5cbdbb=_['map'](db[_0x1ce1('0x2a')][_0x1ce1('0x2b')],function(_0x5b14e2){return{'name':_0x5b14e2[_0x1ce1('0x2c')],'type':_0x5b14e2[_0x1ce1('0x2d')][_0x1ce1('0x2e')]};});_0xad974f[_0x1ce1('0x2f')]=_[_0x1ce1('0x30')](_0x5cbdbb,_0x1ce1('0x27'));_0xad974f[_0x1ce1('0x31')]=_[_0x1ce1('0x32')](_0x55575b[_0x1ce1('0x31')]);_0xad974f[_0x1ce1('0x33')]=_[_0x1ce1('0x34')](_0xad974f[_0x1ce1('0x2f')],_0xad974f[_0x1ce1('0x31')]);_0x4411a5[_0x1ce1('0x35')]=_[_0x1ce1('0x34')](_0xad974f[_0x1ce1('0x2f')],qs['fields'](_0x55575b[_0x1ce1('0x31')][_0x1ce1('0x36')]));_0x4411a5[_0x1ce1('0x35')]=_0x4411a5[_0x1ce1('0x35')][_0x1ce1('0x37')]?_0x4411a5[_0x1ce1('0x35')]:_0xad974f[_0x1ce1('0x2f')];if(!_0x55575b[_0x1ce1('0x31')][_0x1ce1('0x38')]('nolimit')){_0x4411a5['limit']=qs[_0x1ce1('0x1a')](_0x55575b['query'][_0x1ce1('0x1a')]);_0x4411a5['offset']=qs[_0x1ce1('0x1d')](_0x55575b['query']['offset']);}_0x4411a5['order']=qs[_0x1ce1('0x39')](_0x55575b[_0x1ce1('0x31')]['sort']);_0x4411a5[_0x1ce1('0x3a')]=qs[_0x1ce1('0x33')](_['pick'](_0x55575b['query'],_0xad974f['filters']),_0x5cbdbb);if(_0x55575b[_0x1ce1('0x31')][_0x1ce1('0x3b')]){_0x4411a5[_0x1ce1('0x3a')]=_[_0x1ce1('0x3c')](_0x4411a5[_0x1ce1('0x3a')],{'$or':_[_0x1ce1('0x30')](_0x5cbdbb,function(_0x41f64e){if(_0x41f64e[_0x1ce1('0x2d')]!=='VIRTUAL'){var _0x5e3c07={};_0x5e3c07[_0x41f64e[_0x1ce1('0x27')]]={'$like':'%'+_0x55575b[_0x1ce1('0x31')][_0x1ce1('0x3b')]+'%'};return _0x5e3c07;}})});}_0x4411a5=_[_0x1ce1('0x3c')]({},_0x4411a5,_0x55575b['options']);var _0x3617b5={'where':_0x4411a5[_0x1ce1('0x3a')]};return db[_0x1ce1('0x2a')][_0x1ce1('0x1c')](_0x3617b5)[_0x1ce1('0x25')](function(_0x2d91e3){_0x56e950[_0x1ce1('0x1c')]=_0x2d91e3;if(_0x55575b['query']['includeAll']){_0x4411a5['include']=[{'all':!![]}];}return db[_0x1ce1('0x2a')][_0x1ce1('0x3d')](_0x4411a5);})['then'](function(_0x374b8e){_0x56e950[_0x1ce1('0x3e')]=_0x374b8e;return _0x56e950;})[_0x1ce1('0x25')](respondWithFilteredResult(_0x51dc17,_0x4411a5))[_0x1ce1('0x3f')](handleError(_0x51dc17,null));};exports['show']=function(_0x3577d1,_0x12dbe2){var _0x58c3b6={'raw':![],'where':{'id':_0x3577d1[_0x1ce1('0x40')]['id']}},_0x569039={};_0x569039[_0x1ce1('0x2f')]=_[_0x1ce1('0x32')](db[_0x1ce1('0x2a')]['rawAttributes']);_0x569039[_0x1ce1('0x31')]=_['keys'](_0x3577d1[_0x1ce1('0x31')]);_0x569039[_0x1ce1('0x33')]=_[_0x1ce1('0x34')](_0x569039['model'],_0x569039[_0x1ce1('0x31')]);_0x58c3b6[_0x1ce1('0x35')]=_[_0x1ce1('0x34')](_0x569039[_0x1ce1('0x2f')],qs[_0x1ce1('0x36')](_0x3577d1[_0x1ce1('0x31')][_0x1ce1('0x36')]));_0x58c3b6[_0x1ce1('0x35')]=_0x58c3b6['attributes'][_0x1ce1('0x37')]?_0x58c3b6[_0x1ce1('0x35')]:_0x569039[_0x1ce1('0x2f')];if(_0x3577d1[_0x1ce1('0x31')][_0x1ce1('0x41')]){_0x58c3b6['include']=[{'all':!![]}];}_0x58c3b6=_[_0x1ce1('0x3c')]({},_0x58c3b6,_0x3577d1[_0x1ce1('0x42')]);return db['AnalyticFieldReport'][_0x1ce1('0x43')](_0x58c3b6)[_0x1ce1('0x25')](handleEntityNotFound(_0x12dbe2,null))['then'](respondWithResult(_0x12dbe2,null))[_0x1ce1('0x3f')](handleError(_0x12dbe2,null));};exports[_0x1ce1('0x44')]=function(_0x447585,_0x30d5e9){return db[_0x1ce1('0x2a')][_0x1ce1('0x44')](_0x447585[_0x1ce1('0x45')],{})[_0x1ce1('0x25')](respondWithResult(_0x30d5e9,0xc9))[_0x1ce1('0x3f')](handleError(_0x30d5e9,null));};exports[_0x1ce1('0x46')]=function(_0xa3f335,_0x5c7cf3){return db[_0x1ce1('0x2a')][_0x1ce1('0x46')](_0xa3f335[_0x1ce1('0x45')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x5c7cf3,0xc9))[_0x1ce1('0x3f')](handleError(_0x5c7cf3,null));};exports[_0x1ce1('0x23')]=function(_0x40d384,_0x387670){if(_0x40d384['body']['id']){delete _0x40d384['body']['id'];}return db[_0x1ce1('0x2a')][_0x1ce1('0x43')]({'where':{'id':_0x40d384[_0x1ce1('0x40')]['id']}})['then'](handleEntityNotFound(_0x387670,null))['then'](saveUpdates(_0x40d384[_0x1ce1('0x45')],null))[_0x1ce1('0x25')](respondWithResult(_0x387670,null))['catch'](handleError(_0x387670,null));};exports[_0x1ce1('0x24')]=function(_0x56568b,_0x1c89f9){return db['AnalyticFieldReport'][_0x1ce1('0x43')]({'where':{'id':_0x56568b[_0x1ce1('0x40')]['id']}})[_0x1ce1('0x25')](handleEntityNotFound(_0x1c89f9,null))[_0x1ce1('0x25')](removeEntity(_0x1c89f9,null))[_0x1ce1('0x3f')](handleError(_0x1c89f9,null));};exports[_0x1ce1('0x47')]=function(_0x2012e9,_0x53c1ff){return db[_0x1ce1('0x2a')]['destroy']({'where':{'id':_0x2012e9[_0x1ce1('0x31')][_0x1ce1('0x48')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x53c1ff,0xcc))[_0x1ce1('0x3f')](handleError(_0x53c1ff,null));};exports[_0x1ce1('0x49')]=function(_0x4a1f2e,_0x3b2450,_0x36d528){return db['AnalyticCustomReport'][_0x1ce1('0x4a')]({'where':{'id':_0x4a1f2e[_0x1ce1('0x40')]['id']}})['then'](handleEntityNotFound(_0x3b2450,null))['then'](function(_0x3b759f){if(_0x3b759f){return db['sequelize']['transaction'](function(_0x44351c){return db[_0x1ce1('0x2a')]['destroy']({'where':{'CustomReportId':_0x4a1f2e['params']['id']},'transaction':_0x44351c})[_0x1ce1('0x25')](function(_0xd1cfb2){var _0x2fd0ec=_['map'](_0x4a1f2e[_0x1ce1('0x45')],function(_0x3f254c){delete _0x3f254c['id'];_0x3f254c[_0x1ce1('0x4b')]=_0x4a1f2e['params']['id'];return _0x3f254c;});return db[_0x1ce1('0x2a')][_0x1ce1('0x46')](_0x2fd0ec,{'transaction':_0x44351c});});})[_0x1ce1('0x25')](function(){return db[_0x1ce1('0x2a')][_0x1ce1('0x3d')]({'where':{'CustomReportId':_0x4a1f2e[_0x1ce1('0x40')]['id']}});});}})[_0x1ce1('0x25')](respondWithResult(_0x3b2450,null))[_0x1ce1('0x3f')](handleError(_0x3b2450,null));};