Built motion from commit (unavailable).|2.5.8
[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 _0x7390=['to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','send','index','map','AnalyticFieldReport','rawAttributes','key','model','name','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','filters','where','merge','type','VIRTUAL','filter','options','includeAll','include','then','rows','show','params','find','create','body','catch','bulkCreate','bulkDestroy','ids','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','path','sox'];(function(_0x2648c7,_0xbfc590){var _0x190ccd=function(_0x2c7456){while(--_0x2c7456){_0x2648c7['push'](_0x2648c7['shift']());}};_0x190ccd(++_0xbfc590);}(_0x7390,0xe9));var _0x0739=function(_0x164e24,_0x285fb4){_0x164e24=_0x164e24-0x0;var _0x1436c8=_0x7390[_0x164e24];return _0x1436c8;};'use strict';var pdf=require(_0x0739('0x0'));var emlformat=require(_0x0739('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0739('0x2'));var rp=require(_0x0739('0x3'));var moment=require('moment');var BPromise=require(_0x0739('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x0739('0x5'));var sox=require(_0x0739('0x6'));var csv=require(_0x0739('0x7'));var ejs=require(_0x0739('0x8'));var fs=require('fs');var _=require(_0x0739('0x9'));var squel=require(_0x0739('0xa'));var crypto=require(_0x0739('0xb'));var jsforce=require(_0x0739('0xc'));var deskjs=require(_0x0739('0xd'));var toCsv=require(_0x0739('0x7'));var querystring=require(_0x0739('0xe'));var Papa=require(_0x0739('0xf'));var Redis=require(_0x0739('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0739('0x11'));var hardwareService=require(_0x0739('0x12'));var logger=require('../../config/logger')(_0x0739('0x13'));var utils=require(_0x0739('0x14'));var config=require(_0x0739('0x15'));var licenseUtil=require(_0x0739('0x16'));var db=require(_0x0739('0x17'))['db'];function respondWithStatusCode(_0x5d2919,_0x246628){_0x246628=_0x246628||0xcc;return function(_0x15bcb4){if(_0x15bcb4){return _0x5d2919[_0x0739('0x18')](_0x246628);}return _0x5d2919[_0x0739('0x19')](_0x246628)[_0x0739('0x1a')]();};}function respondWithResult(_0x11f84b,_0x41b8fb){_0x41b8fb=_0x41b8fb||0xc8;return function(_0x36bf26){if(_0x36bf26){return _0x11f84b['status'](_0x41b8fb)[_0x0739('0x1b')](_0x36bf26);}};}function respondWithFilteredResult(_0x56ceac,_0x553af7){return function(_0x414474){if(_0x414474){var _0x52f931=_0x414474[_0x0739('0x1c')],_0x23b6fc=_0x553af7[_0x0739('0x1d')],_0x59d61a=_0x553af7[_0x0739('0x1d')]+_0x553af7[_0x0739('0x1e')],_0x4cb7dd;if(_0x59d61a>=_0x52f931){_0x59d61a=_0x52f931;_0x4cb7dd=0xc8;}else{_0x4cb7dd=0xce;}_0x56ceac[_0x0739('0x19')](_0x4cb7dd);return _0x56ceac[_0x0739('0x1f')](_0x0739('0x20'),_0x23b6fc+'-'+_0x59d61a+'/'+_0x52f931)['json'](_0x414474);}return null;};}function patchUpdates(_0x3c23ad){return function(_0x1540a3){try{jsonpatch[_0x0739('0x21')](_0x1540a3,_0x3c23ad,!![]);}catch(_0x6e23a3){return BPromise[_0x0739('0x22')](_0x6e23a3);}return _0x1540a3['save']();};}function saveUpdates(_0x49afc5,_0x2e9e9e){return function(_0x580db1){if(_0x580db1){return _0x580db1[_0x0739('0x23')](_0x49afc5)['then'](function(_0x1a6524){return _0x1a6524;});}return null;};}function removeEntity(_0x11bc5b,_0x12f09c){return function(_0x498495){if(_0x498495){return _0x498495[_0x0739('0x24')]()['then'](function(){_0x11bc5b['status'](0xcc)[_0x0739('0x1a')]();});}};}function handleEntityNotFound(_0x40faa8,_0x1f40ff){return function(_0x520867){if(!_0x520867){_0x40faa8[_0x0739('0x18')](0x194);}return _0x520867;};}function handleError(_0x4d8644,_0xa71a44){_0xa71a44=_0xa71a44||0x1f4;return function(_0xe00378){logger['error'](_0xe00378['stack']);if(_0xe00378['name']){delete _0xe00378['name'];}_0x4d8644[_0x0739('0x19')](_0xa71a44)[_0x0739('0x25')](_0xe00378);};}exports[_0x0739('0x26')]=function(_0x479e74,_0x565392){var _0x6bebfe={},_0x5dae09={},_0xb0b3d2={'count':0x0,'rows':[]};var _0x5a920b=_[_0x0739('0x27')](db[_0x0739('0x28')][_0x0739('0x29')],function(_0x3e2a07){return{'name':_0x3e2a07['fieldName'],'type':_0x3e2a07['type'][_0x0739('0x2a')]};});_0x5dae09[_0x0739('0x2b')]=_['map'](_0x5a920b,_0x0739('0x2c'));_0x5dae09[_0x0739('0x2d')]=_[_0x0739('0x2e')](_0x479e74[_0x0739('0x2d')]);_0x5dae09['filters']=_['intersection'](_0x5dae09[_0x0739('0x2b')],_0x5dae09[_0x0739('0x2d')]);_0x6bebfe[_0x0739('0x2f')]=_[_0x0739('0x30')](_0x5dae09[_0x0739('0x2b')],qs[_0x0739('0x31')](_0x479e74['query'][_0x0739('0x31')]));_0x6bebfe[_0x0739('0x2f')]=_0x6bebfe['attributes'][_0x0739('0x32')]?_0x6bebfe['attributes']:_0x5dae09[_0x0739('0x2b')];if(!_0x479e74[_0x0739('0x2d')][_0x0739('0x33')](_0x0739('0x34'))){_0x6bebfe[_0x0739('0x1e')]=qs[_0x0739('0x1e')](_0x479e74[_0x0739('0x2d')][_0x0739('0x1e')]);_0x6bebfe[_0x0739('0x1d')]=qs[_0x0739('0x1d')](_0x479e74[_0x0739('0x2d')][_0x0739('0x1d')]);}_0x6bebfe['order']=qs[_0x0739('0x35')](_0x479e74[_0x0739('0x2d')]['sort']);_0x6bebfe['where']=qs[_0x0739('0x36')](_['pick'](_0x479e74[_0x0739('0x2d')],_0x5dae09['filters']),_0x5a920b);if(_0x479e74['query']['filter']){_0x6bebfe[_0x0739('0x37')]=_[_0x0739('0x38')](_0x6bebfe['where'],{'$or':_['map'](_0x5a920b,function(_0x3c90c5){if(_0x3c90c5[_0x0739('0x39')]!==_0x0739('0x3a')){var _0x3e2bfa={};_0x3e2bfa[_0x3c90c5[_0x0739('0x2c')]]={'$like':'%'+_0x479e74['query'][_0x0739('0x3b')]+'%'};return _0x3e2bfa;}})});}_0x6bebfe=_['merge']({},_0x6bebfe,_0x479e74[_0x0739('0x3c')]);var _0x4972ec={'where':_0x6bebfe[_0x0739('0x37')]};return db['AnalyticFieldReport'][_0x0739('0x1c')](_0x4972ec)['then'](function(_0x50a991){_0xb0b3d2['count']=_0x50a991;if(_0x479e74[_0x0739('0x2d')][_0x0739('0x3d')]){_0x6bebfe[_0x0739('0x3e')]=[{'all':!![]}];}return db[_0x0739('0x28')]['findAll'](_0x6bebfe);})[_0x0739('0x3f')](function(_0x555789){_0xb0b3d2[_0x0739('0x40')]=_0x555789;return _0xb0b3d2;})[_0x0739('0x3f')](respondWithFilteredResult(_0x565392,_0x6bebfe))['catch'](handleError(_0x565392,null));};exports[_0x0739('0x41')]=function(_0x2a246b,_0x589029){var _0x5c0087={'raw':![],'where':{'id':_0x2a246b[_0x0739('0x42')]['id']}},_0x4fba42={};_0x4fba42['model']=_[_0x0739('0x2e')](db['AnalyticFieldReport']['rawAttributes']);_0x4fba42['query']=_[_0x0739('0x2e')](_0x2a246b[_0x0739('0x2d')]);_0x4fba42[_0x0739('0x36')]=_[_0x0739('0x30')](_0x4fba42[_0x0739('0x2b')],_0x4fba42['query']);_0x5c0087[_0x0739('0x2f')]=_['intersection'](_0x4fba42[_0x0739('0x2b')],qs[_0x0739('0x31')](_0x2a246b[_0x0739('0x2d')][_0x0739('0x31')]));_0x5c0087['attributes']=_0x5c0087[_0x0739('0x2f')][_0x0739('0x32')]?_0x5c0087[_0x0739('0x2f')]:_0x4fba42[_0x0739('0x2b')];if(_0x2a246b[_0x0739('0x2d')][_0x0739('0x3d')]){_0x5c0087[_0x0739('0x3e')]=[{'all':!![]}];}_0x5c0087=_[_0x0739('0x38')]({},_0x5c0087,_0x2a246b[_0x0739('0x3c')]);return db[_0x0739('0x28')][_0x0739('0x43')](_0x5c0087)[_0x0739('0x3f')](handleEntityNotFound(_0x589029,null))['then'](respondWithResult(_0x589029,null))['catch'](handleError(_0x589029,null));};exports[_0x0739('0x44')]=function(_0x3d37bc,_0x81f58c){return db[_0x0739('0x28')][_0x0739('0x44')](_0x3d37bc[_0x0739('0x45')],{})[_0x0739('0x3f')](respondWithResult(_0x81f58c,0xc9))[_0x0739('0x46')](handleError(_0x81f58c,null));};exports[_0x0739('0x47')]=function(_0x5381bd,_0x394e2b){return db[_0x0739('0x28')][_0x0739('0x47')](_0x5381bd[_0x0739('0x45')],{'raw':![],'individualHooks':!![]})[_0x0739('0x3f')](respondWithResult(_0x394e2b,0xc9))['catch'](handleError(_0x394e2b,null));};exports[_0x0739('0x23')]=function(_0x3cc334,_0x2b84fd){if(_0x3cc334[_0x0739('0x45')]['id']){delete _0x3cc334[_0x0739('0x45')]['id'];}return db[_0x0739('0x28')][_0x0739('0x43')]({'where':{'id':_0x3cc334['params']['id']}})[_0x0739('0x3f')](handleEntityNotFound(_0x2b84fd,null))['then'](saveUpdates(_0x3cc334[_0x0739('0x45')],null))[_0x0739('0x3f')](respondWithResult(_0x2b84fd,null))['catch'](handleError(_0x2b84fd,null));};exports[_0x0739('0x24')]=function(_0x544da9,_0xbcab13){return db[_0x0739('0x28')][_0x0739('0x43')]({'where':{'id':_0x544da9[_0x0739('0x42')]['id']}})[_0x0739('0x3f')](handleEntityNotFound(_0xbcab13,null))[_0x0739('0x3f')](removeEntity(_0xbcab13,null))[_0x0739('0x46')](handleError(_0xbcab13,null));};exports[_0x0739('0x48')]=function(_0x392372,_0x5db6c6){return db[_0x0739('0x28')][_0x0739('0x24')]({'where':{'id':_0x392372[_0x0739('0x2d')][_0x0739('0x49')]||[]},'raw':![],'individualHooks':!![]})[_0x0739('0x3f')](respondWithResult(_0x5db6c6,0xcc))[_0x0739('0x46')](handleError(_0x5db6c6,null));};exports['addFields']=function(_0x329dfa,_0x31b6a5,_0x59aa4c){return db[_0x0739('0x4a')][_0x0739('0x4b')]({'where':{'id':_0x329dfa['params']['id']}})['then'](handleEntityNotFound(_0x31b6a5,null))[_0x0739('0x3f')](function(_0x4036a7){if(_0x4036a7){return db[_0x0739('0x4c')][_0x0739('0x4d')](function(_0x1edd0d){return db[_0x0739('0x28')][_0x0739('0x24')]({'where':{'CustomReportId':_0x329dfa[_0x0739('0x42')]['id']},'transaction':_0x1edd0d})[_0x0739('0x3f')](function(_0x3d2a33){var _0xd31dd0=_['map'](_0x329dfa[_0x0739('0x45')],function(_0xaccd18){delete _0xaccd18['id'];_0xaccd18[_0x0739('0x4e')]=_0x329dfa[_0x0739('0x42')]['id'];return _0xaccd18;});return db[_0x0739('0x28')][_0x0739('0x47')](_0xd31dd0,{'transaction':_0x1edd0d});});})['then'](function(){return db[_0x0739('0x28')][_0x0739('0x4f')]({'where':{'CustomReportId':_0x329dfa[_0x0739('0x42')]['id']}});});}})[_0x0739('0x3f')](respondWithResult(_0x31b6a5,null))[_0x0739('0x46')](handleError(_0x31b6a5,null));};