Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var client = req.db;
var query = 'select "jobId".NEXTVAL as nJobId from "DUMMY"';
var jname = req.body.jobname;
var jobid;
var timestamp;
var accessToken;
if (req.headers.authorization) {
accessToken = req.headers.authorization.split(' ')[1];
} else {
logger.error('Authorization header not found');
res.status(401).json({
message: 'Authorization header not found'
});
return;
}
xssec.createSecurityContext(accessToken, xsuaaCredentials, function(error, securityContext) {
if (error) {
logger.error('Invalid access token');
res.status(401).json({
message: 'Invalid access token'
});
return;
}
if (securityContext.checkScope(SCOPE)) {
client.exec(query, function(error, rows) {
if (error) {
logger.error('Error occured' + error);
} else {
jobid = rows[0].NJOBID;
timestamp = new Date().toISOString();
return new Promise(function(resolve, reject) {
if (!this._xsuaaService || !this._xsuaaService.credentials) {
return reject(new Error('XSUAA (Source of token) service binding missing'));
} else if (!this._credentials) {
return reject(new Error('Leonardo IoT service binding missing'));
}
xssec.createSecurityContext(accessToken, this._xsuaaService.credentials, function (err, securityContext) {
if (err) {
debug(`Token exchange error: ${err}`);
return reject(err);
}
debug('Security context created successfully');
let grantType = xssec.constants.TYPE_USER_TOKEN;
if (securityContext.getGrantType() === 'client_credentials') {
grantType = xssec.constants.TYPE_CLIENT_CREDENTIALS_TOKEN;
}
securityContext.requestToken(this._credentials, grantType, {}, function (err, newToken) {
if (err) {
debug(`Token exchange error: ${err}`);
return reject(err);
}