5d80edc8bd0e085944862ba88e407f58d8ab0479
[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 _0x9370=['../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','options','where','includeAll','include','rows','catch','show','AnalyticFieldReport','fields','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','params','sequelize','transaction','CustomReportId','findAll','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x2e8272,_0x1642ae){var _0x485393=function(_0x116f72){while(--_0x116f72){_0x2e8272['push'](_0x2e8272['shift']());}};_0x485393(++_0x1642ae);}(_0x9370,0x19d));var _0x0937=function(_0x385856,_0x4a2cb6){_0x385856=_0x385856-0x0;var _0x4e9864=_0x9370[_0x385856];return _0x4e9864;};'use strict';var emlformat=require(_0x0937('0x0'));var rimraf=require(_0x0937('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0937('0x2'));var rp=require(_0x0937('0x3'));var moment=require(_0x0937('0x4'));var BPromise=require(_0x0937('0x5'));var Mustache=require(_0x0937('0x6'));var util=require(_0x0937('0x7'));var path=require(_0x0937('0x8'));var sox=require(_0x0937('0x9'));var csv=require('to-csv');var ejs=require(_0x0937('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0937('0xb'));var squel=require(_0x0937('0xc'));var crypto=require(_0x0937('0xd'));var jsforce=require(_0x0937('0xe'));var deskjs=require(_0x0937('0xf'));var toCsv=require(_0x0937('0x10'));var querystring=require(_0x0937('0x11'));var Papa=require(_0x0937('0x12'));var Redis=require(_0x0937('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x0937('0x14'));var as=require(_0x0937('0x15'));var hardwareService=require(_0x0937('0x16'));var logger=require('../../config/logger')(_0x0937('0x17'));var utils=require(_0x0937('0x18'));var config=require(_0x0937('0x19'));var licenseUtil=require(_0x0937('0x1a'));var db=require(_0x0937('0x1b'))['db'];function respondWithStatusCode(_0x260eda,_0x2937b4){_0x2937b4=_0x2937b4||0xcc;return function(_0x1c9015){if(_0x1c9015){return _0x260eda[_0x0937('0x1c')](_0x2937b4);}return _0x260eda['status'](_0x2937b4)['end']();};}function respondWithResult(_0x42478d,_0x42159a){_0x42159a=_0x42159a||0xc8;return function(_0x1bba78){if(_0x1bba78){return _0x42478d[_0x0937('0x1d')](_0x42159a)[_0x0937('0x1e')](_0x1bba78);}};}function respondWithFilteredResult(_0x4e6ed7,_0x560f54){return function(_0x270f38){if(_0x270f38){var _0x4bd15c=typeof _0x560f54[_0x0937('0x1f')]===_0x0937('0x20')&&typeof _0x560f54[_0x0937('0x21')]===_0x0937('0x20');var _0x22ba3a=_0x270f38[_0x0937('0x22')];var _0x1d9d45=_0x4bd15c?0x0:_0x560f54[_0x0937('0x1f')];var _0x562d64=_0x4bd15c?_0x270f38[_0x0937('0x22')]:_0x560f54[_0x0937('0x1f')]+_0x560f54[_0x0937('0x21')];var _0x1c7ed8;if(_0x562d64>=_0x22ba3a){_0x562d64=_0x22ba3a;_0x1c7ed8=0xc8;}else{_0x1c7ed8=0xce;}_0x4e6ed7['status'](_0x1c7ed8);return _0x4e6ed7['set'](_0x0937('0x23'),_0x1d9d45+'-'+_0x562d64+'/'+_0x22ba3a)[_0x0937('0x1e')](_0x270f38);}return null;};}function patchUpdates(_0xa5f73){return function(_0x45535f){try{jsonpatch[_0x0937('0x24')](_0x45535f,_0xa5f73,!![]);}catch(_0x337010){return BPromise[_0x0937('0x25')](_0x337010);}return _0x45535f['save']();};}function saveUpdates(_0x46dbf3,_0x33a1de){return function(_0x28b18f){if(_0x28b18f){return _0x28b18f[_0x0937('0x26')](_0x46dbf3)[_0x0937('0x27')](function(_0x1000b9){return _0x1000b9;});}return null;};}function removeEntity(_0x5a1f34,_0x29f5ab){return function(_0x2f321a){if(_0x2f321a){return _0x2f321a[_0x0937('0x28')]()[_0x0937('0x27')](function(){_0x5a1f34[_0x0937('0x1d')](0xcc)[_0x0937('0x29')]();});}};}function handleEntityNotFound(_0x22df0b,_0x261b70){return function(_0x14411b){if(!_0x14411b){_0x22df0b[_0x0937('0x1c')](0x194);}return _0x14411b;};}function handleError(_0x45cfac,_0x5b7206){_0x5b7206=_0x5b7206||0x1f4;return function(_0x2a4a09){logger[_0x0937('0x2a')](_0x2a4a09[_0x0937('0x2b')]);if(_0x2a4a09['name']){delete _0x2a4a09[_0x0937('0x2c')];}_0x45cfac['status'](_0x5b7206)[_0x0937('0x2d')](_0x2a4a09);};}exports[_0x0937('0x2e')]=function(_0x4e573b,_0x4d5272){var _0x2d7af7={},_0x18e153={},_0x135da9={'count':0x0,'rows':[]};var _0x2b1232=_[_0x0937('0x2f')](db['AnalyticFieldReport'][_0x0937('0x30')],function(_0x242925){return{'name':_0x242925[_0x0937('0x31')],'type':_0x242925[_0x0937('0x32')][_0x0937('0x33')]};});_0x18e153[_0x0937('0x34')]=_[_0x0937('0x2f')](_0x2b1232,_0x0937('0x2c'));_0x18e153[_0x0937('0x35')]=_[_0x0937('0x36')](_0x4e573b[_0x0937('0x35')]);_0x18e153['filters']=_[_0x0937('0x37')](_0x18e153[_0x0937('0x34')],_0x18e153[_0x0937('0x35')]);_0x2d7af7[_0x0937('0x38')]=_[_0x0937('0x37')](_0x18e153['model'],qs['fields'](_0x4e573b[_0x0937('0x35')]['fields']));_0x2d7af7[_0x0937('0x38')]=_0x2d7af7[_0x0937('0x38')][_0x0937('0x39')]?_0x2d7af7['attributes']:_0x18e153[_0x0937('0x34')];if(!_0x4e573b[_0x0937('0x35')][_0x0937('0x3a')](_0x0937('0x3b'))){_0x2d7af7[_0x0937('0x21')]=qs[_0x0937('0x21')](_0x4e573b[_0x0937('0x35')][_0x0937('0x21')]);_0x2d7af7['offset']=qs['offset'](_0x4e573b['query'][_0x0937('0x1f')]);}_0x2d7af7[_0x0937('0x3c')]=qs[_0x0937('0x3d')](_0x4e573b[_0x0937('0x35')][_0x0937('0x3d')]);_0x2d7af7['where']=qs[_0x0937('0x3e')](_[_0x0937('0x3f')](_0x4e573b[_0x0937('0x35')],_0x18e153[_0x0937('0x3e')]),_0x2b1232);if(_0x4e573b[_0x0937('0x35')][_0x0937('0x40')]){_0x2d7af7['where']=_[_0x0937('0x41')](_0x2d7af7['where'],{'$or':_[_0x0937('0x2f')](_0x2b1232,function(_0x378a7a){if(_0x378a7a[_0x0937('0x32')]!=='VIRTUAL'){var _0x167c98={};_0x167c98[_0x378a7a[_0x0937('0x2c')]]={'$like':'%'+_0x4e573b[_0x0937('0x35')][_0x0937('0x40')]+'%'};return _0x167c98;}})});}_0x2d7af7=_['merge']({},_0x2d7af7,_0x4e573b[_0x0937('0x42')]);var _0x473d1e={'where':_0x2d7af7[_0x0937('0x43')]};return db['AnalyticFieldReport'][_0x0937('0x22')](_0x473d1e)['then'](function(_0x1f0347){_0x135da9['count']=_0x1f0347;if(_0x4e573b[_0x0937('0x35')][_0x0937('0x44')]){_0x2d7af7[_0x0937('0x45')]=[{'all':!![]}];}return db['AnalyticFieldReport']['findAll'](_0x2d7af7);})[_0x0937('0x27')](function(_0x20d3af){_0x135da9[_0x0937('0x46')]=_0x20d3af;return _0x135da9;})[_0x0937('0x27')](respondWithFilteredResult(_0x4d5272,_0x2d7af7))[_0x0937('0x47')](handleError(_0x4d5272,null));};exports[_0x0937('0x48')]=function(_0x3a7e06,_0x3f18d2){var _0x57d1b8={'raw':![],'where':{'id':_0x3a7e06['params']['id']}},_0x2c8af8={};_0x2c8af8[_0x0937('0x34')]=_[_0x0937('0x36')](db[_0x0937('0x49')][_0x0937('0x30')]);_0x2c8af8[_0x0937('0x35')]=_['keys'](_0x3a7e06['query']);_0x2c8af8['filters']=_[_0x0937('0x37')](_0x2c8af8[_0x0937('0x34')],_0x2c8af8[_0x0937('0x35')]);_0x57d1b8[_0x0937('0x38')]=_[_0x0937('0x37')](_0x2c8af8[_0x0937('0x34')],qs['fields'](_0x3a7e06[_0x0937('0x35')][_0x0937('0x4a')]));_0x57d1b8[_0x0937('0x38')]=_0x57d1b8['attributes'][_0x0937('0x39')]?_0x57d1b8['attributes']:_0x2c8af8[_0x0937('0x34')];if(_0x3a7e06[_0x0937('0x35')][_0x0937('0x44')]){_0x57d1b8[_0x0937('0x45')]=[{'all':!![]}];}_0x57d1b8=_[_0x0937('0x41')]({},_0x57d1b8,_0x3a7e06[_0x0937('0x42')]);return db[_0x0937('0x49')][_0x0937('0x4b')](_0x57d1b8)[_0x0937('0x27')](handleEntityNotFound(_0x3f18d2,null))[_0x0937('0x27')](respondWithResult(_0x3f18d2,null))[_0x0937('0x47')](handleError(_0x3f18d2,null));};exports[_0x0937('0x4c')]=function(_0x2bfc88,_0x40a50d){return db['AnalyticFieldReport'][_0x0937('0x4c')](_0x2bfc88[_0x0937('0x4d')],{})[_0x0937('0x27')](respondWithResult(_0x40a50d,0xc9))['catch'](handleError(_0x40a50d,null));};exports[_0x0937('0x4e')]=function(_0x91cbe0,_0x4898f7){return db[_0x0937('0x49')]['bulkCreate'](_0x91cbe0[_0x0937('0x4d')],{'raw':![],'individualHooks':!![]})[_0x0937('0x27')](respondWithResult(_0x4898f7,0xc9))['catch'](handleError(_0x4898f7,null));};exports['update']=function(_0x3ab997,_0x2ccec0){if(_0x3ab997[_0x0937('0x4d')]['id']){delete _0x3ab997[_0x0937('0x4d')]['id'];}return db[_0x0937('0x49')][_0x0937('0x4b')]({'where':{'id':_0x3ab997['params']['id']}})['then'](handleEntityNotFound(_0x2ccec0,null))['then'](saveUpdates(_0x3ab997[_0x0937('0x4d')],null))[_0x0937('0x27')](respondWithResult(_0x2ccec0,null))[_0x0937('0x47')](handleError(_0x2ccec0,null));};exports['destroy']=function(_0x52716c,_0x5cd929){return db[_0x0937('0x49')][_0x0937('0x4b')]({'where':{'id':_0x52716c['params']['id']}})[_0x0937('0x27')](handleEntityNotFound(_0x5cd929,null))[_0x0937('0x27')](removeEntity(_0x5cd929,null))[_0x0937('0x47')](handleError(_0x5cd929,null));};exports[_0x0937('0x4f')]=function(_0x40765e,_0xcb3c05){return db[_0x0937('0x49')]['destroy']({'where':{'id':_0x40765e[_0x0937('0x35')][_0x0937('0x50')]||[]},'raw':![],'individualHooks':!![]})[_0x0937('0x27')](respondWithResult(_0xcb3c05,0xcc))['catch'](handleError(_0xcb3c05,null));};exports[_0x0937('0x51')]=function(_0x11f96e,_0x3966f2,_0x536385){return db[_0x0937('0x52')]['findOne']({'where':{'id':_0x11f96e[_0x0937('0x53')]['id']}})[_0x0937('0x27')](handleEntityNotFound(_0x3966f2,null))[_0x0937('0x27')](function(_0x4002f4){if(_0x4002f4){return db[_0x0937('0x54')][_0x0937('0x55')](function(_0x5377e5){return db[_0x0937('0x49')][_0x0937('0x28')]({'where':{'CustomReportId':_0x11f96e[_0x0937('0x53')]['id']},'transaction':_0x5377e5})['then'](function(_0x571e02){var _0x5674f0=_[_0x0937('0x2f')](_0x11f96e[_0x0937('0x4d')],function(_0xcbc48){delete _0xcbc48['id'];_0xcbc48[_0x0937('0x56')]=_0x11f96e['params']['id'];return _0xcbc48;});return db[_0x0937('0x49')][_0x0937('0x4e')](_0x5674f0,{'transaction':_0x5377e5});});})['then'](function(){return db[_0x0937('0x49')][_0x0937('0x57')]({'where':{'CustomReportId':_0x11f96e[_0x0937('0x53')]['id']}});});}})['then'](respondWithResult(_0x3966f2,null))[_0x0937('0x47')](handleError(_0x3966f2,null));};