Built motion from commit a61a4a20.|2.5.46
[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 _0x2428=['rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','then','error','name','index','map','AnalyticFieldReport','fieldName','key','model','query','keys','intersection','attributes','fields','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','includeAll','findAll','catch','params','length','include','options','create','body','bulkCreate','find','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format'];(function(_0x43d11d,_0xccff91){var _0x38cd08=function(_0x131ae2){while(--_0x131ae2){_0x43d11d['push'](_0x43d11d['shift']());}};_0x38cd08(++_0xccff91);}(_0x2428,0x147));var _0x8242=function(_0x573cb1,_0x528c5f){_0x573cb1=_0x573cb1-0x0;var _0x399c92=_0x2428[_0x573cb1];return _0x399c92;};'use strict';var emlformat=require(_0x8242('0x0'));var rimraf=require(_0x8242('0x1'));var zipdir=require(_0x8242('0x2'));var jsonpatch=require(_0x8242('0x3'));var rp=require(_0x8242('0x4'));var moment=require(_0x8242('0x5'));var BPromise=require(_0x8242('0x6'));var Mustache=require(_0x8242('0x7'));var util=require(_0x8242('0x8'));var path=require(_0x8242('0x9'));var sox=require('sox');var csv=require(_0x8242('0xa'));var ejs=require(_0x8242('0xb'));var fs=require('fs');var fs_extra=require(_0x8242('0xc'));var _=require(_0x8242('0xd'));var squel=require(_0x8242('0xe'));var crypto=require(_0x8242('0xf'));var jsforce=require(_0x8242('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x8242('0xa'));var querystring=require(_0x8242('0x11'));var Papa=require('papaparse');var Redis=require(_0x8242('0x12'));var authService=require(_0x8242('0x13'));var qs=require(_0x8242('0x14'));var as=require(_0x8242('0x15'));var hardwareService=require(_0x8242('0x16'));var logger=require(_0x8242('0x17'))(_0x8242('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x8242('0x19'))['db'];function respondWithStatusCode(_0x4ae613,_0x3a573c){_0x3a573c=_0x3a573c||0xcc;return function(_0x50fe64){if(_0x50fe64){return _0x4ae613[_0x8242('0x1a')](_0x3a573c);}return _0x4ae613['status'](_0x3a573c)[_0x8242('0x1b')]();};}function respondWithResult(_0x12613d,_0x197da2){_0x197da2=_0x197da2||0xc8;return function(_0x1c2b27){if(_0x1c2b27){return _0x12613d[_0x8242('0x1c')](_0x197da2)[_0x8242('0x1d')](_0x1c2b27);}};}function respondWithFilteredResult(_0x30cc52,_0x176bdb){return function(_0x3fbd21){if(_0x3fbd21){var _0x440ceb=typeof _0x176bdb[_0x8242('0x1e')]===_0x8242('0x1f')&&typeof _0x176bdb['limit']===_0x8242('0x1f');var _0x2fcde7=_0x3fbd21[_0x8242('0x20')];var _0x34a805=_0x440ceb?0x0:_0x176bdb[_0x8242('0x1e')];var _0x4c597f=_0x440ceb?_0x3fbd21['count']:_0x176bdb[_0x8242('0x1e')]+_0x176bdb[_0x8242('0x21')];var _0x1b1db5;if(_0x4c597f>=_0x2fcde7){_0x4c597f=_0x2fcde7;_0x1b1db5=0xc8;}else{_0x1b1db5=0xce;}_0x30cc52['status'](_0x1b1db5);return _0x30cc52[_0x8242('0x22')](_0x8242('0x23'),_0x34a805+'-'+_0x4c597f+'/'+_0x2fcde7)[_0x8242('0x1d')](_0x3fbd21);}return null;};}function patchUpdates(_0x403d5b){return function(_0x4ae746){try{jsonpatch['apply'](_0x4ae746,_0x403d5b,!![]);}catch(_0x3cb0ae){return BPromise[_0x8242('0x24')](_0x3cb0ae);}return _0x4ae746[_0x8242('0x25')]();};}function saveUpdates(_0x5b53bd,_0x736465){return function(_0x105bda){if(_0x105bda){return _0x105bda[_0x8242('0x26')](_0x5b53bd)['then'](function(_0x4c9a89){return _0x4c9a89;});}return null;};}function removeEntity(_0x56f918,_0xb45025){return function(_0x5c8777){if(_0x5c8777){return _0x5c8777[_0x8242('0x27')]()[_0x8242('0x28')](function(){_0x56f918['status'](0xcc)[_0x8242('0x1b')]();});}};}function handleEntityNotFound(_0x38799f,_0x1d027f){return function(_0xda25fb){if(!_0xda25fb){_0x38799f[_0x8242('0x1a')](0x194);}return _0xda25fb;};}function handleError(_0x1202ad,_0x475cc1){_0x475cc1=_0x475cc1||0x1f4;return function(_0xcfdad3){logger[_0x8242('0x29')](_0xcfdad3['stack']);if(_0xcfdad3['name']){delete _0xcfdad3[_0x8242('0x2a')];}_0x1202ad[_0x8242('0x1c')](_0x475cc1)['send'](_0xcfdad3);};}exports[_0x8242('0x2b')]=function(_0x45431e,_0x110415){var _0xb2739f={},_0x371d1a={},_0x2b3459={'count':0x0,'rows':[]};var _0x4ac831=_[_0x8242('0x2c')](db[_0x8242('0x2d')]['rawAttributes'],function(_0xcdf434){return{'name':_0xcdf434[_0x8242('0x2e')],'type':_0xcdf434['type'][_0x8242('0x2f')]};});_0x371d1a[_0x8242('0x30')]=_[_0x8242('0x2c')](_0x4ac831,_0x8242('0x2a'));_0x371d1a[_0x8242('0x31')]=_[_0x8242('0x32')](_0x45431e[_0x8242('0x31')]);_0x371d1a['filters']=_[_0x8242('0x33')](_0x371d1a[_0x8242('0x30')],_0x371d1a[_0x8242('0x31')]);_0xb2739f[_0x8242('0x34')]=_[_0x8242('0x33')](_0x371d1a['model'],qs[_0x8242('0x35')](_0x45431e['query'][_0x8242('0x35')]));_0xb2739f['attributes']=_0xb2739f[_0x8242('0x34')]['length']?_0xb2739f['attributes']:_0x371d1a['model'];if(!_0x45431e['query']['hasOwnProperty']('nolimit')){_0xb2739f['limit']=qs[_0x8242('0x21')](_0x45431e[_0x8242('0x31')][_0x8242('0x21')]);_0xb2739f[_0x8242('0x1e')]=qs[_0x8242('0x1e')](_0x45431e[_0x8242('0x31')][_0x8242('0x1e')]);}_0xb2739f[_0x8242('0x36')]=qs[_0x8242('0x37')](_0x45431e[_0x8242('0x31')][_0x8242('0x37')]);_0xb2739f[_0x8242('0x38')]=qs[_0x8242('0x39')](_[_0x8242('0x3a')](_0x45431e[_0x8242('0x31')],_0x371d1a[_0x8242('0x39')]),_0x4ac831);if(_0x45431e[_0x8242('0x31')][_0x8242('0x3b')]){_0xb2739f[_0x8242('0x38')]=_[_0x8242('0x3c')](_0xb2739f[_0x8242('0x38')],{'$or':_[_0x8242('0x2c')](_0x4ac831,function(_0x5a722f){if(_0x5a722f[_0x8242('0x3d')]!==_0x8242('0x3e')){var _0x2f2ed7={};_0x2f2ed7[_0x5a722f[_0x8242('0x2a')]]={'$like':'%'+_0x45431e['query'][_0x8242('0x3b')]+'%'};return _0x2f2ed7;}})});}_0xb2739f=_[_0x8242('0x3c')]({},_0xb2739f,_0x45431e['options']);var _0x4eaef2={'where':_0xb2739f['where']};return db[_0x8242('0x2d')][_0x8242('0x20')](_0x4eaef2)[_0x8242('0x28')](function(_0x1e0de6){_0x2b3459[_0x8242('0x20')]=_0x1e0de6;if(_0x45431e[_0x8242('0x31')][_0x8242('0x3f')]){_0xb2739f['include']=[{'all':!![]}];}return db[_0x8242('0x2d')][_0x8242('0x40')](_0xb2739f);})[_0x8242('0x28')](function(_0x2d4efa){_0x2b3459['rows']=_0x2d4efa;return _0x2b3459;})[_0x8242('0x28')](respondWithFilteredResult(_0x110415,_0xb2739f))[_0x8242('0x41')](handleError(_0x110415,null));};exports['show']=function(_0x5bfbb5,_0x31709e){var _0x1bb5ab={'raw':![],'where':{'id':_0x5bfbb5[_0x8242('0x42')]['id']}},_0x898dc={};_0x898dc[_0x8242('0x30')]=_['keys'](db[_0x8242('0x2d')]['rawAttributes']);_0x898dc[_0x8242('0x31')]=_[_0x8242('0x32')](_0x5bfbb5['query']);_0x898dc['filters']=_[_0x8242('0x33')](_0x898dc[_0x8242('0x30')],_0x898dc['query']);_0x1bb5ab[_0x8242('0x34')]=_[_0x8242('0x33')](_0x898dc[_0x8242('0x30')],qs[_0x8242('0x35')](_0x5bfbb5['query']['fields']));_0x1bb5ab['attributes']=_0x1bb5ab['attributes'][_0x8242('0x43')]?_0x1bb5ab[_0x8242('0x34')]:_0x898dc[_0x8242('0x30')];if(_0x5bfbb5[_0x8242('0x31')][_0x8242('0x3f')]){_0x1bb5ab[_0x8242('0x44')]=[{'all':!![]}];}_0x1bb5ab=_[_0x8242('0x3c')]({},_0x1bb5ab,_0x5bfbb5[_0x8242('0x45')]);return db[_0x8242('0x2d')]['find'](_0x1bb5ab)[_0x8242('0x28')](handleEntityNotFound(_0x31709e,null))[_0x8242('0x28')](respondWithResult(_0x31709e,null))[_0x8242('0x41')](handleError(_0x31709e,null));};exports[_0x8242('0x46')]=function(_0x3487a8,_0x3899c7){return db[_0x8242('0x2d')]['create'](_0x3487a8[_0x8242('0x47')],{})['then'](respondWithResult(_0x3899c7,0xc9))[_0x8242('0x41')](handleError(_0x3899c7,null));};exports[_0x8242('0x48')]=function(_0x3d3ac5,_0x348a75){return db[_0x8242('0x2d')]['bulkCreate'](_0x3d3ac5[_0x8242('0x47')],{'raw':![],'individualHooks':!![]})[_0x8242('0x28')](respondWithResult(_0x348a75,0xc9))[_0x8242('0x41')](handleError(_0x348a75,null));};exports[_0x8242('0x26')]=function(_0x5b3b39,_0x554b72){if(_0x5b3b39[_0x8242('0x47')]['id']){delete _0x5b3b39[_0x8242('0x47')]['id'];}return db['AnalyticFieldReport'][_0x8242('0x49')]({'where':{'id':_0x5b3b39['params']['id']}})[_0x8242('0x28')](handleEntityNotFound(_0x554b72,null))[_0x8242('0x28')](saveUpdates(_0x5b3b39[_0x8242('0x47')],null))[_0x8242('0x28')](respondWithResult(_0x554b72,null))[_0x8242('0x41')](handleError(_0x554b72,null));};exports['destroy']=function(_0x165d94,_0x273c2f){return db['AnalyticFieldReport'][_0x8242('0x49')]({'where':{'id':_0x165d94['params']['id']}})[_0x8242('0x28')](handleEntityNotFound(_0x273c2f,null))[_0x8242('0x28')](removeEntity(_0x273c2f,null))[_0x8242('0x41')](handleError(_0x273c2f,null));};exports[_0x8242('0x4a')]=function(_0x20a1fd,_0x2c9c59){return db[_0x8242('0x2d')]['destroy']({'where':{'id':_0x20a1fd[_0x8242('0x31')][_0x8242('0x4b')]||[]},'raw':![],'individualHooks':!![]})[_0x8242('0x28')](respondWithResult(_0x2c9c59,0xcc))[_0x8242('0x41')](handleError(_0x2c9c59,null));};exports[_0x8242('0x4c')]=function(_0x36541b,_0xf1c82b,_0x328ff7){return db[_0x8242('0x4d')][_0x8242('0x4e')]({'where':{'id':_0x36541b[_0x8242('0x42')]['id']}})[_0x8242('0x28')](handleEntityNotFound(_0xf1c82b,null))[_0x8242('0x28')](function(_0x58b4bb){if(_0x58b4bb){return db[_0x8242('0x4f')][_0x8242('0x50')](function(_0x59a140){return db[_0x8242('0x2d')][_0x8242('0x27')]({'where':{'CustomReportId':_0x36541b[_0x8242('0x42')]['id']},'transaction':_0x59a140})[_0x8242('0x28')](function(_0x1f720e){var _0x1d6ea5=_['map'](_0x36541b[_0x8242('0x47')],function(_0x3b855f){delete _0x3b855f['id'];_0x3b855f[_0x8242('0x51')]=_0x36541b[_0x8242('0x42')]['id'];return _0x3b855f;});return db['AnalyticFieldReport'][_0x8242('0x48')](_0x1d6ea5,{'transaction':_0x59a140});});})[_0x8242('0x28')](function(){return db[_0x8242('0x2d')][_0x8242('0x40')]({'where':{'CustomReportId':_0x36541b['params']['id']}});});}})[_0x8242('0x28')](respondWithResult(_0xf1c82b,null))['catch'](handleError(_0xf1c82b,null));};