Built motion from commit b0a9a629.|2.6.33
[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 _0x9851=['path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','map','keys','filters','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','show','params','find','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util'];(function(_0x15f533,_0x34949e){var _0x51b249=function(_0x11d90a){while(--_0x11d90a){_0x15f533['push'](_0x15f533['shift']());}};_0x51b249(++_0x34949e);}(_0x9851,0x160));var _0x1985=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x9851[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x1985('0x0'));var rimraf=require(_0x1985('0x1'));var zipdir=require(_0x1985('0x2'));var jsonpatch=require(_0x1985('0x3'));var rp=require(_0x1985('0x4'));var moment=require(_0x1985('0x5'));var BPromise=require(_0x1985('0x6'));var Mustache=require('mustache');var util=require(_0x1985('0x7'));var path=require(_0x1985('0x8'));var sox=require(_0x1985('0x9'));var csv=require(_0x1985('0xa'));var ejs=require(_0x1985('0xb'));var fs=require('fs');var fs_extra=require(_0x1985('0xc'));var _=require(_0x1985('0xd'));var squel=require('squel');var crypto=require(_0x1985('0xe'));var jsforce=require(_0x1985('0xf'));var deskjs=require(_0x1985('0x10'));var toCsv=require(_0x1985('0xa'));var querystring=require(_0x1985('0x11'));var Papa=require(_0x1985('0x12'));var Redis=require(_0x1985('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x1985('0x14'));var as=require(_0x1985('0x15'));var hardwareService=require(_0x1985('0x16'));var logger=require(_0x1985('0x17'))(_0x1985('0x18'));var utils=require(_0x1985('0x19'));var config=require(_0x1985('0x1a'));var licenseUtil=require(_0x1985('0x1b'));var db=require(_0x1985('0x1c'))['db'];function respondWithStatusCode(_0xafb973,_0x4796f3){_0x4796f3=_0x4796f3||0xcc;return function(_0x2d3c88){if(_0x2d3c88){return _0xafb973['sendStatus'](_0x4796f3);}return _0xafb973['status'](_0x4796f3)[_0x1985('0x1d')]();};}function respondWithResult(_0x2ed3c5,_0x188ebc){_0x188ebc=_0x188ebc||0xc8;return function(_0x4582c7){if(_0x4582c7){return _0x2ed3c5[_0x1985('0x1e')](_0x188ebc)[_0x1985('0x1f')](_0x4582c7);}};}function respondWithFilteredResult(_0x4f2b98,_0x430945){return function(_0x21d9c6){if(_0x21d9c6){var _0x3a7983=typeof _0x430945[_0x1985('0x20')]===_0x1985('0x21')&&typeof _0x430945['limit']==='undefined';var _0x11692d=_0x21d9c6[_0x1985('0x22')];var _0x128641=_0x3a7983?0x0:_0x430945[_0x1985('0x20')];var _0x3678ce=_0x3a7983?_0x21d9c6['count']:_0x430945['offset']+_0x430945[_0x1985('0x23')];var _0x49bb8d;if(_0x3678ce>=_0x11692d){_0x3678ce=_0x11692d;_0x49bb8d=0xc8;}else{_0x49bb8d=0xce;}_0x4f2b98[_0x1985('0x1e')](_0x49bb8d);return _0x4f2b98[_0x1985('0x24')](_0x1985('0x25'),_0x128641+'-'+_0x3678ce+'/'+_0x11692d)[_0x1985('0x1f')](_0x21d9c6);}return null;};}function patchUpdates(_0x57aab4){return function(_0x19ea0a){try{jsonpatch[_0x1985('0x26')](_0x19ea0a,_0x57aab4,!![]);}catch(_0x2e6bad){return BPromise['reject'](_0x2e6bad);}return _0x19ea0a[_0x1985('0x27')]();};}function saveUpdates(_0x528667,_0xbd9c9){return function(_0x4a5794){if(_0x4a5794){return _0x4a5794[_0x1985('0x28')](_0x528667)[_0x1985('0x29')](function(_0x5f12d2){return _0x5f12d2;});}return null;};}function removeEntity(_0x35c47c,_0x3c5ed5){return function(_0xdd248f){if(_0xdd248f){return _0xdd248f[_0x1985('0x2a')]()[_0x1985('0x29')](function(){_0x35c47c[_0x1985('0x1e')](0xcc)[_0x1985('0x1d')]();});}};}function handleEntityNotFound(_0x2433b0,_0x3f8880){return function(_0x1f5b96){if(!_0x1f5b96){_0x2433b0[_0x1985('0x2b')](0x194);}return _0x1f5b96;};}function handleError(_0x3a08cd,_0x3f5ace){_0x3f5ace=_0x3f5ace||0x1f4;return function(_0x11a07f){logger[_0x1985('0x2c')](_0x11a07f[_0x1985('0x2d')]);if(_0x11a07f['name']){delete _0x11a07f[_0x1985('0x2e')];}_0x3a08cd['status'](_0x3f5ace)[_0x1985('0x2f')](_0x11a07f);};}exports[_0x1985('0x30')]=function(_0x34330c,_0x1b9993){var _0x2ee24e={},_0x52a31d={},_0x3da0a7={'count':0x0,'rows':[]};var _0x51c94f=_['map'](db[_0x1985('0x31')][_0x1985('0x32')],function(_0x509fb9){return{'name':_0x509fb9[_0x1985('0x33')],'type':_0x509fb9[_0x1985('0x34')][_0x1985('0x35')]};});_0x52a31d[_0x1985('0x36')]=_[_0x1985('0x37')](_0x51c94f,_0x1985('0x2e'));_0x52a31d['query']=_[_0x1985('0x38')](_0x34330c['query']);_0x52a31d[_0x1985('0x39')]=_[_0x1985('0x3a')](_0x52a31d[_0x1985('0x36')],_0x52a31d[_0x1985('0x3b')]);_0x2ee24e['attributes']=_[_0x1985('0x3a')](_0x52a31d['model'],qs[_0x1985('0x3c')](_0x34330c[_0x1985('0x3b')]['fields']));_0x2ee24e[_0x1985('0x3d')]=_0x2ee24e['attributes'][_0x1985('0x3e')]?_0x2ee24e[_0x1985('0x3d')]:_0x52a31d['model'];if(!_0x34330c[_0x1985('0x3b')][_0x1985('0x3f')](_0x1985('0x40'))){_0x2ee24e[_0x1985('0x23')]=qs[_0x1985('0x23')](_0x34330c[_0x1985('0x3b')]['limit']);_0x2ee24e[_0x1985('0x20')]=qs['offset'](_0x34330c[_0x1985('0x3b')][_0x1985('0x20')]);}_0x2ee24e[_0x1985('0x41')]=qs['sort'](_0x34330c[_0x1985('0x3b')][_0x1985('0x42')]);_0x2ee24e[_0x1985('0x43')]=qs[_0x1985('0x39')](_[_0x1985('0x44')](_0x34330c[_0x1985('0x3b')],_0x52a31d[_0x1985('0x39')]),_0x51c94f);if(_0x34330c[_0x1985('0x3b')][_0x1985('0x45')]){_0x2ee24e[_0x1985('0x43')]=_['merge'](_0x2ee24e[_0x1985('0x43')],{'$or':_[_0x1985('0x37')](_0x51c94f,function(_0x2c2272){if(_0x2c2272['type']!=='VIRTUAL'){var _0x3da811={};_0x3da811[_0x2c2272[_0x1985('0x2e')]]={'$like':'%'+_0x34330c['query'][_0x1985('0x45')]+'%'};return _0x3da811;}})});}_0x2ee24e=_[_0x1985('0x46')]({},_0x2ee24e,_0x34330c[_0x1985('0x47')]);var _0x8e35b0={'where':_0x2ee24e[_0x1985('0x43')]};return db[_0x1985('0x31')][_0x1985('0x22')](_0x8e35b0)[_0x1985('0x29')](function(_0x2bedf7){_0x3da0a7[_0x1985('0x22')]=_0x2bedf7;if(_0x34330c[_0x1985('0x3b')][_0x1985('0x48')]){_0x2ee24e[_0x1985('0x49')]=[{'all':!![]}];}return db[_0x1985('0x31')]['findAll'](_0x2ee24e);})[_0x1985('0x29')](function(_0x29cc67){_0x3da0a7[_0x1985('0x4a')]=_0x29cc67;return _0x3da0a7;})[_0x1985('0x29')](respondWithFilteredResult(_0x1b9993,_0x2ee24e))[_0x1985('0x4b')](handleError(_0x1b9993,null));};exports[_0x1985('0x4c')]=function(_0x37bc86,_0x2f1972){var _0x115e0d={'raw':![],'where':{'id':_0x37bc86[_0x1985('0x4d')]['id']}},_0xcabd00={};_0xcabd00[_0x1985('0x36')]=_[_0x1985('0x38')](db['AnalyticFieldReport'][_0x1985('0x32')]);_0xcabd00[_0x1985('0x3b')]=_['keys'](_0x37bc86[_0x1985('0x3b')]);_0xcabd00[_0x1985('0x39')]=_[_0x1985('0x3a')](_0xcabd00[_0x1985('0x36')],_0xcabd00[_0x1985('0x3b')]);_0x115e0d[_0x1985('0x3d')]=_[_0x1985('0x3a')](_0xcabd00[_0x1985('0x36')],qs[_0x1985('0x3c')](_0x37bc86[_0x1985('0x3b')][_0x1985('0x3c')]));_0x115e0d[_0x1985('0x3d')]=_0x115e0d[_0x1985('0x3d')][_0x1985('0x3e')]?_0x115e0d[_0x1985('0x3d')]:_0xcabd00[_0x1985('0x36')];if(_0x37bc86[_0x1985('0x3b')]['includeAll']){_0x115e0d[_0x1985('0x49')]=[{'all':!![]}];}_0x115e0d=_[_0x1985('0x46')]({},_0x115e0d,_0x37bc86['options']);return db[_0x1985('0x31')][_0x1985('0x4e')](_0x115e0d)[_0x1985('0x29')](handleEntityNotFound(_0x2f1972,null))[_0x1985('0x29')](respondWithResult(_0x2f1972,null))[_0x1985('0x4b')](handleError(_0x2f1972,null));};exports['create']=function(_0x165022,_0x4890de){return db[_0x1985('0x31')]['create'](_0x165022[_0x1985('0x4f')],{})['then'](respondWithResult(_0x4890de,0xc9))[_0x1985('0x4b')](handleError(_0x4890de,null));};exports[_0x1985('0x50')]=function(_0x4d10b4,_0x2893bd){return db[_0x1985('0x31')][_0x1985('0x50')](_0x4d10b4['body'],{'raw':![],'individualHooks':!![]})[_0x1985('0x29')](respondWithResult(_0x2893bd,0xc9))['catch'](handleError(_0x2893bd,null));};exports[_0x1985('0x28')]=function(_0x4aa1c3,_0x3b667f){if(_0x4aa1c3[_0x1985('0x4f')]['id']){delete _0x4aa1c3[_0x1985('0x4f')]['id'];}return db[_0x1985('0x31')][_0x1985('0x4e')]({'where':{'id':_0x4aa1c3['params']['id']}})['then'](handleEntityNotFound(_0x3b667f,null))['then'](saveUpdates(_0x4aa1c3[_0x1985('0x4f')],null))[_0x1985('0x29')](respondWithResult(_0x3b667f,null))[_0x1985('0x4b')](handleError(_0x3b667f,null));};exports[_0x1985('0x2a')]=function(_0xcf39a,_0x244333){return db['AnalyticFieldReport'][_0x1985('0x4e')]({'where':{'id':_0xcf39a['params']['id']}})['then'](handleEntityNotFound(_0x244333,null))[_0x1985('0x29')](removeEntity(_0x244333,null))['catch'](handleError(_0x244333,null));};exports[_0x1985('0x51')]=function(_0x1f5d36,_0x6d423a){return db['AnalyticFieldReport'][_0x1985('0x2a')]({'where':{'id':_0x1f5d36[_0x1985('0x3b')][_0x1985('0x52')]||[]},'raw':![],'individualHooks':!![]})[_0x1985('0x29')](respondWithResult(_0x6d423a,0xcc))[_0x1985('0x4b')](handleError(_0x6d423a,null));};exports[_0x1985('0x53')]=function(_0x429818,_0x16c260,_0x419e8c){return db[_0x1985('0x54')][_0x1985('0x55')]({'where':{'id':_0x429818['params']['id']}})[_0x1985('0x29')](handleEntityNotFound(_0x16c260,null))[_0x1985('0x29')](function(_0x1ed9fb){if(_0x1ed9fb){return db[_0x1985('0x56')][_0x1985('0x57')](function(_0x1b88c0){return db['AnalyticFieldReport'][_0x1985('0x2a')]({'where':{'CustomReportId':_0x429818[_0x1985('0x4d')]['id']},'transaction':_0x1b88c0})[_0x1985('0x29')](function(_0xac45be){var _0x9202af=_[_0x1985('0x37')](_0x429818[_0x1985('0x4f')],function(_0x15f229){delete _0x15f229['id'];_0x15f229[_0x1985('0x58')]=_0x429818['params']['id'];return _0x15f229;});return db['AnalyticFieldReport'][_0x1985('0x50')](_0x9202af,{'transaction':_0x1b88c0});});})[_0x1985('0x29')](function(){return db[_0x1985('0x31')][_0x1985('0x59')]({'where':{'CustomReportId':_0x429818[_0x1985('0x4d')]['id']}});});}})['then'](respondWithResult(_0x16c260,null))[_0x1985('0x4b')](handleError(_0x16c260,null));};