Built motion from commit 1cfc41f6.|2.5.41
[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 _0x1b6d=['intersection','attributes','length','hasOwnProperty','nolimit','order','where','pick','filter','merge','options','then','includeAll','include','rows','catch','params','fields','find','create','body','bulkCreate','update','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','transaction','CustomReportId','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','destroy','end','error','stack','name','send','index','AnalyticFieldReport','rawAttributes','type','key','model','map','keys','query','filters'];(function(_0x2261ce,_0x9ed8b6){var _0x524640=function(_0x3cbb90){while(--_0x3cbb90){_0x2261ce['push'](_0x2261ce['shift']());}};_0x524640(++_0x9ed8b6);}(_0x1b6d,0x10e));var _0xd1b6=function(_0x2be8c2,_0x14a4b5){_0x2be8c2=_0x2be8c2-0x0;var _0x97f531=_0x1b6d[_0x2be8c2];return _0x97f531;};'use strict';var emlformat=require(_0xd1b6('0x0'));var rimraf=require(_0xd1b6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd1b6('0x2'));var rp=require(_0xd1b6('0x3'));var moment=require(_0xd1b6('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xd1b6('0x5'));var util=require(_0xd1b6('0x6'));var path=require('path');var sox=require(_0xd1b6('0x7'));var csv=require(_0xd1b6('0x8'));var ejs=require(_0xd1b6('0x9'));var fs=require('fs');var fs_extra=require(_0xd1b6('0xa'));var _=require(_0xd1b6('0xb'));var squel=require('squel');var crypto=require(_0xd1b6('0xc'));var jsforce=require(_0xd1b6('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xd1b6('0xe'));var Redis=require('ioredis');var authService=require(_0xd1b6('0xf'));var qs=require(_0xd1b6('0x10'));var as=require(_0xd1b6('0x11'));var hardwareService=require(_0xd1b6('0x12'));var logger=require(_0xd1b6('0x13'))(_0xd1b6('0x14'));var utils=require(_0xd1b6('0x15'));var config=require(_0xd1b6('0x16'));var licenseUtil=require(_0xd1b6('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4f0eb3,_0x5706f8){_0x5706f8=_0x5706f8||0xcc;return function(_0x22cf2d){if(_0x22cf2d){return _0x4f0eb3[_0xd1b6('0x18')](_0x5706f8);}return _0x4f0eb3['status'](_0x5706f8)['end']();};}function respondWithResult(_0x373a2f,_0x36810c){_0x36810c=_0x36810c||0xc8;return function(_0x49579b){if(_0x49579b){return _0x373a2f[_0xd1b6('0x19')](_0x36810c)[_0xd1b6('0x1a')](_0x49579b);}};}function respondWithFilteredResult(_0x1338df,_0x8152fd){return function(_0x5d9404){if(_0x5d9404){var _0x3515a8=typeof _0x8152fd[_0xd1b6('0x1b')]===_0xd1b6('0x1c')&&typeof _0x8152fd[_0xd1b6('0x1d')]===_0xd1b6('0x1c');var _0x544175=_0x5d9404['count'];var _0x2cf994=_0x3515a8?0x0:_0x8152fd[_0xd1b6('0x1b')];var _0x1287a0=_0x3515a8?_0x5d9404[_0xd1b6('0x1e')]:_0x8152fd[_0xd1b6('0x1b')]+_0x8152fd['limit'];var _0x217b23;if(_0x1287a0>=_0x544175){_0x1287a0=_0x544175;_0x217b23=0xc8;}else{_0x217b23=0xce;}_0x1338df['status'](_0x217b23);return _0x1338df[_0xd1b6('0x1f')]('Content-Range',_0x2cf994+'-'+_0x1287a0+'/'+_0x544175)[_0xd1b6('0x1a')](_0x5d9404);}return null;};}function patchUpdates(_0x3355ea){return function(_0x412816){try{jsonpatch[_0xd1b6('0x20')](_0x412816,_0x3355ea,!![]);}catch(_0x1debb5){return BPromise[_0xd1b6('0x21')](_0x1debb5);}return _0x412816['save']();};}function saveUpdates(_0x28e9c9,_0x469029){return function(_0x37e49b){if(_0x37e49b){return _0x37e49b['update'](_0x28e9c9)['then'](function(_0x26b7b6){return _0x26b7b6;});}return null;};}function removeEntity(_0x34a83d,_0x496914){return function(_0x496271){if(_0x496271){return _0x496271[_0xd1b6('0x22')]()['then'](function(){_0x34a83d[_0xd1b6('0x19')](0xcc)[_0xd1b6('0x23')]();});}};}function handleEntityNotFound(_0x24b7a8,_0xadf819){return function(_0x33950c){if(!_0x33950c){_0x24b7a8['sendStatus'](0x194);}return _0x33950c;};}function handleError(_0x502163,_0xefd2b9){_0xefd2b9=_0xefd2b9||0x1f4;return function(_0x4e7550){logger[_0xd1b6('0x24')](_0x4e7550[_0xd1b6('0x25')]);if(_0x4e7550[_0xd1b6('0x26')]){delete _0x4e7550['name'];}_0x502163['status'](_0xefd2b9)[_0xd1b6('0x27')](_0x4e7550);};}exports[_0xd1b6('0x28')]=function(_0x507fef,_0x1b9994){var _0x26efb0={},_0x5cd7a0={},_0x55111e={'count':0x0,'rows':[]};var _0x7e6e5e=_['map'](db[_0xd1b6('0x29')][_0xd1b6('0x2a')],function(_0x6a79d){return{'name':_0x6a79d['fieldName'],'type':_0x6a79d[_0xd1b6('0x2b')][_0xd1b6('0x2c')]};});_0x5cd7a0[_0xd1b6('0x2d')]=_[_0xd1b6('0x2e')](_0x7e6e5e,'name');_0x5cd7a0['query']=_[_0xd1b6('0x2f')](_0x507fef[_0xd1b6('0x30')]);_0x5cd7a0[_0xd1b6('0x31')]=_[_0xd1b6('0x32')](_0x5cd7a0[_0xd1b6('0x2d')],_0x5cd7a0[_0xd1b6('0x30')]);_0x26efb0[_0xd1b6('0x33')]=_[_0xd1b6('0x32')](_0x5cd7a0['model'],qs['fields'](_0x507fef[_0xd1b6('0x30')]['fields']));_0x26efb0[_0xd1b6('0x33')]=_0x26efb0[_0xd1b6('0x33')][_0xd1b6('0x34')]?_0x26efb0['attributes']:_0x5cd7a0[_0xd1b6('0x2d')];if(!_0x507fef[_0xd1b6('0x30')][_0xd1b6('0x35')](_0xd1b6('0x36'))){_0x26efb0['limit']=qs[_0xd1b6('0x1d')](_0x507fef[_0xd1b6('0x30')]['limit']);_0x26efb0[_0xd1b6('0x1b')]=qs[_0xd1b6('0x1b')](_0x507fef[_0xd1b6('0x30')][_0xd1b6('0x1b')]);}_0x26efb0[_0xd1b6('0x37')]=qs['sort'](_0x507fef[_0xd1b6('0x30')]['sort']);_0x26efb0[_0xd1b6('0x38')]=qs[_0xd1b6('0x31')](_[_0xd1b6('0x39')](_0x507fef['query'],_0x5cd7a0[_0xd1b6('0x31')]),_0x7e6e5e);if(_0x507fef['query'][_0xd1b6('0x3a')]){_0x26efb0['where']=_[_0xd1b6('0x3b')](_0x26efb0[_0xd1b6('0x38')],{'$or':_[_0xd1b6('0x2e')](_0x7e6e5e,function(_0x17de17){if(_0x17de17['type']!=='VIRTUAL'){var _0x5772={};_0x5772[_0x17de17['name']]={'$like':'%'+_0x507fef['query'][_0xd1b6('0x3a')]+'%'};return _0x5772;}})});}_0x26efb0=_[_0xd1b6('0x3b')]({},_0x26efb0,_0x507fef[_0xd1b6('0x3c')]);var _0x39f4ff={'where':_0x26efb0[_0xd1b6('0x38')]};return db[_0xd1b6('0x29')][_0xd1b6('0x1e')](_0x39f4ff)[_0xd1b6('0x3d')](function(_0x4eea93){_0x55111e[_0xd1b6('0x1e')]=_0x4eea93;if(_0x507fef['query'][_0xd1b6('0x3e')]){_0x26efb0[_0xd1b6('0x3f')]=[{'all':!![]}];}return db['AnalyticFieldReport']['findAll'](_0x26efb0);})[_0xd1b6('0x3d')](function(_0x4f8282){_0x55111e[_0xd1b6('0x40')]=_0x4f8282;return _0x55111e;})[_0xd1b6('0x3d')](respondWithFilteredResult(_0x1b9994,_0x26efb0))[_0xd1b6('0x41')](handleError(_0x1b9994,null));};exports['show']=function(_0x4358a2,_0x2ea22c){var _0x1d6c17={'raw':![],'where':{'id':_0x4358a2[_0xd1b6('0x42')]['id']}},_0x25e9bb={};_0x25e9bb[_0xd1b6('0x2d')]=_[_0xd1b6('0x2f')](db[_0xd1b6('0x29')][_0xd1b6('0x2a')]);_0x25e9bb[_0xd1b6('0x30')]=_['keys'](_0x4358a2[_0xd1b6('0x30')]);_0x25e9bb[_0xd1b6('0x31')]=_[_0xd1b6('0x32')](_0x25e9bb[_0xd1b6('0x2d')],_0x25e9bb[_0xd1b6('0x30')]);_0x1d6c17['attributes']=_['intersection'](_0x25e9bb[_0xd1b6('0x2d')],qs[_0xd1b6('0x43')](_0x4358a2[_0xd1b6('0x30')]['fields']));_0x1d6c17[_0xd1b6('0x33')]=_0x1d6c17[_0xd1b6('0x33')]['length']?_0x1d6c17[_0xd1b6('0x33')]:_0x25e9bb[_0xd1b6('0x2d')];if(_0x4358a2[_0xd1b6('0x30')]['includeAll']){_0x1d6c17[_0xd1b6('0x3f')]=[{'all':!![]}];}_0x1d6c17=_[_0xd1b6('0x3b')]({},_0x1d6c17,_0x4358a2[_0xd1b6('0x3c')]);return db[_0xd1b6('0x29')][_0xd1b6('0x44')](_0x1d6c17)['then'](handleEntityNotFound(_0x2ea22c,null))['then'](respondWithResult(_0x2ea22c,null))[_0xd1b6('0x41')](handleError(_0x2ea22c,null));};exports[_0xd1b6('0x45')]=function(_0x1472de,_0x1e8543){return db['AnalyticFieldReport']['create'](_0x1472de[_0xd1b6('0x46')],{})[_0xd1b6('0x3d')](respondWithResult(_0x1e8543,0xc9))[_0xd1b6('0x41')](handleError(_0x1e8543,null));};exports[_0xd1b6('0x47')]=function(_0x131fc0,_0x470e26){return db[_0xd1b6('0x29')][_0xd1b6('0x47')](_0x131fc0[_0xd1b6('0x46')],{'raw':![],'individualHooks':!![]})[_0xd1b6('0x3d')](respondWithResult(_0x470e26,0xc9))[_0xd1b6('0x41')](handleError(_0x470e26,null));};exports[_0xd1b6('0x48')]=function(_0x2510db,_0x1fd56d){if(_0x2510db[_0xd1b6('0x46')]['id']){delete _0x2510db['body']['id'];}return db[_0xd1b6('0x29')]['find']({'where':{'id':_0x2510db['params']['id']}})[_0xd1b6('0x3d')](handleEntityNotFound(_0x1fd56d,null))['then'](saveUpdates(_0x2510db[_0xd1b6('0x46')],null))[_0xd1b6('0x3d')](respondWithResult(_0x1fd56d,null))[_0xd1b6('0x41')](handleError(_0x1fd56d,null));};exports[_0xd1b6('0x22')]=function(_0x5a2fe3,_0x36f220){return db[_0xd1b6('0x29')]['find']({'where':{'id':_0x5a2fe3[_0xd1b6('0x42')]['id']}})[_0xd1b6('0x3d')](handleEntityNotFound(_0x36f220,null))[_0xd1b6('0x3d')](removeEntity(_0x36f220,null))[_0xd1b6('0x41')](handleError(_0x36f220,null));};exports[_0xd1b6('0x49')]=function(_0x40bee7,_0x2ee7a0){return db['AnalyticFieldReport'][_0xd1b6('0x22')]({'where':{'id':_0x40bee7['query'][_0xd1b6('0x4a')]||[]},'raw':![],'individualHooks':!![]})[_0xd1b6('0x3d')](respondWithResult(_0x2ee7a0,0xcc))['catch'](handleError(_0x2ee7a0,null));};exports[_0xd1b6('0x4b')]=function(_0x48845c,_0x5acb43,_0x54e947){return db[_0xd1b6('0x4c')][_0xd1b6('0x4d')]({'where':{'id':_0x48845c[_0xd1b6('0x42')]['id']}})[_0xd1b6('0x3d')](handleEntityNotFound(_0x5acb43,null))[_0xd1b6('0x3d')](function(_0x62d600){if(_0x62d600){return db['sequelize'][_0xd1b6('0x4e')](function(_0x50a2ea){return db['AnalyticFieldReport'][_0xd1b6('0x22')]({'where':{'CustomReportId':_0x48845c[_0xd1b6('0x42')]['id']},'transaction':_0x50a2ea})[_0xd1b6('0x3d')](function(_0x35d97b){var _0x5022d5=_[_0xd1b6('0x2e')](_0x48845c[_0xd1b6('0x46')],function(_0x2b1663){delete _0x2b1663['id'];_0x2b1663[_0xd1b6('0x4f')]=_0x48845c[_0xd1b6('0x42')]['id'];return _0x2b1663;});return db[_0xd1b6('0x29')][_0xd1b6('0x47')](_0x5022d5,{'transaction':_0x50a2ea});});})[_0xd1b6('0x3d')](function(){return db[_0xd1b6('0x29')]['findAll']({'where':{'CustomReportId':_0x48845c[_0xd1b6('0x42')]['id']}});});}})[_0xd1b6('0x3d')](respondWithResult(_0x5acb43,null))[_0xd1b6('0x41')](handleError(_0x5acb43,null));};