131 lines
6.1 KiB
JavaScript
131 lines
6.1 KiB
JavaScript
const { sequelize } = require('../models')
|
|
const TestHelper = require('../services/test.helper.js');
|
|
const { logMsg } = require('../services/logger.js');
|
|
const request = require('request');
|
|
var sql = require('mssql');
|
|
|
|
|
|
|
|
|
|
// api status check Api
|
|
exports.APIstatus = async (req, res) =>
|
|
{
|
|
try
|
|
{
|
|
// var dbConfig = {
|
|
// server:process.env.HOST,
|
|
// database:process.env.DATABASE,
|
|
// user:process.env.USER_NAME,
|
|
// password:process.env.PASSWORD,
|
|
// port: Number(process.env.PORT)
|
|
// };
|
|
// await sql.connect(dbConfig)
|
|
// result = await sql.query`select * from applicants where id = 66`
|
|
// console.log(result)
|
|
|
|
|
|
token_data = await TestHelper.TokenAPI();
|
|
apiArr = [ ];
|
|
serverArr = [ ];
|
|
dbArr = [ ];
|
|
StatusFailArr = [ ];
|
|
ApiData = await JSON.parse(process.env.STATUSARRAY);
|
|
if (token_data.status == 200) { apiArr.push({ "Api" : "Token API" , "StatusCode" : token_data.status , "Status" : "Up"}); }
|
|
else { apiArr.push({ "Api" : "Token API" , "StatusCode" : token_data.status || 502 , "Status" : "Down"}); StatusFailArr.push(token_data.status) }
|
|
for (const object of ApiData)
|
|
{
|
|
reqObj = { };
|
|
URL = object.url;
|
|
request_object = object.requestObject;
|
|
if (object.header == 1 && token_data.status == 200) { request_header = "Bearer"+" "+token_data.data.token; reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} }
|
|
else { reqObj = {url: URL,method: object.method,json: true,body: request_object} }
|
|
request(reqObj, async function (error, response, body) {
|
|
if (response == undefined)
|
|
{
|
|
if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : 502, "Status" : "Down"}); StatusFailArr.push("down") }
|
|
if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down"}); StatusFailArr.push("down") }
|
|
if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down"}); StatusFailArr.push("down") }
|
|
if (ApiData.length + 1 == apiArr.length + serverArr.length + dbArr.length) {
|
|
await TestHelper.HTML( req , res , apiArr , serverArr , dbArr , StatusFailArr );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (response.statusCode == 200)
|
|
{
|
|
if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); }
|
|
if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); }
|
|
if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); }
|
|
}
|
|
if (response.statusCode != 200)
|
|
{
|
|
if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode, "Status" : "Down"}); StatusFailArr.push(response.statusCode) }
|
|
if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) }
|
|
if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) }
|
|
}
|
|
if (ApiData.length + 1 == apiArr.length + serverArr.length + dbArr.length) {
|
|
await TestHelper.HTML( req , res , apiArr , serverArr , dbArr , StatusFailArr );
|
|
}
|
|
}
|
|
})
|
|
};
|
|
}
|
|
catch(err)
|
|
{
|
|
res.render( 'error' , { data : err } , function (err, html ) {
|
|
res.send(html)
|
|
})
|
|
} //end of try catch
|
|
|
|
};
|
|
|
|
|
|
// Single Api status check Api
|
|
exports.SingleApiStatus = async (req, res) =>
|
|
{
|
|
try
|
|
{
|
|
ApiName = req.body.api;
|
|
ApiData = JSON.parse(process.env.STATUSARRAY);
|
|
token_data = await TestHelper.TokenAPI();
|
|
if (ApiName == "Token API")
|
|
{
|
|
if (token_data.status == 200) { res.send({ "Api" : "Token API" , "StatusCode" : token_data.status , "Status" : "Up" , "success" : true}) }
|
|
else { res.send({ "Api" : "Token API" , "StatusCode" : token_data.status , "Status" : "Down" , "success" : true}) }
|
|
}
|
|
else
|
|
{
|
|
ApiData.forEach(async(object) =>
|
|
{
|
|
if (ApiName == object.name)
|
|
{
|
|
reqObj = { };
|
|
URL = object.url;
|
|
request_object = object.requestObject;
|
|
if (object.header == 1 && token_data.status == 200) { request_header = "Bearer"+" "+token_data.data.token; reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} }
|
|
else { reqObj = {url: URL,method: object.method,json: true,body: request_object} }
|
|
request(reqObj, function (error, response, body) {
|
|
if (response == undefined)
|
|
{
|
|
res.send({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down" , "success" : true})
|
|
}
|
|
else
|
|
{
|
|
if (response.statusCode == 200) { res.send({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up" , "success" : true}) }
|
|
else { res.send({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down" , "success" : true}) }
|
|
}
|
|
})
|
|
}
|
|
});
|
|
}
|
|
}
|
|
catch(err)
|
|
{
|
|
res.send({'status':404,
|
|
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
|
});
|
|
} //end of try catch
|
|
|
|
};
|
|
|