Built motion from commit 9d1906d1.|2.5.40
[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 _0x1d1e=['path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','send','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','name','query','filters','intersection','model','fields','attributes','length','nolimit','sort','pick','where','merge','filter','options','include','findAll','rows','catch','show','params','keys','includeAll','create','bulkCreate','body','find','bulkDestroy','ids','addFields','sequelize','transaction','CustomReportId','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util'];(function(_0xdd69a0,_0x417c58){var _0x3f7e06=function(_0x7a3f48){while(--_0x7a3f48){_0xdd69a0['push'](_0xdd69a0['shift']());}};_0x3f7e06(++_0x417c58);}(_0x1d1e,0x1e5));var _0xe1d1=function(_0x36bf88,_0x15c459){_0x36bf88=_0x36bf88-0x0;var _0x332914=_0x1d1e[_0x36bf88];return _0x332914;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe1d1('0x0'));var zipdir=require(_0xe1d1('0x1'));var jsonpatch=require(_0xe1d1('0x2'));var rp=require('request-promise');var moment=require(_0xe1d1('0x3'));var BPromise=require(_0xe1d1('0x4'));var Mustache=require(_0xe1d1('0x5'));var util=require(_0xe1d1('0x6'));var path=require(_0xe1d1('0x7'));var sox=require(_0xe1d1('0x8'));var csv=require(_0xe1d1('0x9'));var ejs=require(_0xe1d1('0xa'));var fs=require('fs');var fs_extra=require(_0xe1d1('0xb'));var _=require(_0xe1d1('0xc'));var squel=require(_0xe1d1('0xd'));var crypto=require(_0xe1d1('0xe'));var jsforce=require(_0xe1d1('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xe1d1('0x9'));var querystring=require('querystring');var Papa=require(_0xe1d1('0x10'));var Redis=require(_0xe1d1('0x11'));var authService=require(_0xe1d1('0x12'));var qs=require(_0xe1d1('0x13'));var as=require(_0xe1d1('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe1d1('0x15'))(_0xe1d1('0x16'));var utils=require(_0xe1d1('0x17'));var config=require(_0xe1d1('0x18'));var licenseUtil=require(_0xe1d1('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x35b5f9,_0x4dc350){_0x4dc350=_0x4dc350||0xcc;return function(_0xb0a9f8){if(_0xb0a9f8){return _0x35b5f9[_0xe1d1('0x1a')](_0x4dc350);}return _0x35b5f9[_0xe1d1('0x1b')](_0x4dc350)['end']();};}function respondWithResult(_0x3073aa,_0x255c3b){_0x255c3b=_0x255c3b||0xc8;return function(_0xf797a2){if(_0xf797a2){return _0x3073aa[_0xe1d1('0x1b')](_0x255c3b)[_0xe1d1('0x1c')](_0xf797a2);}};}function respondWithFilteredResult(_0x14aada,_0x22dfab){return function(_0xb6da15){if(_0xb6da15){var _0x57616d=typeof _0x22dfab[_0xe1d1('0x1d')]==='undefined'&&typeof _0x22dfab[_0xe1d1('0x1e')]==='undefined';var _0x3828d0=_0xb6da15[_0xe1d1('0x1f')];var _0x407a73=_0x57616d?0x0:_0x22dfab[_0xe1d1('0x1d')];var _0x43dae0=_0x57616d?_0xb6da15['count']:_0x22dfab['offset']+_0x22dfab[_0xe1d1('0x1e')];var _0x2e84c9;if(_0x43dae0>=_0x3828d0){_0x43dae0=_0x3828d0;_0x2e84c9=0xc8;}else{_0x2e84c9=0xce;}_0x14aada[_0xe1d1('0x1b')](_0x2e84c9);return _0x14aada['set'](_0xe1d1('0x20'),_0x407a73+'-'+_0x43dae0+'/'+_0x3828d0)[_0xe1d1('0x1c')](_0xb6da15);}return null;};}function patchUpdates(_0x571a3b){return function(_0x3b4a51){try{jsonpatch[_0xe1d1('0x21')](_0x3b4a51,_0x571a3b,!![]);}catch(_0x1e8200){return BPromise[_0xe1d1('0x22')](_0x1e8200);}return _0x3b4a51[_0xe1d1('0x23')]();};}function saveUpdates(_0x2352ce,_0x10b1d3){return function(_0x288852){if(_0x288852){return _0x288852[_0xe1d1('0x24')](_0x2352ce)[_0xe1d1('0x25')](function(_0x579750){return _0x579750;});}return null;};}function removeEntity(_0x4f627c,_0x18e623){return function(_0x42a0dd){if(_0x42a0dd){return _0x42a0dd[_0xe1d1('0x26')]()[_0xe1d1('0x25')](function(){_0x4f627c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x174fda,_0x26f609){return function(_0x1a50da){if(!_0x1a50da){_0x174fda[_0xe1d1('0x1a')](0x194);}return _0x1a50da;};}function handleError(_0x235011,_0x3d1041){_0x3d1041=_0x3d1041||0x1f4;return function(_0xea3d38){logger[_0xe1d1('0x27')](_0xea3d38[_0xe1d1('0x28')]);if(_0xea3d38['name']){delete _0xea3d38['name'];}_0x235011['status'](_0x3d1041)[_0xe1d1('0x29')](_0xea3d38);};}exports[_0xe1d1('0x2a')]=function(_0x8ca971,_0x4d5224){var _0x282e0d={},_0x300ebb={},_0x3315c9={'count':0x0,'rows':[]};var _0x36c8c2=_[_0xe1d1('0x2b')](db[_0xe1d1('0x2c')][_0xe1d1('0x2d')],function(_0x38b236){return{'name':_0x38b236[_0xe1d1('0x2e')],'type':_0x38b236[_0xe1d1('0x2f')][_0xe1d1('0x30')]};});_0x300ebb['model']=_['map'](_0x36c8c2,_0xe1d1('0x31'));_0x300ebb[_0xe1d1('0x32')]=_['keys'](_0x8ca971[_0xe1d1('0x32')]);_0x300ebb[_0xe1d1('0x33')]=_[_0xe1d1('0x34')](_0x300ebb[_0xe1d1('0x35')],_0x300ebb[_0xe1d1('0x32')]);_0x282e0d['attributes']=_['intersection'](_0x300ebb[_0xe1d1('0x35')],qs[_0xe1d1('0x36')](_0x8ca971['query'][_0xe1d1('0x36')]));_0x282e0d[_0xe1d1('0x37')]=_0x282e0d['attributes'][_0xe1d1('0x38')]?_0x282e0d['attributes']:_0x300ebb[_0xe1d1('0x35')];if(!_0x8ca971['query']['hasOwnProperty'](_0xe1d1('0x39'))){_0x282e0d[_0xe1d1('0x1e')]=qs[_0xe1d1('0x1e')](_0x8ca971[_0xe1d1('0x32')][_0xe1d1('0x1e')]);_0x282e0d[_0xe1d1('0x1d')]=qs[_0xe1d1('0x1d')](_0x8ca971['query'][_0xe1d1('0x1d')]);}_0x282e0d['order']=qs['sort'](_0x8ca971[_0xe1d1('0x32')][_0xe1d1('0x3a')]);_0x282e0d['where']=qs[_0xe1d1('0x33')](_[_0xe1d1('0x3b')](_0x8ca971['query'],_0x300ebb[_0xe1d1('0x33')]),_0x36c8c2);if(_0x8ca971[_0xe1d1('0x32')]['filter']){_0x282e0d[_0xe1d1('0x3c')]=_[_0xe1d1('0x3d')](_0x282e0d[_0xe1d1('0x3c')],{'$or':_['map'](_0x36c8c2,function(_0x7bf13){if(_0x7bf13[_0xe1d1('0x2f')]!=='VIRTUAL'){var _0x219c3c={};_0x219c3c[_0x7bf13[_0xe1d1('0x31')]]={'$like':'%'+_0x8ca971[_0xe1d1('0x32')][_0xe1d1('0x3e')]+'%'};return _0x219c3c;}})});}_0x282e0d=_[_0xe1d1('0x3d')]({},_0x282e0d,_0x8ca971[_0xe1d1('0x3f')]);var _0x2885b2={'where':_0x282e0d[_0xe1d1('0x3c')]};return db[_0xe1d1('0x2c')][_0xe1d1('0x1f')](_0x2885b2)[_0xe1d1('0x25')](function(_0xd78468){_0x3315c9[_0xe1d1('0x1f')]=_0xd78468;if(_0x8ca971[_0xe1d1('0x32')]['includeAll']){_0x282e0d[_0xe1d1('0x40')]=[{'all':!![]}];}return db[_0xe1d1('0x2c')][_0xe1d1('0x41')](_0x282e0d);})[_0xe1d1('0x25')](function(_0x2d3c21){_0x3315c9[_0xe1d1('0x42')]=_0x2d3c21;return _0x3315c9;})[_0xe1d1('0x25')](respondWithFilteredResult(_0x4d5224,_0x282e0d))[_0xe1d1('0x43')](handleError(_0x4d5224,null));};exports[_0xe1d1('0x44')]=function(_0x1a7dc6,_0x4dfa26){var _0x14841b={'raw':![],'where':{'id':_0x1a7dc6[_0xe1d1('0x45')]['id']}},_0x3bb2d6={};_0x3bb2d6[_0xe1d1('0x35')]=_[_0xe1d1('0x46')](db[_0xe1d1('0x2c')][_0xe1d1('0x2d')]);_0x3bb2d6['query']=_[_0xe1d1('0x46')](_0x1a7dc6[_0xe1d1('0x32')]);_0x3bb2d6[_0xe1d1('0x33')]=_['intersection'](_0x3bb2d6['model'],_0x3bb2d6[_0xe1d1('0x32')]);_0x14841b[_0xe1d1('0x37')]=_[_0xe1d1('0x34')](_0x3bb2d6[_0xe1d1('0x35')],qs[_0xe1d1('0x36')](_0x1a7dc6[_0xe1d1('0x32')][_0xe1d1('0x36')]));_0x14841b['attributes']=_0x14841b['attributes'][_0xe1d1('0x38')]?_0x14841b[_0xe1d1('0x37')]:_0x3bb2d6[_0xe1d1('0x35')];if(_0x1a7dc6['query'][_0xe1d1('0x47')]){_0x14841b[_0xe1d1('0x40')]=[{'all':!![]}];}_0x14841b=_[_0xe1d1('0x3d')]({},_0x14841b,_0x1a7dc6[_0xe1d1('0x3f')]);return db[_0xe1d1('0x2c')]['find'](_0x14841b)['then'](handleEntityNotFound(_0x4dfa26,null))[_0xe1d1('0x25')](respondWithResult(_0x4dfa26,null))[_0xe1d1('0x43')](handleError(_0x4dfa26,null));};exports[_0xe1d1('0x48')]=function(_0x542f7c,_0x25f291){return db['AnalyticFieldReport'][_0xe1d1('0x48')](_0x542f7c['body'],{})['then'](respondWithResult(_0x25f291,0xc9))[_0xe1d1('0x43')](handleError(_0x25f291,null));};exports[_0xe1d1('0x49')]=function(_0x4cfc3c,_0x175f3b){return db[_0xe1d1('0x2c')][_0xe1d1('0x49')](_0x4cfc3c['body'],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x175f3b,0xc9))['catch'](handleError(_0x175f3b,null));};exports[_0xe1d1('0x24')]=function(_0x21bdb1,_0xb05346){if(_0x21bdb1[_0xe1d1('0x4a')]['id']){delete _0x21bdb1[_0xe1d1('0x4a')]['id'];}return db['AnalyticFieldReport'][_0xe1d1('0x4b')]({'where':{'id':_0x21bdb1[_0xe1d1('0x45')]['id']}})[_0xe1d1('0x25')](handleEntityNotFound(_0xb05346,null))[_0xe1d1('0x25')](saveUpdates(_0x21bdb1['body'],null))['then'](respondWithResult(_0xb05346,null))[_0xe1d1('0x43')](handleError(_0xb05346,null));};exports[_0xe1d1('0x26')]=function(_0x72ae8f,_0xa439ec){return db[_0xe1d1('0x2c')]['find']({'where':{'id':_0x72ae8f[_0xe1d1('0x45')]['id']}})[_0xe1d1('0x25')](handleEntityNotFound(_0xa439ec,null))[_0xe1d1('0x25')](removeEntity(_0xa439ec,null))[_0xe1d1('0x43')](handleError(_0xa439ec,null));};exports[_0xe1d1('0x4c')]=function(_0x2974c7,_0x35af61){return db[_0xe1d1('0x2c')][_0xe1d1('0x26')]({'where':{'id':_0x2974c7['query'][_0xe1d1('0x4d')]||[]},'raw':![],'individualHooks':!![]})[_0xe1d1('0x25')](respondWithResult(_0x35af61,0xcc))[_0xe1d1('0x43')](handleError(_0x35af61,null));};exports[_0xe1d1('0x4e')]=function(_0xde9aaf,_0x6ea39a,_0x100192){return db['AnalyticCustomReport']['findOne']({'where':{'id':_0xde9aaf[_0xe1d1('0x45')]['id']}})[_0xe1d1('0x25')](handleEntityNotFound(_0x6ea39a,null))['then'](function(_0x36d319){if(_0x36d319){return db[_0xe1d1('0x4f')][_0xe1d1('0x50')](function(_0x253230){return db[_0xe1d1('0x2c')][_0xe1d1('0x26')]({'where':{'CustomReportId':_0xde9aaf['params']['id']},'transaction':_0x253230})[_0xe1d1('0x25')](function(_0x37579a){var _0x3b62df=_[_0xe1d1('0x2b')](_0xde9aaf[_0xe1d1('0x4a')],function(_0x5c7343){delete _0x5c7343['id'];_0x5c7343[_0xe1d1('0x51')]=_0xde9aaf[_0xe1d1('0x45')]['id'];return _0x5c7343;});return db[_0xe1d1('0x2c')][_0xe1d1('0x49')](_0x3b62df,{'transaction':_0x253230});});})[_0xe1d1('0x25')](function(){return db[_0xe1d1('0x2c')][_0xe1d1('0x41')]({'where':{'CustomReportId':_0xde9aaf[_0xe1d1('0x45')]['id']}});});}})[_0xe1d1('0x25')](respondWithResult(_0x6ea39a,null))[_0xe1d1('0x43')](handleError(_0x6ea39a,null));};