Create function check status for other system

This commit is contained in:
joseph le 2023-10-11 16:23:15 +07:00
parent 9da1308762
commit 5f13f63532
1 changed files with 66 additions and 16 deletions

View File

@ -3,7 +3,7 @@ const crypto = require("crypto");
const moment = require("moment");
const zulip = require("zulip-js");
const { exec } = require("child_process");
const fs = require('fs');
const fs = require("fs");
const config = {
username: "networktool-bot@zulip.ipsupply.com.au",
@ -29,7 +29,7 @@ const checkMultipleRequest = async () => {
let content = "||Server| System time| Status \n|---|:---|:---|:---:\n";
// Tạo tiêu đề
let allResponse = ""
let allResponse = "";
const requests = [
//Ebay Systems
{
@ -723,6 +723,7 @@ const checkMultipleRequest = async () => {
name: "Tracking CouriersPlease",
group: "ERP Systems",
},
//Other system
{
url: "https://int.ipsupply.com.au/api/transferPostData",
method: "POST",
@ -747,6 +748,20 @@ const checkMultipleRequest = async () => {
name: "Perthmint",
group: "Other Systems",
},
{
url: "https://disti.danielvu.com/api/fileAutoImportLog",
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
loginid: null,
Code: code,
AccessToken: accessToken,
},
data: {},
name: "Auto import Disti",
group: "Other Systems",
},
];
const logicCheck = async (req, response) => {
@ -872,7 +887,7 @@ const checkMultipleRequest = async () => {
}
});
});
}
};
const promises = requests.map(async (req, index) => {
if (req.method === "POST") {
@ -881,12 +896,47 @@ const checkMultipleRequest = async () => {
headers: req.headers,
})
.then((response) => {
allResponse+=JSON.stringify(req.name+"\n"+response.data)
allResponse += JSON.stringify(req.name + "\n" + response.data);
console.log(response.data);
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
logicCheck(req, response);
if (req.name !== "Auto import Disti") {
logicCheck(req, response);
} else {
console.log(response.data?.data?.length);
if (response.data?.data?.length > 0) {
response.data?.data?.map((u) => {
let name = req.name + " from " + u.data_name;
if (u.status === true) {
report.push({
group: req.group,
name: name,
status: ":check:",
code: "good",
lengthOrData: response.data?.data,
});
} else {
report.push({
group: req.group,
name: name,
status: ":red_circle:",
code: "fail",
lengthOrData: response.data?.data,
});
}
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: "fail",
lengthOrData: response.data?.data,
});
}
}
})
.catch((error) => {
// Xử lý lỗi ở đây
@ -907,7 +957,7 @@ const checkMultipleRequest = async () => {
headers: req.headers,
})
.then((response) => {
allResponse+=JSON.stringify(req.name+"\n"+response.data)
allResponse += JSON.stringify(req.name + "\n" + response.data);
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
@ -927,12 +977,11 @@ const checkMultipleRequest = async () => {
}
if (req.method === "SSH") {
const stdout = await runExec(req.url);
if (stdout !== "") {
allResponse+=JSON.stringify(req.name+"\n"+stdout)
if(req.name==="Perthmint"){
if((stdout.toString().split("true").length-1)>1){
allResponse += JSON.stringify(req.name + "\n" + stdout);
if (req.name === "Perthmint") {
if (stdout.toString().split("true").length - 1 > 1) {
report.push({
group: req.group,
name: req.name,
@ -940,7 +989,7 @@ const checkMultipleRequest = async () => {
code: "good",
lengthOrData: stdout,
});
}else{
} else {
report.push({
group: req.group,
name: req.name,
@ -949,11 +998,10 @@ const checkMultipleRequest = async () => {
lengthOrData: stdout,
});
}
}
} else {
console.log(stderr)
allResponse+=JSON.stringify(req.name+"\n"+stderr)
console.log(stderr);
allResponse += JSON.stringify(req.name + "\n" + stderr);
report.push({
group: req.group,
name: req.name,
@ -1002,9 +1050,11 @@ const checkMultipleRequest = async () => {
client.messages.send(params);
// client.messages.send(params1);
allResponse += report.sort((a, b) => a.group.localeCompare(b.group)).join("\n")
allResponse += report
.sort((a, b) => a.group.localeCompare(b.group))
.join("\n");
fs.writeFileSync("/home/logs/logSystems.txt", allResponse)
fs.writeFileSync("/home/logs/logSystems.txt", allResponse);
console.log(report.sort((a, b) => a.group.localeCompare(b.group)));
} catch (error) {
console.log(error);