in source/api/services/search/lib/index.js [89:181]
function processRequest(event, ticket, cb) {
let _response = {};
let INVALID_PATH_ERR = {
Error: ['Invalid path request ', event.resource, ', ', event.httpMethod].join('')
};
let _metadata = new Metadata();
let _accessLog = new AccessLog();
let _operation = '';
if (event.resource === '/search') {
_operation = ['search data lake with terms [', event.queryStringParameters.term, ']'].join(' ');
_metadata.search(event.queryStringParameters.term, ticket, function(err, data) {
if (err) {
console.log(err);
_response = buildOutput(500, err);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'failed/error',
function(err, resp) {
return cb(_response, null);
});
} else {
_response = buildOutput(200, data);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'success',
function(err, resp) {
return cb(null, _response);
});
}
});
} else if (event.resource === '/search/index' && event.httpMethod === 'POST') {
_metadata.indexDocument(event.body, ticket, function(err, data) {
if (err) {
console.log(err);
_response = buildOutput(500, err);
return cb(_response, null);
}
_response = buildOutput(200, data);
return cb(null, _response);
});
} else if (event.resource === '/search/index' && event.httpMethod === 'DELETE') {
_operation = ['delete package', event.body.package_id, 'from search index'].join(' ');
_metadata.deleteDocument(event, ticket, function(err, data) {
if (err) {
console.log(err);
_response = buildOutput(500, err);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'failed/error',
function(err, resp) {
return cb(_response, null);
});
} else {
_response = buildOutput(200, data);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'success',
function(err, resp) {
return cb(null, _response);
});
}
});
} else if (event.resource === '/search/stats') {
_operation = 'retrieve package stats';
_metadata.stats(ticket, function(err, data) {
if (err) {
console.log(err);
_response = buildOutput(500, err);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'failed/error',
function(err, resp) {
return cb(_response, null);
});
} else {
_response = buildOutput(200, data);
_accessLog.logEvent(event.requestContext.requestId, servicename, ticket.userid, _operation,
'success',
function(err, resp) {
return cb(null, _response);
});
}
});
} else {
_response = buildOutput(500, INVALID_PATH_ERR);
return cb(_response, null);
}
};