Built motion from commit 351e7f9c.|2.6.31
[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 _0x3388=['../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','reject','save','update','then','destroy','name','send','map','AnalyticFieldReport','rawAttributes','fieldName','type','query','keys','filters','intersection','model','fields','attributes','length','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','create','body','bulkCreate','params','find','ids','findOne','sequelize','transaction','CustomReportId','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x3388,0x109));var _0x8338=function(_0xb5f992,_0xd3893d){_0xb5f992=_0xb5f992-0x0;var _0x530070=_0x3388[_0xb5f992];return _0x530070;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8338('0x0'));var zipdir=require(_0x8338('0x1'));var jsonpatch=require(_0x8338('0x2'));var rp=require(_0x8338('0x3'));var moment=require('moment');var BPromise=require(_0x8338('0x4'));var Mustache=require(_0x8338('0x5'));var util=require('util');var path=require(_0x8338('0x6'));var sox=require(_0x8338('0x7'));var csv=require('to-csv');var ejs=require(_0x8338('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8338('0x9'));var squel=require('squel');var crypto=require(_0x8338('0xa'));var jsforce=require(_0x8338('0xb'));var deskjs=require(_0x8338('0xc'));var toCsv=require(_0x8338('0xd'));var querystring=require(_0x8338('0xe'));var Papa=require(_0x8338('0xf'));var Redis=require(_0x8338('0x10'));var authService=require(_0x8338('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x8338('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x8338('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x8338('0x14'))['db'];function respondWithStatusCode(_0x1fe414,_0x327765){_0x327765=_0x327765||0xcc;return function(_0x445012){if(_0x445012){return _0x1fe414[_0x8338('0x15')](_0x327765);}return _0x1fe414[_0x8338('0x16')](_0x327765)[_0x8338('0x17')]();};}function respondWithResult(_0x3e7187,_0x59ee76){_0x59ee76=_0x59ee76||0xc8;return function(_0x5ca1c3){if(_0x5ca1c3){return _0x3e7187[_0x8338('0x16')](_0x59ee76)[_0x8338('0x18')](_0x5ca1c3);}};}function respondWithFilteredResult(_0x509a03,_0x352c0c){return function(_0x203ff6){if(_0x203ff6){var _0x3ef141=typeof _0x352c0c[_0x8338('0x19')]==='undefined'&&typeof _0x352c0c['limit']===_0x8338('0x1a');var _0x3fd21e=_0x203ff6['count'];var _0x4da09e=_0x3ef141?0x0:_0x352c0c[_0x8338('0x19')];var _0x459d9f=_0x3ef141?_0x203ff6[_0x8338('0x1b')]:_0x352c0c[_0x8338('0x19')]+_0x352c0c['limit'];var _0xe12974;if(_0x459d9f>=_0x3fd21e){_0x459d9f=_0x3fd21e;_0xe12974=0xc8;}else{_0xe12974=0xce;}_0x509a03[_0x8338('0x16')](_0xe12974);return _0x509a03['set'](_0x8338('0x1c'),_0x4da09e+'-'+_0x459d9f+'/'+_0x3fd21e)[_0x8338('0x18')](_0x203ff6);}return null;};}function patchUpdates(_0x35a501){return function(_0x3fc2f4){try{jsonpatch['apply'](_0x3fc2f4,_0x35a501,!![]);}catch(_0x419258){return BPromise[_0x8338('0x1d')](_0x419258);}return _0x3fc2f4[_0x8338('0x1e')]();};}function saveUpdates(_0x1f9c27,_0x1a23ec){return function(_0x3c6ba6){if(_0x3c6ba6){return _0x3c6ba6[_0x8338('0x1f')](_0x1f9c27)[_0x8338('0x20')](function(_0x4963d8){return _0x4963d8;});}return null;};}function removeEntity(_0x3a7e73,_0x494813){return function(_0x26717e){if(_0x26717e){return _0x26717e[_0x8338('0x21')]()['then'](function(){_0x3a7e73[_0x8338('0x16')](0xcc)[_0x8338('0x17')]();});}};}function handleEntityNotFound(_0x1d52db,_0x1b0c7f){return function(_0x4d071b){if(!_0x4d071b){_0x1d52db[_0x8338('0x15')](0x194);}return _0x4d071b;};}function handleError(_0x5cf2da,_0x255e56){_0x255e56=_0x255e56||0x1f4;return function(_0x2bc3bb){logger['error'](_0x2bc3bb['stack']);if(_0x2bc3bb[_0x8338('0x22')]){delete _0x2bc3bb[_0x8338('0x22')];}_0x5cf2da[_0x8338('0x16')](_0x255e56)[_0x8338('0x23')](_0x2bc3bb);};}exports['index']=function(_0x21457c,_0x251941){var _0x1d335b={},_0x2a6358={},_0xdeb395={'count':0x0,'rows':[]};var _0x3f5d53=_[_0x8338('0x24')](db[_0x8338('0x25')][_0x8338('0x26')],function(_0xf7d098){return{'name':_0xf7d098[_0x8338('0x27')],'type':_0xf7d098[_0x8338('0x28')]['key']};});_0x2a6358['model']=_[_0x8338('0x24')](_0x3f5d53,'name');_0x2a6358[_0x8338('0x29')]=_[_0x8338('0x2a')](_0x21457c[_0x8338('0x29')]);_0x2a6358[_0x8338('0x2b')]=_[_0x8338('0x2c')](_0x2a6358[_0x8338('0x2d')],_0x2a6358[_0x8338('0x29')]);_0x1d335b['attributes']=_['intersection'](_0x2a6358['model'],qs[_0x8338('0x2e')](_0x21457c[_0x8338('0x29')][_0x8338('0x2e')]));_0x1d335b[_0x8338('0x2f')]=_0x1d335b[_0x8338('0x2f')][_0x8338('0x30')]?_0x1d335b[_0x8338('0x2f')]:_0x2a6358['model'];if(!_0x21457c[_0x8338('0x29')]['hasOwnProperty'](_0x8338('0x31'))){_0x1d335b['limit']=qs['limit'](_0x21457c['query'][_0x8338('0x32')]);_0x1d335b[_0x8338('0x19')]=qs[_0x8338('0x19')](_0x21457c[_0x8338('0x29')]['offset']);}_0x1d335b['order']=qs[_0x8338('0x33')](_0x21457c[_0x8338('0x29')][_0x8338('0x33')]);_0x1d335b[_0x8338('0x34')]=qs[_0x8338('0x2b')](_[_0x8338('0x35')](_0x21457c['query'],_0x2a6358[_0x8338('0x2b')]),_0x3f5d53);if(_0x21457c[_0x8338('0x29')][_0x8338('0x36')]){_0x1d335b[_0x8338('0x34')]=_[_0x8338('0x37')](_0x1d335b['where'],{'$or':_[_0x8338('0x24')](_0x3f5d53,function(_0xb47c4f){if(_0xb47c4f['type']!==_0x8338('0x38')){var _0x2e729d={};_0x2e729d[_0xb47c4f[_0x8338('0x22')]]={'$like':'%'+_0x21457c['query'][_0x8338('0x36')]+'%'};return _0x2e729d;}})});}_0x1d335b=_[_0x8338('0x37')]({},_0x1d335b,_0x21457c['options']);var _0x598e47={'where':_0x1d335b[_0x8338('0x34')]};return db[_0x8338('0x25')]['count'](_0x598e47)['then'](function(_0x106a04){_0xdeb395[_0x8338('0x1b')]=_0x106a04;if(_0x21457c[_0x8338('0x29')][_0x8338('0x39')]){_0x1d335b['include']=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x8338('0x3a')](_0x1d335b);})[_0x8338('0x20')](function(_0x40902e){_0xdeb395[_0x8338('0x3b')]=_0x40902e;return _0xdeb395;})[_0x8338('0x20')](respondWithFilteredResult(_0x251941,_0x1d335b))[_0x8338('0x3c')](handleError(_0x251941,null));};exports['show']=function(_0x358d5e,_0x220ee6){var _0x1be6cb={'raw':![],'where':{'id':_0x358d5e['params']['id']}},_0x2dc4d6={};_0x2dc4d6[_0x8338('0x2d')]=_['keys'](db['AnalyticFieldReport'][_0x8338('0x26')]);_0x2dc4d6[_0x8338('0x29')]=_[_0x8338('0x2a')](_0x358d5e['query']);_0x2dc4d6[_0x8338('0x2b')]=_[_0x8338('0x2c')](_0x2dc4d6[_0x8338('0x2d')],_0x2dc4d6[_0x8338('0x29')]);_0x1be6cb[_0x8338('0x2f')]=_[_0x8338('0x2c')](_0x2dc4d6[_0x8338('0x2d')],qs[_0x8338('0x2e')](_0x358d5e[_0x8338('0x29')][_0x8338('0x2e')]));_0x1be6cb['attributes']=_0x1be6cb[_0x8338('0x2f')][_0x8338('0x30')]?_0x1be6cb['attributes']:_0x2dc4d6['model'];if(_0x358d5e[_0x8338('0x29')][_0x8338('0x39')]){_0x1be6cb['include']=[{'all':!![]}];}_0x1be6cb=_[_0x8338('0x37')]({},_0x1be6cb,_0x358d5e['options']);return db[_0x8338('0x25')]['find'](_0x1be6cb)[_0x8338('0x20')](handleEntityNotFound(_0x220ee6,null))[_0x8338('0x20')](respondWithResult(_0x220ee6,null))[_0x8338('0x3c')](handleError(_0x220ee6,null));};exports[_0x8338('0x3d')]=function(_0x23fc66,_0x3a1064){return db['AnalyticFieldReport'][_0x8338('0x3d')](_0x23fc66[_0x8338('0x3e')],{})['then'](respondWithResult(_0x3a1064,0xc9))[_0x8338('0x3c')](handleError(_0x3a1064,null));};exports[_0x8338('0x3f')]=function(_0x1b983f,_0x190a4f){return db[_0x8338('0x25')][_0x8338('0x3f')](_0x1b983f['body'],{'raw':![],'individualHooks':!![]})[_0x8338('0x20')](respondWithResult(_0x190a4f,0xc9))[_0x8338('0x3c')](handleError(_0x190a4f,null));};exports[_0x8338('0x1f')]=function(_0x1dcc0b,_0x5f289c){if(_0x1dcc0b['body']['id']){delete _0x1dcc0b[_0x8338('0x3e')]['id'];}return db[_0x8338('0x25')]['find']({'where':{'id':_0x1dcc0b[_0x8338('0x40')]['id']}})[_0x8338('0x20')](handleEntityNotFound(_0x5f289c,null))[_0x8338('0x20')](saveUpdates(_0x1dcc0b[_0x8338('0x3e')],null))[_0x8338('0x20')](respondWithResult(_0x5f289c,null))[_0x8338('0x3c')](handleError(_0x5f289c,null));};exports[_0x8338('0x21')]=function(_0x22bc3b,_0x434a25){return db[_0x8338('0x25')][_0x8338('0x41')]({'where':{'id':_0x22bc3b['params']['id']}})['then'](handleEntityNotFound(_0x434a25,null))[_0x8338('0x20')](removeEntity(_0x434a25,null))[_0x8338('0x3c')](handleError(_0x434a25,null));};exports['bulkDestroy']=function(_0x1f6467,_0x4a450a){return db['AnalyticFieldReport'][_0x8338('0x21')]({'where':{'id':_0x1f6467['query'][_0x8338('0x42')]||[]},'raw':![],'individualHooks':!![]})[_0x8338('0x20')](respondWithResult(_0x4a450a,0xcc))[_0x8338('0x3c')](handleError(_0x4a450a,null));};exports['addFields']=function(_0x362cc0,_0x185cc,_0xe33367){return db['AnalyticCustomReport'][_0x8338('0x43')]({'where':{'id':_0x362cc0[_0x8338('0x40')]['id']}})['then'](handleEntityNotFound(_0x185cc,null))[_0x8338('0x20')](function(_0x303520){if(_0x303520){return db[_0x8338('0x44')][_0x8338('0x45')](function(_0x580d30){return db['AnalyticFieldReport']['destroy']({'where':{'CustomReportId':_0x362cc0[_0x8338('0x40')]['id']},'transaction':_0x580d30})[_0x8338('0x20')](function(_0x1d9cc1){var _0x727e9=_[_0x8338('0x24')](_0x362cc0[_0x8338('0x3e')],function(_0x3c0023){delete _0x3c0023['id'];_0x3c0023[_0x8338('0x46')]=_0x362cc0[_0x8338('0x40')]['id'];return _0x3c0023;});return db[_0x8338('0x25')][_0x8338('0x3f')](_0x727e9,{'transaction':_0x580d30});});})['then'](function(){return db[_0x8338('0x25')][_0x8338('0x3a')]({'where':{'CustomReportId':_0x362cc0[_0x8338('0x40')]['id']}});});}})[_0x8338('0x20')](respondWithResult(_0x185cc,null))['catch'](handleError(_0x185cc,null));};