Built motion from commit (unavailable).|2.5.22
[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 _0x2034=['sendStatus','status','end','json','count','offset','set','reject','save','update','then','error','stack','name','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','show','params','find','catch','create','bulkCreate','body','destroy','bulkDestroy','addFields','findOne','sequelize','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb'];(function(_0x512891,_0x46005a){var _0x1c190c=function(_0x42b95b){while(--_0x42b95b){_0x512891['push'](_0x512891['shift']());}};_0x1c190c(++_0x46005a);}(_0x2034,0x123));var _0x4203=function(_0x50d39b,_0x4223c0){_0x50d39b=_0x50d39b-0x0;var _0x1116ff=_0x2034[_0x50d39b];return _0x1116ff;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4203('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4203('0x1'));var jsonpatch=require(_0x4203('0x2'));var rp=require(_0x4203('0x3'));var moment=require(_0x4203('0x4'));var BPromise=require(_0x4203('0x5'));var Mustache=require(_0x4203('0x6'));var util=require(_0x4203('0x7'));var path=require(_0x4203('0x8'));var sox=require('sox');var csv=require(_0x4203('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x4203('0xa'));var squel=require('squel');var crypto=require(_0x4203('0xb'));var jsforce=require(_0x4203('0xc'));var deskjs=require(_0x4203('0xd'));var toCsv=require(_0x4203('0x9'));var querystring=require(_0x4203('0xe'));var Papa=require(_0x4203('0xf'));var Redis=require(_0x4203('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x4203('0x11'));var as=require(_0x4203('0x12'));var hardwareService=require(_0x4203('0x13'));var logger=require(_0x4203('0x14'))(_0x4203('0x15'));var utils=require(_0x4203('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x4203('0x17'));var db=require(_0x4203('0x18'))['db'];function respondWithStatusCode(_0x148e7a,_0x3e0c31){_0x3e0c31=_0x3e0c31||0xcc;return function(_0x59757b){if(_0x59757b){return _0x148e7a[_0x4203('0x19')](_0x3e0c31);}return _0x148e7a[_0x4203('0x1a')](_0x3e0c31)[_0x4203('0x1b')]();};}function respondWithResult(_0x26870f,_0x27e800){_0x27e800=_0x27e800||0xc8;return function(_0x27e6f9){if(_0x27e6f9){return _0x26870f[_0x4203('0x1a')](_0x27e800)[_0x4203('0x1c')](_0x27e6f9);}};}function respondWithFilteredResult(_0x35bcb0,_0x554fb3){return function(_0x12bf85){if(_0x12bf85){var _0x5522c8=_0x12bf85[_0x4203('0x1d')],_0x32ce70=_0x554fb3['offset'],_0xd4a021=_0x554fb3[_0x4203('0x1e')]+_0x554fb3['limit'],_0x546af3;if(_0xd4a021>=_0x5522c8){_0xd4a021=_0x5522c8;_0x546af3=0xc8;}else{_0x546af3=0xce;}_0x35bcb0[_0x4203('0x1a')](_0x546af3);return _0x35bcb0[_0x4203('0x1f')]('Content-Range',_0x32ce70+'-'+_0xd4a021+'/'+_0x5522c8)['json'](_0x12bf85);}return null;};}function patchUpdates(_0xcc8449){return function(_0x1ad624){try{jsonpatch['apply'](_0x1ad624,_0xcc8449,!![]);}catch(_0x48b444){return BPromise[_0x4203('0x20')](_0x48b444);}return _0x1ad624[_0x4203('0x21')]();};}function saveUpdates(_0x5c07df,_0x22a54e){return function(_0x1c1859){if(_0x1c1859){return _0x1c1859[_0x4203('0x22')](_0x5c07df)[_0x4203('0x23')](function(_0x12913b){return _0x12913b;});}return null;};}function removeEntity(_0x379768,_0x2e0395){return function(_0x24ce4d){if(_0x24ce4d){return _0x24ce4d['destroy']()['then'](function(){_0x379768[_0x4203('0x1a')](0xcc)[_0x4203('0x1b')]();});}};}function handleEntityNotFound(_0x2695ca,_0x4de138){return function(_0x27983d){if(!_0x27983d){_0x2695ca[_0x4203('0x19')](0x194);}return _0x27983d;};}function handleError(_0x58081f,_0x5db3de){_0x5db3de=_0x5db3de||0x1f4;return function(_0x52a016){logger[_0x4203('0x24')](_0x52a016[_0x4203('0x25')]);if(_0x52a016[_0x4203('0x26')]){delete _0x52a016[_0x4203('0x26')];}_0x58081f['status'](_0x5db3de)['send'](_0x52a016);};}exports['index']=function(_0x191425,_0x2d08f5){var _0x5422c4={},_0x2f72ed={},_0x34a276={'count':0x0,'rows':[]};var _0x1c2881=_['map'](db[_0x4203('0x27')][_0x4203('0x28')],function(_0x4cf68d){return{'name':_0x4cf68d[_0x4203('0x29')],'type':_0x4cf68d[_0x4203('0x2a')][_0x4203('0x2b')]};});_0x2f72ed[_0x4203('0x2c')]=_[_0x4203('0x2d')](_0x1c2881,_0x4203('0x26'));_0x2f72ed[_0x4203('0x2e')]=_[_0x4203('0x2f')](_0x191425[_0x4203('0x2e')]);_0x2f72ed[_0x4203('0x30')]=_['intersection'](_0x2f72ed[_0x4203('0x2c')],_0x2f72ed['query']);_0x5422c4[_0x4203('0x31')]=_[_0x4203('0x32')](_0x2f72ed['model'],qs[_0x4203('0x33')](_0x191425[_0x4203('0x2e')]['fields']));_0x5422c4[_0x4203('0x31')]=_0x5422c4[_0x4203('0x31')][_0x4203('0x34')]?_0x5422c4[_0x4203('0x31')]:_0x2f72ed[_0x4203('0x2c')];if(!_0x191425[_0x4203('0x2e')][_0x4203('0x35')](_0x4203('0x36'))){_0x5422c4[_0x4203('0x37')]=qs[_0x4203('0x37')](_0x191425[_0x4203('0x2e')][_0x4203('0x37')]);_0x5422c4['offset']=qs[_0x4203('0x1e')](_0x191425[_0x4203('0x2e')][_0x4203('0x1e')]);}_0x5422c4[_0x4203('0x38')]=qs[_0x4203('0x39')](_0x191425[_0x4203('0x2e')][_0x4203('0x39')]);_0x5422c4['where']=qs[_0x4203('0x30')](_[_0x4203('0x3a')](_0x191425['query'],_0x2f72ed[_0x4203('0x30')]),_0x1c2881);if(_0x191425[_0x4203('0x2e')][_0x4203('0x3b')]){_0x5422c4[_0x4203('0x3c')]=_[_0x4203('0x3d')](_0x5422c4['where'],{'$or':_[_0x4203('0x2d')](_0x1c2881,function(_0x3810b1){if(_0x3810b1[_0x4203('0x2a')]!==_0x4203('0x3e')){var _0x4e7d7c={};_0x4e7d7c[_0x3810b1[_0x4203('0x26')]]={'$like':'%'+_0x191425[_0x4203('0x2e')][_0x4203('0x3b')]+'%'};return _0x4e7d7c;}})});}_0x5422c4=_[_0x4203('0x3d')]({},_0x5422c4,_0x191425['options']);var _0x2db186={'where':_0x5422c4[_0x4203('0x3c')]};return db[_0x4203('0x27')][_0x4203('0x1d')](_0x2db186)[_0x4203('0x23')](function(_0x272c8f){_0x34a276[_0x4203('0x1d')]=_0x272c8f;if(_0x191425[_0x4203('0x2e')][_0x4203('0x3f')]){_0x5422c4[_0x4203('0x40')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x4203('0x41')](_0x5422c4);})[_0x4203('0x23')](function(_0x4878ee){_0x34a276['rows']=_0x4878ee;return _0x34a276;})['then'](respondWithFilteredResult(_0x2d08f5,_0x5422c4))['catch'](handleError(_0x2d08f5,null));};exports[_0x4203('0x42')]=function(_0x147fdf,_0x2a6d9d){var _0x546073={'raw':![],'where':{'id':_0x147fdf[_0x4203('0x43')]['id']}},_0xc22245={};_0xc22245[_0x4203('0x2c')]=_['keys'](db[_0x4203('0x27')][_0x4203('0x28')]);_0xc22245['query']=_[_0x4203('0x2f')](_0x147fdf[_0x4203('0x2e')]);_0xc22245['filters']=_['intersection'](_0xc22245[_0x4203('0x2c')],_0xc22245[_0x4203('0x2e')]);_0x546073[_0x4203('0x31')]=_[_0x4203('0x32')](_0xc22245[_0x4203('0x2c')],qs['fields'](_0x147fdf['query']['fields']));_0x546073[_0x4203('0x31')]=_0x546073[_0x4203('0x31')]['length']?_0x546073[_0x4203('0x31')]:_0xc22245[_0x4203('0x2c')];if(_0x147fdf[_0x4203('0x2e')][_0x4203('0x3f')]){_0x546073['include']=[{'all':!![]}];}_0x546073=_[_0x4203('0x3d')]({},_0x546073,_0x147fdf['options']);return db['AnalyticFieldReport'][_0x4203('0x44')](_0x546073)[_0x4203('0x23')](handleEntityNotFound(_0x2a6d9d,null))[_0x4203('0x23')](respondWithResult(_0x2a6d9d,null))[_0x4203('0x45')](handleError(_0x2a6d9d,null));};exports[_0x4203('0x46')]=function(_0x289417,_0x53297f){return db[_0x4203('0x27')]['create'](_0x289417['body'],{})['then'](respondWithResult(_0x53297f,0xc9))[_0x4203('0x45')](handleError(_0x53297f,null));};exports[_0x4203('0x47')]=function(_0x3f1510,_0x2ea274){return db[_0x4203('0x27')][_0x4203('0x47')](_0x3f1510[_0x4203('0x48')],{'raw':![],'individualHooks':!![]})[_0x4203('0x23')](respondWithResult(_0x2ea274,0xc9))[_0x4203('0x45')](handleError(_0x2ea274,null));};exports[_0x4203('0x22')]=function(_0x12c300,_0x45125f){if(_0x12c300[_0x4203('0x48')]['id']){delete _0x12c300[_0x4203('0x48')]['id'];}return db['AnalyticFieldReport'][_0x4203('0x44')]({'where':{'id':_0x12c300[_0x4203('0x43')]['id']}})['then'](handleEntityNotFound(_0x45125f,null))[_0x4203('0x23')](saveUpdates(_0x12c300[_0x4203('0x48')],null))[_0x4203('0x23')](respondWithResult(_0x45125f,null))[_0x4203('0x45')](handleError(_0x45125f,null));};exports[_0x4203('0x49')]=function(_0x336a5c,_0x16fd34){return db[_0x4203('0x27')][_0x4203('0x44')]({'where':{'id':_0x336a5c[_0x4203('0x43')]['id']}})[_0x4203('0x23')](handleEntityNotFound(_0x16fd34,null))['then'](removeEntity(_0x16fd34,null))[_0x4203('0x45')](handleError(_0x16fd34,null));};exports[_0x4203('0x4a')]=function(_0x24bf34,_0x1e16a0){return db[_0x4203('0x27')]['destroy']({'where':{'id':_0x24bf34[_0x4203('0x2e')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x4203('0x23')](respondWithResult(_0x1e16a0,0xcc))[_0x4203('0x45')](handleError(_0x1e16a0,null));};exports[_0x4203('0x4b')]=function(_0x33571e,_0x7a5e1e,_0x23fe8c){return db['AnalyticCustomReport'][_0x4203('0x4c')]({'where':{'id':_0x33571e[_0x4203('0x43')]['id']}})[_0x4203('0x23')](handleEntityNotFound(_0x7a5e1e,null))[_0x4203('0x23')](function(_0x369234){if(_0x369234){return db[_0x4203('0x4d')]['transaction'](function(_0x487627){return db[_0x4203('0x27')][_0x4203('0x49')]({'where':{'CustomReportId':_0x33571e[_0x4203('0x43')]['id']},'transaction':_0x487627})[_0x4203('0x23')](function(_0x466f93){var _0x60d9c5=_['map'](_0x33571e[_0x4203('0x48')],function(_0x4a2b26){delete _0x4a2b26['id'];_0x4a2b26[_0x4203('0x4e')]=_0x33571e['params']['id'];return _0x4a2b26;});return db['AnalyticFieldReport']['bulkCreate'](_0x60d9c5,{'transaction':_0x487627});});})['then'](function(){return db[_0x4203('0x27')][_0x4203('0x41')]({'where':{'CustomReportId':_0x33571e[_0x4203('0x43')]['id']}});});}})[_0x4203('0x23')](respondWithResult(_0x7a5e1e,null))['catch'](handleError(_0x7a5e1e,null));};