product-admin
Version:
EA admin screens
50 lines (42 loc) • 1.35 kB
JavaScript
;
var request = require('request');
var proxy = require('express-request-proxy');
var materialService = process.env.materialService || "https://material-service-stuf-dev.run.asv-pr.ice.predix.io/products/v1/products";
var getTokenUrl = 'https://4126b27b-6860-48ee-9dc1-9cba313eac9f.predix-uaa.run.asv-pr.ice.predix.io/oauth/token';
function tokenCall(cb) {
var options = {
headers: {
Authorization: 'Basic Ym1zX2VhX3NlcnZpY2U6YmZiOTY5YTc5NGMxZGEzMWNkNGYwNjhhZjEwYzRlZmQ1M2ViZjkyMmYxNGI3N2Uy'
},
form: {
grant_type: 'client_credentials',
client_id: 'bms_ea_service'
}
};
request.post(getTokenUrl, options, cb);
console.log('inside token call after request');
}
const tenant = '1b3e5fc2-a2d9-49a3-a877-6e9e6e5b7764';
var setRoute = function (app) {
app.get('/getProducts', function (req, res) {
tokenCall(function(err, httpResponse, body) {
console.log("ahahaha we get a token? ", body);
let token = JSON.parse(body).access_token;
let url = materialService;
let reqProxy = proxy({
url: url,
query: {
size:1000
},
headers: {
Authorization: `Bearer ${token}`,
Tenant: tenant
},
timeout: 60000
});
console.log('getProducts endpoint: ' + url);
reqProxy(req, res);
});
});
}
module.exports = setRoute;