Built motion from commit 47436d59.|2.6.7
[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 _0xe4ea=['then','destroy','error','stack','name','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','count','includeAll','include','catch','show','find','create','body','bulkCreate','params','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','limit','undefined','offset','set','json','apply','update'];(function(_0x7a4963,_0x374b5f){var _0x52dc9e=function(_0x2174e8){while(--_0x2174e8){_0x7a4963['push'](_0x7a4963['shift']());}};_0x52dc9e(++_0x374b5f);}(_0xe4ea,0x17f));var _0xae4e=function(_0x236b3b,_0x193a4a){_0x236b3b=_0x236b3b-0x0;var _0x5d577f=_0xe4ea[_0x236b3b];return _0x5d577f;};'use strict';var emlformat=require(_0xae4e('0x0'));var rimraf=require(_0xae4e('0x1'));var zipdir=require(_0xae4e('0x2'));var jsonpatch=require(_0xae4e('0x3'));var rp=require(_0xae4e('0x4'));var moment=require(_0xae4e('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xae4e('0x6'));var util=require(_0xae4e('0x7'));var path=require(_0xae4e('0x8'));var sox=require(_0xae4e('0x9'));var csv=require(_0xae4e('0xa'));var ejs=require(_0xae4e('0xb'));var fs=require('fs');var fs_extra=require(_0xae4e('0xc'));var _=require(_0xae4e('0xd'));var squel=require(_0xae4e('0xe'));var crypto=require(_0xae4e('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xae4e('0x10'));var toCsv=require(_0xae4e('0xa'));var querystring=require(_0xae4e('0x11'));var Papa=require(_0xae4e('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xae4e('0x13'));var hardwareService=require(_0xae4e('0x14'));var logger=require(_0xae4e('0x15'))(_0xae4e('0x16'));var utils=require(_0xae4e('0x17'));var config=require(_0xae4e('0x18'));var licenseUtil=require(_0xae4e('0x19'));var db=require(_0xae4e('0x1a'))['db'];function respondWithStatusCode(_0x4ec2d8,_0x39288c){_0x39288c=_0x39288c||0xcc;return function(_0x44f597){if(_0x44f597){return _0x4ec2d8[_0xae4e('0x1b')](_0x39288c);}return _0x4ec2d8['status'](_0x39288c)[_0xae4e('0x1c')]();};}function respondWithResult(_0x3da856,_0x5a412d){_0x5a412d=_0x5a412d||0xc8;return function(_0x293cec){if(_0x293cec){return _0x3da856[_0xae4e('0x1d')](_0x5a412d)['json'](_0x293cec);}};}function respondWithFilteredResult(_0xfb203c,_0x2f58b8){return function(_0x596da3){if(_0x596da3){var _0x4175f6=typeof _0x2f58b8['offset']==='undefined'&&typeof _0x2f58b8[_0xae4e('0x1e')]===_0xae4e('0x1f');var _0x2021c7=_0x596da3['count'];var _0x3c4a23=_0x4175f6?0x0:_0x2f58b8[_0xae4e('0x20')];var _0x3ea049=_0x4175f6?_0x596da3['count']:_0x2f58b8['offset']+_0x2f58b8[_0xae4e('0x1e')];var _0x52bae2;if(_0x3ea049>=_0x2021c7){_0x3ea049=_0x2021c7;_0x52bae2=0xc8;}else{_0x52bae2=0xce;}_0xfb203c[_0xae4e('0x1d')](_0x52bae2);return _0xfb203c[_0xae4e('0x21')]('Content-Range',_0x3c4a23+'-'+_0x3ea049+'/'+_0x2021c7)[_0xae4e('0x22')](_0x596da3);}return null;};}function patchUpdates(_0xb1d89d){return function(_0x3776ed){try{jsonpatch[_0xae4e('0x23')](_0x3776ed,_0xb1d89d,!![]);}catch(_0x2c4424){return BPromise['reject'](_0x2c4424);}return _0x3776ed['save']();};}function saveUpdates(_0x48593c,_0x340fb9){return function(_0x2c3639){if(_0x2c3639){return _0x2c3639[_0xae4e('0x24')](_0x48593c)[_0xae4e('0x25')](function(_0xf8e7d5){return _0xf8e7d5;});}return null;};}function removeEntity(_0x4d0031,_0x4fe073){return function(_0x27df13){if(_0x27df13){return _0x27df13[_0xae4e('0x26')]()[_0xae4e('0x25')](function(){_0x4d0031[_0xae4e('0x1d')](0xcc)[_0xae4e('0x1c')]();});}};}function handleEntityNotFound(_0xc676c2,_0x2005a4){return function(_0x3b16f5){if(!_0x3b16f5){_0xc676c2[_0xae4e('0x1b')](0x194);}return _0x3b16f5;};}function handleError(_0x2edfce,_0x1fccb2){_0x1fccb2=_0x1fccb2||0x1f4;return function(_0x2a1d42){logger[_0xae4e('0x27')](_0x2a1d42[_0xae4e('0x28')]);if(_0x2a1d42[_0xae4e('0x29')]){delete _0x2a1d42[_0xae4e('0x29')];}_0x2edfce[_0xae4e('0x1d')](_0x1fccb2)['send'](_0x2a1d42);};}exports[_0xae4e('0x2a')]=function(_0x3a3049,_0x3793e2){var _0xd84c59={},_0x4a54e2={},_0xae8b09={'count':0x0,'rows':[]};var _0xe51196=_[_0xae4e('0x2b')](db[_0xae4e('0x2c')][_0xae4e('0x2d')],function(_0x168c01){return{'name':_0x168c01[_0xae4e('0x2e')],'type':_0x168c01[_0xae4e('0x2f')][_0xae4e('0x30')]};});_0x4a54e2[_0xae4e('0x31')]=_[_0xae4e('0x2b')](_0xe51196,_0xae4e('0x29'));_0x4a54e2[_0xae4e('0x32')]=_[_0xae4e('0x33')](_0x3a3049['query']);_0x4a54e2['filters']=_[_0xae4e('0x34')](_0x4a54e2['model'],_0x4a54e2['query']);_0xd84c59[_0xae4e('0x35')]=_[_0xae4e('0x34')](_0x4a54e2[_0xae4e('0x31')],qs[_0xae4e('0x36')](_0x3a3049[_0xae4e('0x32')][_0xae4e('0x36')]));_0xd84c59[_0xae4e('0x35')]=_0xd84c59[_0xae4e('0x35')][_0xae4e('0x37')]?_0xd84c59[_0xae4e('0x35')]:_0x4a54e2[_0xae4e('0x31')];if(!_0x3a3049[_0xae4e('0x32')][_0xae4e('0x38')](_0xae4e('0x39'))){_0xd84c59[_0xae4e('0x1e')]=qs[_0xae4e('0x1e')](_0x3a3049[_0xae4e('0x32')][_0xae4e('0x1e')]);_0xd84c59['offset']=qs[_0xae4e('0x20')](_0x3a3049['query'][_0xae4e('0x20')]);}_0xd84c59[_0xae4e('0x3a')]=qs[_0xae4e('0x3b')](_0x3a3049['query'][_0xae4e('0x3b')]);_0xd84c59[_0xae4e('0x3c')]=qs[_0xae4e('0x3d')](_['pick'](_0x3a3049[_0xae4e('0x32')],_0x4a54e2[_0xae4e('0x3d')]),_0xe51196);if(_0x3a3049[_0xae4e('0x32')][_0xae4e('0x3e')]){_0xd84c59[_0xae4e('0x3c')]=_[_0xae4e('0x3f')](_0xd84c59[_0xae4e('0x3c')],{'$or':_['map'](_0xe51196,function(_0x1be829){if(_0x1be829[_0xae4e('0x2f')]!==_0xae4e('0x40')){var _0x5b2745={};_0x5b2745[_0x1be829[_0xae4e('0x29')]]={'$like':'%'+_0x3a3049[_0xae4e('0x32')][_0xae4e('0x3e')]+'%'};return _0x5b2745;}})});}_0xd84c59=_[_0xae4e('0x3f')]({},_0xd84c59,_0x3a3049[_0xae4e('0x41')]);var _0x12ec27={'where':_0xd84c59[_0xae4e('0x3c')]};return db[_0xae4e('0x2c')][_0xae4e('0x42')](_0x12ec27)[_0xae4e('0x25')](function(_0x598497){_0xae8b09[_0xae4e('0x42')]=_0x598497;if(_0x3a3049[_0xae4e('0x32')][_0xae4e('0x43')]){_0xd84c59[_0xae4e('0x44')]=[{'all':!![]}];}return db[_0xae4e('0x2c')]['findAll'](_0xd84c59);})['then'](function(_0x4253f5){_0xae8b09['rows']=_0x4253f5;return _0xae8b09;})[_0xae4e('0x25')](respondWithFilteredResult(_0x3793e2,_0xd84c59))[_0xae4e('0x45')](handleError(_0x3793e2,null));};exports[_0xae4e('0x46')]=function(_0x3cba75,_0x5578e9){var _0x5b60e5={'raw':![],'where':{'id':_0x3cba75['params']['id']}},_0x114cf5={};_0x114cf5['model']=_[_0xae4e('0x33')](db[_0xae4e('0x2c')][_0xae4e('0x2d')]);_0x114cf5[_0xae4e('0x32')]=_[_0xae4e('0x33')](_0x3cba75[_0xae4e('0x32')]);_0x114cf5[_0xae4e('0x3d')]=_['intersection'](_0x114cf5['model'],_0x114cf5[_0xae4e('0x32')]);_0x5b60e5['attributes']=_[_0xae4e('0x34')](_0x114cf5[_0xae4e('0x31')],qs[_0xae4e('0x36')](_0x3cba75[_0xae4e('0x32')][_0xae4e('0x36')]));_0x5b60e5['attributes']=_0x5b60e5[_0xae4e('0x35')][_0xae4e('0x37')]?_0x5b60e5['attributes']:_0x114cf5[_0xae4e('0x31')];if(_0x3cba75[_0xae4e('0x32')][_0xae4e('0x43')]){_0x5b60e5['include']=[{'all':!![]}];}_0x5b60e5=_[_0xae4e('0x3f')]({},_0x5b60e5,_0x3cba75[_0xae4e('0x41')]);return db[_0xae4e('0x2c')][_0xae4e('0x47')](_0x5b60e5)[_0xae4e('0x25')](handleEntityNotFound(_0x5578e9,null))[_0xae4e('0x25')](respondWithResult(_0x5578e9,null))['catch'](handleError(_0x5578e9,null));};exports[_0xae4e('0x48')]=function(_0x2bc918,_0x37e5f1){return db['AnalyticFieldReport']['create'](_0x2bc918[_0xae4e('0x49')],{})[_0xae4e('0x25')](respondWithResult(_0x37e5f1,0xc9))[_0xae4e('0x45')](handleError(_0x37e5f1,null));};exports['bulkCreate']=function(_0x3d7c91,_0x2f5a55){return db['AnalyticFieldReport'][_0xae4e('0x4a')](_0x3d7c91[_0xae4e('0x49')],{'raw':![],'individualHooks':!![]})[_0xae4e('0x25')](respondWithResult(_0x2f5a55,0xc9))[_0xae4e('0x45')](handleError(_0x2f5a55,null));};exports[_0xae4e('0x24')]=function(_0x1b2348,_0x554db1){if(_0x1b2348[_0xae4e('0x49')]['id']){delete _0x1b2348[_0xae4e('0x49')]['id'];}return db[_0xae4e('0x2c')]['find']({'where':{'id':_0x1b2348[_0xae4e('0x4b')]['id']}})[_0xae4e('0x25')](handleEntityNotFound(_0x554db1,null))[_0xae4e('0x25')](saveUpdates(_0x1b2348[_0xae4e('0x49')],null))[_0xae4e('0x25')](respondWithResult(_0x554db1,null))[_0xae4e('0x45')](handleError(_0x554db1,null));};exports['destroy']=function(_0x5e727f,_0x474d23){return db[_0xae4e('0x2c')]['find']({'where':{'id':_0x5e727f[_0xae4e('0x4b')]['id']}})[_0xae4e('0x25')](handleEntityNotFound(_0x474d23,null))['then'](removeEntity(_0x474d23,null))[_0xae4e('0x45')](handleError(_0x474d23,null));};exports[_0xae4e('0x4c')]=function(_0x3c982b,_0x4668d5){return db[_0xae4e('0x2c')][_0xae4e('0x26')]({'where':{'id':_0x3c982b[_0xae4e('0x32')][_0xae4e('0x4d')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x4668d5,0xcc))['catch'](handleError(_0x4668d5,null));};exports[_0xae4e('0x4e')]=function(_0x22c139,_0x2c44ae,_0x5edaa9){return db[_0xae4e('0x4f')][_0xae4e('0x50')]({'where':{'id':_0x22c139['params']['id']}})[_0xae4e('0x25')](handleEntityNotFound(_0x2c44ae,null))[_0xae4e('0x25')](function(_0x2093a9){if(_0x2093a9){return db[_0xae4e('0x51')][_0xae4e('0x52')](function(_0x384501){return db['AnalyticFieldReport'][_0xae4e('0x26')]({'where':{'CustomReportId':_0x22c139[_0xae4e('0x4b')]['id']},'transaction':_0x384501})[_0xae4e('0x25')](function(_0x109f57){var _0x64373e=_['map'](_0x22c139[_0xae4e('0x49')],function(_0x59c359){delete _0x59c359['id'];_0x59c359[_0xae4e('0x53')]=_0x22c139[_0xae4e('0x4b')]['id'];return _0x59c359;});return db[_0xae4e('0x2c')][_0xae4e('0x4a')](_0x64373e,{'transaction':_0x384501});});})[_0xae4e('0x25')](function(){return db[_0xae4e('0x2c')]['findAll']({'where':{'CustomReportId':_0x22c139['params']['id']}});});}})[_0xae4e('0x25')](respondWithResult(_0x2c44ae,null))[_0xae4e('0x45')](handleError(_0x2c44ae,null));};