Built motion from commit eddce310.|2.6.12
[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 _0x55fd=['hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','count','set','json','apply','reject','save','update','then','destroy','error','stack','name','send','map','AnalyticFieldReport','type','model','query','keys','intersection','attributes','fields'];(function(_0x265f12,_0x1ea58e){var _0x5edadb=function(_0x1532c7){while(--_0x1532c7){_0x265f12['push'](_0x265f12['shift']());}};_0x5edadb(++_0x1ea58e);}(_0x55fd,0xbf));var _0xd55f=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0x55fd[_0xbca1b1];return _0x4e1686;};'use strict';var emlformat=require(_0xd55f('0x0'));var rimraf=require(_0xd55f('0x1'));var zipdir=require(_0xd55f('0x2'));var jsonpatch=require(_0xd55f('0x3'));var rp=require('request-promise');var moment=require(_0xd55f('0x4'));var BPromise=require(_0xd55f('0x5'));var Mustache=require('mustache');var util=require(_0xd55f('0x6'));var path=require('path');var sox=require(_0xd55f('0x7'));var csv=require(_0xd55f('0x8'));var ejs=require(_0xd55f('0x9'));var fs=require('fs');var fs_extra=require(_0xd55f('0xa'));var _=require(_0xd55f('0xb'));var squel=require('squel');var crypto=require(_0xd55f('0xc'));var jsforce=require(_0xd55f('0xd'));var deskjs=require(_0xd55f('0xe'));var toCsv=require(_0xd55f('0x8'));var querystring=require(_0xd55f('0xf'));var Papa=require('papaparse');var Redis=require(_0xd55f('0x10'));var authService=require(_0xd55f('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xd55f('0x12'));var hardwareService=require(_0xd55f('0x13'));var logger=require(_0xd55f('0x14'))(_0xd55f('0x15'));var utils=require('../../config/utils');var config=require(_0xd55f('0x16'));var licenseUtil=require(_0xd55f('0x17'));var db=require(_0xd55f('0x18'))['db'];function respondWithStatusCode(_0xe89eee,_0x19fd36){_0x19fd36=_0x19fd36||0xcc;return function(_0x5b1a76){if(_0x5b1a76){return _0xe89eee[_0xd55f('0x19')](_0x19fd36);}return _0xe89eee[_0xd55f('0x1a')](_0x19fd36)[_0xd55f('0x1b')]();};}function respondWithResult(_0x5eacba,_0x5d2970){_0x5d2970=_0x5d2970||0xc8;return function(_0x20cc63){if(_0x20cc63){return _0x5eacba['status'](_0x5d2970)['json'](_0x20cc63);}};}function respondWithFilteredResult(_0x3435f4,_0x4e4981){return function(_0x42a5af){if(_0x42a5af){var _0x11862e=typeof _0x4e4981[_0xd55f('0x1c')]==='undefined'&&typeof _0x4e4981[_0xd55f('0x1d')]==='undefined';var _0x24d103=_0x42a5af[_0xd55f('0x1e')];var _0x13ca08=_0x11862e?0x0:_0x4e4981[_0xd55f('0x1c')];var _0x2b0ee5=_0x11862e?_0x42a5af['count']:_0x4e4981[_0xd55f('0x1c')]+_0x4e4981[_0xd55f('0x1d')];var _0x223184;if(_0x2b0ee5>=_0x24d103){_0x2b0ee5=_0x24d103;_0x223184=0xc8;}else{_0x223184=0xce;}_0x3435f4[_0xd55f('0x1a')](_0x223184);return _0x3435f4[_0xd55f('0x1f')]('Content-Range',_0x13ca08+'-'+_0x2b0ee5+'/'+_0x24d103)[_0xd55f('0x20')](_0x42a5af);}return null;};}function patchUpdates(_0x46a929){return function(_0x379527){try{jsonpatch[_0xd55f('0x21')](_0x379527,_0x46a929,!![]);}catch(_0x324a3b){return BPromise[_0xd55f('0x22')](_0x324a3b);}return _0x379527[_0xd55f('0x23')]();};}function saveUpdates(_0x55469e,_0x568ab6){return function(_0x27ee9d){if(_0x27ee9d){return _0x27ee9d[_0xd55f('0x24')](_0x55469e)[_0xd55f('0x25')](function(_0x224de8){return _0x224de8;});}return null;};}function removeEntity(_0x44f496,_0x3807b1){return function(_0x1940e6){if(_0x1940e6){return _0x1940e6[_0xd55f('0x26')]()[_0xd55f('0x25')](function(){_0x44f496[_0xd55f('0x1a')](0xcc)[_0xd55f('0x1b')]();});}};}function handleEntityNotFound(_0x569e8c,_0xa906b){return function(_0x2f68bf){if(!_0x2f68bf){_0x569e8c[_0xd55f('0x19')](0x194);}return _0x2f68bf;};}function handleError(_0x3ffc06,_0x15f4bc){_0x15f4bc=_0x15f4bc||0x1f4;return function(_0x22c1a7){logger[_0xd55f('0x27')](_0x22c1a7[_0xd55f('0x28')]);if(_0x22c1a7['name']){delete _0x22c1a7[_0xd55f('0x29')];}_0x3ffc06[_0xd55f('0x1a')](_0x15f4bc)[_0xd55f('0x2a')](_0x22c1a7);};}exports['index']=function(_0x33b400,_0x16d42f){var _0x41c9b6={},_0x35d7d4={},_0x438397={'count':0x0,'rows':[]};var _0x29b74a=_[_0xd55f('0x2b')](db[_0xd55f('0x2c')]['rawAttributes'],function(_0x5b6451){return{'name':_0x5b6451['fieldName'],'type':_0x5b6451[_0xd55f('0x2d')]['key']};});_0x35d7d4[_0xd55f('0x2e')]=_[_0xd55f('0x2b')](_0x29b74a,_0xd55f('0x29'));_0x35d7d4[_0xd55f('0x2f')]=_[_0xd55f('0x30')](_0x33b400['query']);_0x35d7d4['filters']=_[_0xd55f('0x31')](_0x35d7d4[_0xd55f('0x2e')],_0x35d7d4[_0xd55f('0x2f')]);_0x41c9b6[_0xd55f('0x32')]=_[_0xd55f('0x31')](_0x35d7d4[_0xd55f('0x2e')],qs[_0xd55f('0x33')](_0x33b400[_0xd55f('0x2f')][_0xd55f('0x33')]));_0x41c9b6[_0xd55f('0x32')]=_0x41c9b6[_0xd55f('0x32')]['length']?_0x41c9b6[_0xd55f('0x32')]:_0x35d7d4['model'];if(!_0x33b400[_0xd55f('0x2f')][_0xd55f('0x34')](_0xd55f('0x35'))){_0x41c9b6[_0xd55f('0x1d')]=qs['limit'](_0x33b400[_0xd55f('0x2f')][_0xd55f('0x1d')]);_0x41c9b6[_0xd55f('0x1c')]=qs[_0xd55f('0x1c')](_0x33b400['query'][_0xd55f('0x1c')]);}_0x41c9b6['order']=qs[_0xd55f('0x36')](_0x33b400[_0xd55f('0x2f')][_0xd55f('0x36')]);_0x41c9b6[_0xd55f('0x37')]=qs[_0xd55f('0x38')](_[_0xd55f('0x39')](_0x33b400['query'],_0x35d7d4[_0xd55f('0x38')]),_0x29b74a);if(_0x33b400[_0xd55f('0x2f')][_0xd55f('0x3a')]){_0x41c9b6[_0xd55f('0x37')]=_['merge'](_0x41c9b6['where'],{'$or':_[_0xd55f('0x2b')](_0x29b74a,function(_0x5ba8a1){if(_0x5ba8a1[_0xd55f('0x2d')]!==_0xd55f('0x3b')){var _0x4d244a={};_0x4d244a[_0x5ba8a1[_0xd55f('0x29')]]={'$like':'%'+_0x33b400[_0xd55f('0x2f')][_0xd55f('0x3a')]+'%'};return _0x4d244a;}})});}_0x41c9b6=_[_0xd55f('0x3c')]({},_0x41c9b6,_0x33b400['options']);var _0x4c461c={'where':_0x41c9b6[_0xd55f('0x37')]};return db[_0xd55f('0x2c')][_0xd55f('0x1e')](_0x4c461c)[_0xd55f('0x25')](function(_0x24d5d3){_0x438397[_0xd55f('0x1e')]=_0x24d5d3;if(_0x33b400[_0xd55f('0x2f')][_0xd55f('0x3d')]){_0x41c9b6[_0xd55f('0x3e')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0xd55f('0x3f')](_0x41c9b6);})['then'](function(_0x14d803){_0x438397[_0xd55f('0x40')]=_0x14d803;return _0x438397;})[_0xd55f('0x25')](respondWithFilteredResult(_0x16d42f,_0x41c9b6))[_0xd55f('0x41')](handleError(_0x16d42f,null));};exports[_0xd55f('0x42')]=function(_0x31d57d,_0x16277d){var _0x1105c6={'raw':![],'where':{'id':_0x31d57d[_0xd55f('0x43')]['id']}},_0x9775b9={};_0x9775b9['model']=_[_0xd55f('0x30')](db[_0xd55f('0x2c')]['rawAttributes']);_0x9775b9[_0xd55f('0x2f')]=_['keys'](_0x31d57d[_0xd55f('0x2f')]);_0x9775b9[_0xd55f('0x38')]=_['intersection'](_0x9775b9['model'],_0x9775b9['query']);_0x1105c6[_0xd55f('0x32')]=_[_0xd55f('0x31')](_0x9775b9[_0xd55f('0x2e')],qs[_0xd55f('0x33')](_0x31d57d[_0xd55f('0x2f')][_0xd55f('0x33')]));_0x1105c6['attributes']=_0x1105c6[_0xd55f('0x32')][_0xd55f('0x44')]?_0x1105c6[_0xd55f('0x32')]:_0x9775b9['model'];if(_0x31d57d[_0xd55f('0x2f')][_0xd55f('0x3d')]){_0x1105c6[_0xd55f('0x3e')]=[{'all':!![]}];}_0x1105c6=_[_0xd55f('0x3c')]({},_0x1105c6,_0x31d57d['options']);return db[_0xd55f('0x2c')][_0xd55f('0x45')](_0x1105c6)[_0xd55f('0x25')](handleEntityNotFound(_0x16277d,null))[_0xd55f('0x25')](respondWithResult(_0x16277d,null))[_0xd55f('0x41')](handleError(_0x16277d,null));};exports[_0xd55f('0x46')]=function(_0x42be90,_0x38de65){return db[_0xd55f('0x2c')][_0xd55f('0x46')](_0x42be90[_0xd55f('0x47')],{})[_0xd55f('0x25')](respondWithResult(_0x38de65,0xc9))[_0xd55f('0x41')](handleError(_0x38de65,null));};exports[_0xd55f('0x48')]=function(_0x371f58,_0x8365d1){return db[_0xd55f('0x2c')]['bulkCreate'](_0x371f58[_0xd55f('0x47')],{'raw':![],'individualHooks':!![]})[_0xd55f('0x25')](respondWithResult(_0x8365d1,0xc9))[_0xd55f('0x41')](handleError(_0x8365d1,null));};exports['update']=function(_0x3afc4b,_0x221997){if(_0x3afc4b[_0xd55f('0x47')]['id']){delete _0x3afc4b[_0xd55f('0x47')]['id'];}return db[_0xd55f('0x2c')][_0xd55f('0x45')]({'where':{'id':_0x3afc4b[_0xd55f('0x43')]['id']}})[_0xd55f('0x25')](handleEntityNotFound(_0x221997,null))[_0xd55f('0x25')](saveUpdates(_0x3afc4b['body'],null))['then'](respondWithResult(_0x221997,null))[_0xd55f('0x41')](handleError(_0x221997,null));};exports['destroy']=function(_0x12be97,_0x243f80){return db['AnalyticFieldReport']['find']({'where':{'id':_0x12be97[_0xd55f('0x43')]['id']}})[_0xd55f('0x25')](handleEntityNotFound(_0x243f80,null))['then'](removeEntity(_0x243f80,null))['catch'](handleError(_0x243f80,null));};exports[_0xd55f('0x49')]=function(_0x2c580b,_0x23bf86){return db[_0xd55f('0x2c')][_0xd55f('0x26')]({'where':{'id':_0x2c580b[_0xd55f('0x2f')][_0xd55f('0x4a')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x23bf86,0xcc))[_0xd55f('0x41')](handleError(_0x23bf86,null));};exports[_0xd55f('0x4b')]=function(_0x584cbd,_0x5a5028,_0x45ea16){return db[_0xd55f('0x4c')][_0xd55f('0x4d')]({'where':{'id':_0x584cbd[_0xd55f('0x43')]['id']}})[_0xd55f('0x25')](handleEntityNotFound(_0x5a5028,null))['then'](function(_0x4553e3){if(_0x4553e3){return db[_0xd55f('0x4e')][_0xd55f('0x4f')](function(_0x37ee32){return db[_0xd55f('0x2c')]['destroy']({'where':{'CustomReportId':_0x584cbd[_0xd55f('0x43')]['id']},'transaction':_0x37ee32})[_0xd55f('0x25')](function(_0x21ff71){var _0x483d15=_[_0xd55f('0x2b')](_0x584cbd[_0xd55f('0x47')],function(_0x1baafb){delete _0x1baafb['id'];_0x1baafb[_0xd55f('0x50')]=_0x584cbd[_0xd55f('0x43')]['id'];return _0x1baafb;});return db['AnalyticFieldReport'][_0xd55f('0x48')](_0x483d15,{'transaction':_0x37ee32});});})[_0xd55f('0x25')](function(){return db[_0xd55f('0x2c')][_0xd55f('0x3f')]({'where':{'CustomReportId':_0x584cbd[_0xd55f('0x43')]['id']}});});}})[_0xd55f('0x25')](respondWithResult(_0x5a5028,null))['catch'](handleError(_0x5a5028,null));};