af93152f743b1ee824dcf2caf2c5c43121f7c5e4
[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 _0x5924=['options','findAll','rows','rawAttributes','include','find','catch','create','body','bulkCreate','update','params','bulkDestroy','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','destroy','then','end','error','stack','name','send','index','map','AnalyticFieldReport','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','type','VIRTUAL','merge'];(function(_0x107ec0,_0x2e7d49){var _0x35c83b=function(_0x37401e){while(--_0x37401e){_0x107ec0['push'](_0x107ec0['shift']());}};_0x35c83b(++_0x2e7d49);}(_0x5924,0xb6));var _0x4592=function(_0x5cbf0e,_0x4cd140){_0x5cbf0e=_0x5cbf0e-0x0;var _0x1c76f8=_0x5924[_0x5cbf0e];return _0x1c76f8;};'use strict';var emlformat=require(_0x4592('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4592('0x1'));var jsonpatch=require(_0x4592('0x2'));var rp=require(_0x4592('0x3'));var moment=require(_0x4592('0x4'));var BPromise=require(_0x4592('0x5'));var Mustache=require(_0x4592('0x6'));var util=require(_0x4592('0x7'));var path=require(_0x4592('0x8'));var sox=require(_0x4592('0x9'));var csv=require(_0x4592('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x4592('0xb'));var jsforce=require(_0x4592('0xc'));var deskjs=require(_0x4592('0xd'));var toCsv=require(_0x4592('0xa'));var querystring=require(_0x4592('0xe'));var Papa=require(_0x4592('0xf'));var Redis=require(_0x4592('0x10'));var authService=require(_0x4592('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x4592('0x12'));var hardwareService=require(_0x4592('0x13'));var logger=require(_0x4592('0x14'))(_0x4592('0x15'));var utils=require(_0x4592('0x16'));var config=require(_0x4592('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x4592('0x18'))['db'];function respondWithStatusCode(_0x56165a,_0x39796b){_0x39796b=_0x39796b||0xcc;return function(_0x2f46db){if(_0x2f46db){return _0x56165a[_0x4592('0x19')](_0x39796b);}return _0x56165a[_0x4592('0x1a')](_0x39796b)['end']();};}function respondWithResult(_0x584dbb,_0x38cdc2){_0x38cdc2=_0x38cdc2||0xc8;return function(_0x109a2f){if(_0x109a2f){return _0x584dbb[_0x4592('0x1a')](_0x38cdc2)[_0x4592('0x1b')](_0x109a2f);}};}function respondWithFilteredResult(_0x247bf7,_0x41db9e){return function(_0x516a73){if(_0x516a73){var _0x4375ec=typeof _0x41db9e[_0x4592('0x1c')]===_0x4592('0x1d')&&typeof _0x41db9e[_0x4592('0x1e')]===_0x4592('0x1d');var _0x8f67c9=_0x516a73[_0x4592('0x1f')];var _0x480c0f=_0x4375ec?0x0:_0x41db9e['offset'];var _0x1bb4b8=_0x4375ec?_0x516a73[_0x4592('0x1f')]:_0x41db9e[_0x4592('0x1c')]+_0x41db9e['limit'];var _0x51e461;if(_0x1bb4b8>=_0x8f67c9){_0x1bb4b8=_0x8f67c9;_0x51e461=0xc8;}else{_0x51e461=0xce;}_0x247bf7[_0x4592('0x1a')](_0x51e461);return _0x247bf7['set'](_0x4592('0x20'),_0x480c0f+'-'+_0x1bb4b8+'/'+_0x8f67c9)[_0x4592('0x1b')](_0x516a73);}return null;};}function patchUpdates(_0x458621){return function(_0x3e3840){try{jsonpatch[_0x4592('0x21')](_0x3e3840,_0x458621,!![]);}catch(_0x3de0f7){return BPromise[_0x4592('0x22')](_0x3de0f7);}return _0x3e3840[_0x4592('0x23')]();};}function saveUpdates(_0x2e212f,_0xad9087){return function(_0xf3afbc){if(_0xf3afbc){return _0xf3afbc['update'](_0x2e212f)['then'](function(_0x3eca50){return _0x3eca50;});}return null;};}function removeEntity(_0x32f8b7,_0x1d3b46){return function(_0x19573f){if(_0x19573f){return _0x19573f[_0x4592('0x24')]()[_0x4592('0x25')](function(){_0x32f8b7[_0x4592('0x1a')](0xcc)[_0x4592('0x26')]();});}};}function handleEntityNotFound(_0x5b4934,_0x35a40f){return function(_0x1aa222){if(!_0x1aa222){_0x5b4934[_0x4592('0x19')](0x194);}return _0x1aa222;};}function handleError(_0x1f3de1,_0x1d19f7){_0x1d19f7=_0x1d19f7||0x1f4;return function(_0x41b5f3){logger[_0x4592('0x27')](_0x41b5f3[_0x4592('0x28')]);if(_0x41b5f3[_0x4592('0x29')]){delete _0x41b5f3[_0x4592('0x29')];}_0x1f3de1[_0x4592('0x1a')](_0x1d19f7)[_0x4592('0x2a')](_0x41b5f3);};}exports[_0x4592('0x2b')]=function(_0x1c6c03,_0x28abd7){var _0x19a6d4={},_0x32a659={},_0x3a0bd0={'count':0x0,'rows':[]};var _0x489af9=_[_0x4592('0x2c')](db[_0x4592('0x2d')]['rawAttributes'],function(_0x1b81e3){return{'name':_0x1b81e3[_0x4592('0x2e')],'type':_0x1b81e3['type'][_0x4592('0x2f')]};});_0x32a659[_0x4592('0x30')]=_['map'](_0x489af9,'name');_0x32a659[_0x4592('0x31')]=_[_0x4592('0x32')](_0x1c6c03[_0x4592('0x31')]);_0x32a659[_0x4592('0x33')]=_[_0x4592('0x34')](_0x32a659[_0x4592('0x30')],_0x32a659['query']);_0x19a6d4[_0x4592('0x35')]=_[_0x4592('0x34')](_0x32a659[_0x4592('0x30')],qs[_0x4592('0x36')](_0x1c6c03[_0x4592('0x31')][_0x4592('0x36')]));_0x19a6d4[_0x4592('0x35')]=_0x19a6d4[_0x4592('0x35')][_0x4592('0x37')]?_0x19a6d4['attributes']:_0x32a659[_0x4592('0x30')];if(!_0x1c6c03[_0x4592('0x31')][_0x4592('0x38')]('nolimit')){_0x19a6d4[_0x4592('0x1e')]=qs['limit'](_0x1c6c03['query'][_0x4592('0x1e')]);_0x19a6d4[_0x4592('0x1c')]=qs['offset'](_0x1c6c03[_0x4592('0x31')][_0x4592('0x1c')]);}_0x19a6d4['order']=qs[_0x4592('0x39')](_0x1c6c03[_0x4592('0x31')][_0x4592('0x39')]);_0x19a6d4['where']=qs['filters'](_[_0x4592('0x3a')](_0x1c6c03[_0x4592('0x31')],_0x32a659[_0x4592('0x33')]),_0x489af9);if(_0x1c6c03['query'][_0x4592('0x3b')]){_0x19a6d4[_0x4592('0x3c')]=_['merge'](_0x19a6d4[_0x4592('0x3c')],{'$or':_['map'](_0x489af9,function(_0x224017){if(_0x224017[_0x4592('0x3d')]!==_0x4592('0x3e')){var _0x43293e={};_0x43293e[_0x224017['name']]={'$like':'%'+_0x1c6c03['query'][_0x4592('0x3b')]+'%'};return _0x43293e;}})});}_0x19a6d4=_[_0x4592('0x3f')]({},_0x19a6d4,_0x1c6c03[_0x4592('0x40')]);var _0x22aebf={'where':_0x19a6d4[_0x4592('0x3c')]};return db['AnalyticFieldReport'][_0x4592('0x1f')](_0x22aebf)[_0x4592('0x25')](function(_0x182bdd){_0x3a0bd0[_0x4592('0x1f')]=_0x182bdd;if(_0x1c6c03[_0x4592('0x31')]['includeAll']){_0x19a6d4['include']=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x4592('0x41')](_0x19a6d4);})[_0x4592('0x25')](function(_0x20d9c0){_0x3a0bd0[_0x4592('0x42')]=_0x20d9c0;return _0x3a0bd0;})[_0x4592('0x25')](respondWithFilteredResult(_0x28abd7,_0x19a6d4))['catch'](handleError(_0x28abd7,null));};exports['show']=function(_0x363676,_0x45225d){var _0x45efd2={'raw':![],'where':{'id':_0x363676['params']['id']}},_0x11f4b0={};_0x11f4b0[_0x4592('0x30')]=_[_0x4592('0x32')](db['AnalyticFieldReport'][_0x4592('0x43')]);_0x11f4b0[_0x4592('0x31')]=_['keys'](_0x363676[_0x4592('0x31')]);_0x11f4b0[_0x4592('0x33')]=_['intersection'](_0x11f4b0[_0x4592('0x30')],_0x11f4b0['query']);_0x45efd2[_0x4592('0x35')]=_[_0x4592('0x34')](_0x11f4b0[_0x4592('0x30')],qs[_0x4592('0x36')](_0x363676['query'][_0x4592('0x36')]));_0x45efd2[_0x4592('0x35')]=_0x45efd2['attributes'][_0x4592('0x37')]?_0x45efd2[_0x4592('0x35')]:_0x11f4b0['model'];if(_0x363676[_0x4592('0x31')]['includeAll']){_0x45efd2[_0x4592('0x44')]=[{'all':!![]}];}_0x45efd2=_[_0x4592('0x3f')]({},_0x45efd2,_0x363676['options']);return db['AnalyticFieldReport'][_0x4592('0x45')](_0x45efd2)['then'](handleEntityNotFound(_0x45225d,null))[_0x4592('0x25')](respondWithResult(_0x45225d,null))[_0x4592('0x46')](handleError(_0x45225d,null));};exports[_0x4592('0x47')]=function(_0x1ea226,_0x144e9e){return db[_0x4592('0x2d')][_0x4592('0x47')](_0x1ea226[_0x4592('0x48')],{})[_0x4592('0x25')](respondWithResult(_0x144e9e,0xc9))[_0x4592('0x46')](handleError(_0x144e9e,null));};exports[_0x4592('0x49')]=function(_0x34eb60,_0x58db04){return db[_0x4592('0x2d')]['bulkCreate'](_0x34eb60['body'],{'raw':![],'individualHooks':!![]})[_0x4592('0x25')](respondWithResult(_0x58db04,0xc9))['catch'](handleError(_0x58db04,null));};exports[_0x4592('0x4a')]=function(_0x3f421a,_0x56d142){if(_0x3f421a[_0x4592('0x48')]['id']){delete _0x3f421a[_0x4592('0x48')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x3f421a[_0x4592('0x4b')]['id']}})['then'](handleEntityNotFound(_0x56d142,null))[_0x4592('0x25')](saveUpdates(_0x3f421a[_0x4592('0x48')],null))['then'](respondWithResult(_0x56d142,null))['catch'](handleError(_0x56d142,null));};exports[_0x4592('0x24')]=function(_0xb720e0,_0x359507){return db[_0x4592('0x2d')]['find']({'where':{'id':_0xb720e0['params']['id']}})[_0x4592('0x25')](handleEntityNotFound(_0x359507,null))[_0x4592('0x25')](removeEntity(_0x359507,null))[_0x4592('0x46')](handleError(_0x359507,null));};exports[_0x4592('0x4c')]=function(_0x41b425,_0x141f3c){return db[_0x4592('0x2d')]['destroy']({'where':{'id':_0x41b425[_0x4592('0x31')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x4592('0x25')](respondWithResult(_0x141f3c,0xcc))[_0x4592('0x46')](handleError(_0x141f3c,null));};exports['addFields']=function(_0x578144,_0x2a26f0,_0xab42b4){return db[_0x4592('0x4d')][_0x4592('0x4e')]({'where':{'id':_0x578144['params']['id']}})[_0x4592('0x25')](handleEntityNotFound(_0x2a26f0,null))[_0x4592('0x25')](function(_0x418b74){if(_0x418b74){return db[_0x4592('0x4f')][_0x4592('0x50')](function(_0x38646b){return db[_0x4592('0x2d')]['destroy']({'where':{'CustomReportId':_0x578144[_0x4592('0x4b')]['id']},'transaction':_0x38646b})['then'](function(_0x580aea){var _0x3f7e5d=_[_0x4592('0x2c')](_0x578144[_0x4592('0x48')],function(_0x3596c0){delete _0x3596c0['id'];_0x3596c0[_0x4592('0x51')]=_0x578144[_0x4592('0x4b')]['id'];return _0x3596c0;});return db[_0x4592('0x2d')][_0x4592('0x49')](_0x3f7e5d,{'transaction':_0x38646b});});})[_0x4592('0x25')](function(){return db['AnalyticFieldReport'][_0x4592('0x41')]({'where':{'CustomReportId':_0x578144[_0x4592('0x4b')]['id']}});});}})[_0x4592('0x25')](respondWithResult(_0x2a26f0,null))['catch'](handleError(_0x2a26f0,null));};