01d6735a23918d23aecb11cf87819cf950239e8c
[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 _0xa571=['hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','map','options','includeAll','include','rows','catch','find','create','body','bulkCreate','update','params','bulkDestroy','addFields','AnalyticCustomReport','findOne','findAll','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','json','count','offset','limit','Content-Range','apply','save','destroy','then','end','error','stack','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length'];(function(_0x2a322e,_0x512002){var _0x35da00=function(_0x370fab){while(--_0x370fab){_0x2a322e['push'](_0x2a322e['shift']());}};_0x35da00(++_0x512002);}(_0xa571,0x107));var _0x1a57=function(_0x2f0ee7,_0x47a6cf){_0x2f0ee7=_0x2f0ee7-0x0;var _0x56e5a6=_0xa571[_0x2f0ee7];return _0x56e5a6;};'use strict';var emlformat=require(_0x1a57('0x0'));var rimraf=require(_0x1a57('0x1'));var zipdir=require(_0x1a57('0x2'));var jsonpatch=require(_0x1a57('0x3'));var rp=require('request-promise');var moment=require(_0x1a57('0x4'));var BPromise=require(_0x1a57('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x1a57('0x6'));var sox=require('sox');var csv=require(_0x1a57('0x7'));var ejs=require(_0x1a57('0x8'));var fs=require('fs');var fs_extra=require(_0x1a57('0x9'));var _=require(_0x1a57('0xa'));var squel=require(_0x1a57('0xb'));var crypto=require(_0x1a57('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x1a57('0xd'));var toCsv=require(_0x1a57('0x7'));var querystring=require(_0x1a57('0xe'));var Papa=require('papaparse');var Redis=require(_0x1a57('0xf'));var authService=require(_0x1a57('0x10'));var qs=require(_0x1a57('0x11'));var as=require(_0x1a57('0x12'));var hardwareService=require(_0x1a57('0x13'));var logger=require(_0x1a57('0x14'))(_0x1a57('0x15'));var utils=require(_0x1a57('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1a57('0x17'))['db'];function respondWithStatusCode(_0x1911b2,_0x202d9a){_0x202d9a=_0x202d9a||0xcc;return function(_0x5ae643){if(_0x5ae643){return _0x1911b2[_0x1a57('0x18')](_0x202d9a);}return _0x1911b2[_0x1a57('0x19')](_0x202d9a)['end']();};}function respondWithResult(_0x503278,_0x587422){_0x587422=_0x587422||0xc8;return function(_0xd08107){if(_0xd08107){return _0x503278[_0x1a57('0x19')](_0x587422)[_0x1a57('0x1a')](_0xd08107);}};}function respondWithFilteredResult(_0x153d01,_0x5802d6){return function(_0x20f7ad){if(_0x20f7ad){var _0x53c61f=_0x20f7ad[_0x1a57('0x1b')],_0x49ee05=_0x5802d6['offset'],_0x1b58d7=_0x5802d6[_0x1a57('0x1c')]+_0x5802d6[_0x1a57('0x1d')],_0x1c537f;if(_0x1b58d7>=_0x53c61f){_0x1b58d7=_0x53c61f;_0x1c537f=0xc8;}else{_0x1c537f=0xce;}_0x153d01[_0x1a57('0x19')](_0x1c537f);return _0x153d01['set'](_0x1a57('0x1e'),_0x49ee05+'-'+_0x1b58d7+'/'+_0x53c61f)[_0x1a57('0x1a')](_0x20f7ad);}return null;};}function patchUpdates(_0x451b34){return function(_0xcba6b7){try{jsonpatch[_0x1a57('0x1f')](_0xcba6b7,_0x451b34,!![]);}catch(_0x52bc9e){return BPromise['reject'](_0x52bc9e);}return _0xcba6b7[_0x1a57('0x20')]();};}function saveUpdates(_0x21e811,_0x211c63){return function(_0x4d3e05){if(_0x4d3e05){return _0x4d3e05['update'](_0x21e811)['then'](function(_0x154cf3){return _0x154cf3;});}return null;};}function removeEntity(_0x113ad4,_0x3f52b9){return function(_0xee133b){if(_0xee133b){return _0xee133b[_0x1a57('0x21')]()[_0x1a57('0x22')](function(){_0x113ad4[_0x1a57('0x19')](0xcc)[_0x1a57('0x23')]();});}};}function handleEntityNotFound(_0x183ca3,_0x35d5dc){return function(_0x29e7cd){if(!_0x29e7cd){_0x183ca3[_0x1a57('0x18')](0x194);}return _0x29e7cd;};}function handleError(_0x26cdd3,_0x1b4cb5){_0x1b4cb5=_0x1b4cb5||0x1f4;return function(_0x2f9454){logger[_0x1a57('0x24')](_0x2f9454[_0x1a57('0x25')]);if(_0x2f9454[_0x1a57('0x26')]){delete _0x2f9454[_0x1a57('0x26')];}_0x26cdd3[_0x1a57('0x19')](_0x1b4cb5)[_0x1a57('0x27')](_0x2f9454);};}exports[_0x1a57('0x28')]=function(_0x5a53c8,_0x530401){var _0x139d8c={},_0x22549f={},_0x545041={'count':0x0,'rows':[]};var _0x46dac6=_['map'](db[_0x1a57('0x29')][_0x1a57('0x2a')],function(_0x53bf6e){return{'name':_0x53bf6e[_0x1a57('0x2b')],'type':_0x53bf6e[_0x1a57('0x2c')][_0x1a57('0x2d')]};});_0x22549f[_0x1a57('0x2e')]=_['map'](_0x46dac6,_0x1a57('0x26'));_0x22549f[_0x1a57('0x2f')]=_[_0x1a57('0x30')](_0x5a53c8[_0x1a57('0x2f')]);_0x22549f['filters']=_[_0x1a57('0x31')](_0x22549f[_0x1a57('0x2e')],_0x22549f[_0x1a57('0x2f')]);_0x139d8c[_0x1a57('0x32')]=_[_0x1a57('0x31')](_0x22549f[_0x1a57('0x2e')],qs[_0x1a57('0x33')](_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x33')]));_0x139d8c['attributes']=_0x139d8c[_0x1a57('0x32')][_0x1a57('0x34')]?_0x139d8c['attributes']:_0x22549f['model'];if(!_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x35')](_0x1a57('0x36'))){_0x139d8c[_0x1a57('0x1d')]=qs[_0x1a57('0x1d')](_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x1d')]);_0x139d8c[_0x1a57('0x1c')]=qs[_0x1a57('0x1c')](_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x1c')]);}_0x139d8c[_0x1a57('0x37')]=qs[_0x1a57('0x38')](_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x38')]);_0x139d8c[_0x1a57('0x39')]=qs[_0x1a57('0x3a')](_[_0x1a57('0x3b')](_0x5a53c8['query'],_0x22549f[_0x1a57('0x3a')]),_0x46dac6);if(_0x5a53c8[_0x1a57('0x2f')][_0x1a57('0x3c')]){_0x139d8c[_0x1a57('0x39')]=_[_0x1a57('0x3d')](_0x139d8c[_0x1a57('0x39')],{'$or':_[_0x1a57('0x3e')](_0x46dac6,function(_0x23d087){if(_0x23d087[_0x1a57('0x2c')]!=='VIRTUAL'){var _0x4c37af={};_0x4c37af[_0x23d087['name']]={'$like':'%'+_0x5a53c8['query'][_0x1a57('0x3c')]+'%'};return _0x4c37af;}})});}_0x139d8c=_[_0x1a57('0x3d')]({},_0x139d8c,_0x5a53c8[_0x1a57('0x3f')]);var _0x4d6e1e={'where':_0x139d8c[_0x1a57('0x39')]};return db[_0x1a57('0x29')][_0x1a57('0x1b')](_0x4d6e1e)[_0x1a57('0x22')](function(_0x5bf186){_0x545041[_0x1a57('0x1b')]=_0x5bf186;if(_0x5a53c8['query'][_0x1a57('0x40')]){_0x139d8c[_0x1a57('0x41')]=[{'all':!![]}];}return db[_0x1a57('0x29')]['findAll'](_0x139d8c);})[_0x1a57('0x22')](function(_0x9d6331){_0x545041[_0x1a57('0x42')]=_0x9d6331;return _0x545041;})[_0x1a57('0x22')](respondWithFilteredResult(_0x530401,_0x139d8c))[_0x1a57('0x43')](handleError(_0x530401,null));};exports['show']=function(_0x2eeb71,_0x47e998){var _0x4ba6b3={'raw':![],'where':{'id':_0x2eeb71['params']['id']}},_0x135e81={};_0x135e81[_0x1a57('0x2e')]=_[_0x1a57('0x30')](db[_0x1a57('0x29')]['rawAttributes']);_0x135e81[_0x1a57('0x2f')]=_[_0x1a57('0x30')](_0x2eeb71[_0x1a57('0x2f')]);_0x135e81[_0x1a57('0x3a')]=_['intersection'](_0x135e81[_0x1a57('0x2e')],_0x135e81[_0x1a57('0x2f')]);_0x4ba6b3['attributes']=_[_0x1a57('0x31')](_0x135e81['model'],qs['fields'](_0x2eeb71[_0x1a57('0x2f')][_0x1a57('0x33')]));_0x4ba6b3[_0x1a57('0x32')]=_0x4ba6b3[_0x1a57('0x32')]['length']?_0x4ba6b3[_0x1a57('0x32')]:_0x135e81[_0x1a57('0x2e')];if(_0x2eeb71[_0x1a57('0x2f')][_0x1a57('0x40')]){_0x4ba6b3[_0x1a57('0x41')]=[{'all':!![]}];}_0x4ba6b3=_['merge']({},_0x4ba6b3,_0x2eeb71[_0x1a57('0x3f')]);return db[_0x1a57('0x29')][_0x1a57('0x44')](_0x4ba6b3)[_0x1a57('0x22')](handleEntityNotFound(_0x47e998,null))['then'](respondWithResult(_0x47e998,null))[_0x1a57('0x43')](handleError(_0x47e998,null));};exports['create']=function(_0x4bbfc3,_0x36f8dc){return db[_0x1a57('0x29')][_0x1a57('0x45')](_0x4bbfc3[_0x1a57('0x46')],{})[_0x1a57('0x22')](respondWithResult(_0x36f8dc,0xc9))[_0x1a57('0x43')](handleError(_0x36f8dc,null));};exports[_0x1a57('0x47')]=function(_0x29fe1f,_0x424065){return db[_0x1a57('0x29')][_0x1a57('0x47')](_0x29fe1f[_0x1a57('0x46')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x424065,0xc9))[_0x1a57('0x43')](handleError(_0x424065,null));};exports[_0x1a57('0x48')]=function(_0x3bf103,_0x3b3f1f){if(_0x3bf103[_0x1a57('0x46')]['id']){delete _0x3bf103[_0x1a57('0x46')]['id'];}return db[_0x1a57('0x29')][_0x1a57('0x44')]({'where':{'id':_0x3bf103[_0x1a57('0x49')]['id']}})[_0x1a57('0x22')](handleEntityNotFound(_0x3b3f1f,null))[_0x1a57('0x22')](saveUpdates(_0x3bf103['body'],null))[_0x1a57('0x22')](respondWithResult(_0x3b3f1f,null))[_0x1a57('0x43')](handleError(_0x3b3f1f,null));};exports['destroy']=function(_0x15f1f5,_0x270a33){return db['AnalyticFieldReport'][_0x1a57('0x44')]({'where':{'id':_0x15f1f5[_0x1a57('0x49')]['id']}})['then'](handleEntityNotFound(_0x270a33,null))['then'](removeEntity(_0x270a33,null))['catch'](handleError(_0x270a33,null));};exports[_0x1a57('0x4a')]=function(_0x41465b,_0x509c4f){return db[_0x1a57('0x29')][_0x1a57('0x21')]({'where':{'id':_0x41465b['query']['ids']||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x509c4f,0xcc))[_0x1a57('0x43')](handleError(_0x509c4f,null));};exports[_0x1a57('0x4b')]=function(_0x431cf5,_0x31be00,_0x28738e){return db[_0x1a57('0x4c')][_0x1a57('0x4d')]({'where':{'id':_0x431cf5[_0x1a57('0x49')]['id']}})['then'](handleEntityNotFound(_0x31be00,null))['then'](function(_0x48308b){if(_0x48308b){return db['sequelize']['transaction'](function(_0xd0261c){return db[_0x1a57('0x29')][_0x1a57('0x21')]({'where':{'CustomReportId':_0x431cf5[_0x1a57('0x49')]['id']},'transaction':_0xd0261c})[_0x1a57('0x22')](function(_0x2f09e7){var _0xe710e=_[_0x1a57('0x3e')](_0x431cf5['body'],function(_0x48cc13){delete _0x48cc13['id'];_0x48cc13['CustomReportId']=_0x431cf5[_0x1a57('0x49')]['id'];return _0x48cc13;});return db['AnalyticFieldReport'][_0x1a57('0x47')](_0xe710e,{'transaction':_0xd0261c});});})[_0x1a57('0x22')](function(){return db[_0x1a57('0x29')][_0x1a57('0x4e')]({'where':{'CustomReportId':_0x431cf5[_0x1a57('0x49')]['id']}});});}})[_0x1a57('0x22')](respondWithResult(_0x31be00,null))[_0x1a57('0x43')](handleError(_0x31be00,null));};