Log_service/app/utils/sendStatusOtherSystem.js

1139 lines
35 KiB
JavaScript

const axios = require("axios");
const crypto = require("crypto");
const moment = require("moment");
const zulip = require("zulip-js");
const { exec } = require("child_process");
const fs = require("fs");
const config = {
username: "networktool-bot@zulip.ipsupply.com.au",
apiKey: "0jMAmOuhfLvBqKJikv5oAkyNM4RIEoAM",
realm: "https://zulip.ipsupply.com.au",
};
const checkMultipleRequest = async () => {
try {
let report = [];
let time = moment(Date.now()).format("HH:mm - DD/MM");
const client = await zulip(config);
const code = Math.random().toString(36).substring(2, 12);
const secretString =
code + "24feca0508b52d34b51db4b40964e7fff12edf71208a4607126f75cb5d504f7f";
const accessToken = crypto
.createHash("md5")
.update(secretString)
.digest("hex");
const tokenInt =
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2ludC5pcHN1cHBseS5jb20uYXUvYXBpL2xvZ2luIiwiaWF0IjoxNjg5ODYyNjAxLCJleHAiOjE3MjEzOTg2MDEsIm5iZiI6MTY4OTg2MjYwMSwianRpIjoiUElZVjNBM3ZPQVlMQ081SyIsInN1YiI6MSwicHJ2IjoiYzhlZTFmYzg5ZTc3NWVjNGM3Mzg2NjdlNWJlMTdhNTkwYjZkNDBmYyJ9.UcybIKMBjTAY9i0PfIDQMtqHyN72Ul0jC03ZDGLGpMI";
let content = "||Server| System time| Status \n|---|:---|:---|:---:\n";
// Tạo tiêu đề
let allResponse = "";
const requests = [
//Ebay Systems
// {
// url: "https://disti.danielvu.com/api/eBayNewItemLog",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Accept: "application/json",
// loginid: null,
// Code: code,
// AccessToken: accessToken,
// },
// data: {},
// name: "New item",
// group: "Ebay Systems",
// },
// {
// url: "https://disti.danielvu.com/api/eBayChatLog",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Accept: "application/json",
// loginid: null,
// Code: code,
// AccessToken: accessToken,
// },
// data: {},
// name: "Ebay message",
// group: "Ebay Systems",
// },
// {
// url: "https://disti.danielvu.com/api/sendSellerOrderToERP",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Accept: "application/json",
// loginid: null,
// Code: code,
// AccessToken: accessToken,
// },
// data: {},
// name: "Erp Sync Order Ebay",
// group: "Ebay Systems",
// },
// {
// url: "https://disti.danielvu.com/api/sendBuyerOrderToERP",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Accept: "application/json",
// loginid: null,
// Code: code,
// AccessToken: accessToken,
// },
// data: {},
// name: "Erp Sync PO Ebay",
// group: "Ebay Systems",
// },
// //ERP Systems
// {
// url: "https://int.ipsupply.com.au/api/transferGetData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/test-log-serial-number/sync-data",
// filter: {},
// },
// name: "Log SN to ERP",
// group: "ERP Systems",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferGetData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/stock-model-serial/check-sn-cisco",
// filter: {},
// },
// name: "SN Cisco to ERP",
// group: "ERP Systems",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "Fedex",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["600 Terminal Dr"],
// city: "Louisville",
// stateOrProvinceCode: "KY",
// postalCode: "40209",
// countryCode: "US",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate Fedex",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "DHL",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["600 Terminal Dr"],
// city: "Louisville",
// stateOrProvinceCode: "KY",
// postalCode: "40209",
// countryCode: "US",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate DHL",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "Transdirect",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["600 Terminal Dr"],
// city: "Louisville",
// stateOrProvinceCode: "KY",
// postalCode: "40209",
// countryCode: "US",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate Transdirect",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "CouriersPlease",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["600 Terminal Dr"],
// city: "Louisville",
// stateOrProvinceCode: "KY",
// postalCode: "40209",
// countryCode: "US",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate Courier Please",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "Auspost",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["600 Terminal Dr"],
// city: "Louisville",
// stateOrProvinceCode: "KY",
// postalCode: "40209",
// countryCode: "US",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate Auspost",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "FRF",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["112 Munro St"],
// city: "South Melbourne",
// postalCode: "3205",
// countryCode: "AU",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate FRF",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "Sendle",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
// city: "Lidcombe",
// stateOrProvinceCode: "",
// postalCode: "2141",
// countryCode: "AU",
// },
// to: {
// streetLines: ["112 Munro St"],
// city: "South Melbourne",
// postalCode: "3205",
// countryCode: "AU",
// },
// requestedPackageLineItems: [
// {
// weight: {
// value: 10,
// units: "KG",
// },
// dimensions: {
// length: 2,
// width: 3,
// height: 4,
// units: "CM",
// },
// groupPackageCount: 1,
// },
// ],
// commodities: [
// {
// description: "G6",
// quantity: 2,
// quantityUnits: "PCS",
// unitPrice: {
// amount: 10000,
// currency: "USD",
// },
// customsValue: {
// amount: 10000,
// currency: "USD",
// },
// },
// ],
// inforCreateFedex: {
// pickupType: "CONTACT_FEDEX_TO_SCHEDULE",
// },
// },
// },
// },
// name: "Shipping rate Sendle",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "782568904960",
// type: "Fedex",
// },
// },
// name: "Tracking Fedex",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "210865775",
// type: "TNT",
// },
// },
// name: "Tracking TNT",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "1Z94VTP30308384260",
// type: "UPS",
// },
// },
// name: "Tracking UPS",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "33FJV771376901000930306",
// type: "Auspost",
// },
// },
// name: "Tracking Auspost",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "9400111206203073428144",
// type: "USPS",
// },
// },
// name: "Tracking USPS",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "CVAZ00633255",
// type: "StarTrack",
// },
// },
// name: "Tracking StarTrack",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "S92C5DS",
// type: "Sendle",
// },
// },
// name: "Tracking Sendle",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "2334909695 ",
// type: "DHL",
// },
// },
// name: "Tracking DHL",
// group: "Shipping System",
// },
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/logistics/check-tracking",
// data: {
// trackingNumber: "60508912001",
// type: "CouriersPlease",
// },
// },
// name: "Tracking CouriersPlease",
// group: "Shipping System",
// },
// //Other system
// {
// url: "https://int.ipsupply.com.au/api/transferPostData",
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// Authorization: "Bearer " + tokenInt,
// },
// data: {
// urlAPI: "/api/stock-model-serial/check-sn-list-cisco",
// data: {
// serialNumbers: ["FGL1716W349"],
// },
// },
// name: "Check SN Cisco",
// group: "Other Systems",
// },
// {
// url: "ssh danielvu-gold@172.16.6.2 cat /home/danielvu-gold/htdocs/gold.danielvu.com/check_file.json",
// method: "SSH",
// headers: {},
// data: {},
// 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",
// },
//Test Log System
{
url: "nc -zv 172.16.7.13 8002",
method: "EXEC",
headers: {},
data: {},
name: "ATC to ERP",
group: "Test Log System",
},
{
url: "nc -zv 172.16.7.13 5000",
method: "EXEC",
headers: {},
data: {},
name: "ATC worked",
group: "Test Log System",
},
{
url: "nc -zv 172.16.6.23 7777",
method: "EXEC",
headers: {},
data: {},
name: "Read Test Log",
group: "Test Log System",
},
];
const logicCheck = async (req, response) => {
try {
if (Array.isArray(response.data) === false) {
if (
(response.data.data !== undefined &&
response.data.data.length > 0) ||
(response.data !== undefined && response.data?.success)
) {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: response.status,
lengthOrData: response.data?.data?.length | response.data,
});
} else {
if (response.data?.data !== undefined) {
if (Array.isArray(response.data.data) === false) {
const data = JSON.stringify(
response.data?.data
)?.toLocaleLowerCase();
if (
data?.includes("error") ||
data?.includes("invalid") ||
response.data.data === undefined
) {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: response.status,
lengthOrData: JSON.stringify(response.data?.data),
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: response.status,
lengthOrData: response.data?.data?.length,
});
}
} else {
if (
response.data?.data !== undefined &&
response.data?.data?.length > 0
) {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: response.status,
lengthOrData: response.data?.data?.length,
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: response.status,
lengthOrData: JSON.stringify(response.data?.data),
});
}
}
} else {
const data = JSON.stringify(response.data)?.toLocaleLowerCase();
if (
data?.includes("error") ||
data?.includes("invalid") ||
response.data === undefined
) {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: response.status,
lengthOrData: JSON.stringify(response.data?.data),
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: response.status,
lengthOrData: response.data?.data?.length,
});
}
}
}
} else {
if (response.data.length > 0) {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: response.status,
lengthOrData: response.data.length,
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: response.status,
lengthOrData: response.data,
});
}
}
} catch (error) {
console.log("logic check: ", error);
}
};
const runExec = (command, name) => {
return new Promise((resolve, reject) => {
exec(command, (error, stdout, stderr) => {
if (error) {
reject(error);
} else {
if(name === "Test Log System"){
if (stdout !== "") {
resolve(stdout);
} else {
resolve(stderr);
}
}else{
resolve(stdout);
}
}
});
});
};
const sortArray = (data) => {
data.sort((a, b) => {
if (a.group === b.group) {
return a.name.localeCompare(b.name);
}
return a.group.localeCompare(b.group);
});
// Đưa group "Other Systems" xuống cuối
data.sort((a, b) => {
if (a.group === "Other Systems") return 1;
if (b.group === "Other Systems") return -1;
return 0;
});
return data
};
const promises = requests.map(async (req, index) => {
if (req.method === "POST") {
await axios
.post(req.url, req.data, {
headers: req.headers,
})
.then((response) => {
let responseDataString = JSON.stringify(response.data, null, 2);
allResponse += `${req.name}\n${responseDataString}\n\n`;
console.log(response.data);
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
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
console.log("Error:", error);
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: response.status,
lengthOrData: "Error: " + error,
});
});
}
if (req.method === "GET") {
await axios
.get(req.url, req.data, {
headers: req.headers,
})
.then((response) => {
let responseDataString = JSON.stringify(response.data, null, 2);
allResponse += `${req.name}\n${responseDataString}\n\n`;
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
logicCheck(req, response);
})
.catch((error) => {
// Xử lý lỗi ở đây
console.log("Error:", error);
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: error.status,
lengthOrData: "Error: " + error,
});
});
}
if (req.method === "EXEC") {
const stdout = await runExec(req.url, req.group);
if (stdout !== "") {
let responseDataString = JSON.stringify(stdout, null, 2);
allResponse += `${req.name}\n${responseDataString}\n\n`;
if (req.name === "Perthmint") {
if (stdout.toString().split("true").length - 1 > 1) {
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: "good",
lengthOrData: stdout,
});
} else {
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: "fail",
lengthOrData: stdout,
});
}
}
if(req.group === "Test Log System"){
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: "good",
lengthOrData: stdout,
});
}
} else {
console.log(stdout);
let responseDataString = JSON.stringify(stdout, null, 2);
allResponse += `${req.name}\n${responseDataString}\n\n`;
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: "fail",
lengthOrData: stdout,
});
}
}
});
await Promise.all(promises);
let groupName = sortArray(report)[0]
?.group;
let no = 0;
content += "||**" + groupName + "**|||\n";
sortArray(report).map((u, index) => {
no += 1;
if (u.group === groupName) {
content +=
"|" + no + "|" + u.name + "|**" + time + "**|" + u.status + "|\n";
} else {
no = 1;
groupName = u.group;
content += "||**" + groupName + "**|||\n";
content +=
"|" + no + "|" + u.name + "|**" + time + "**|" + u.status + "|\n";
}
});
let params = {
type: "stream",
to: "Result test - auto.nswteam.net",
topic: "AU-dev",
content: content,
// content: JSON.stringify(report, null, 2),
};
let params1 = {
type: "stream",
to: "System Logs",
topic: "stream events",
content: content,
};
client.messages.send(params);
// client.messages.send(params1);
report.map((r)=>{
allResponse += JSON.stringify(r, null, 2)
})
fs.writeFileSync("/home/logs/logSystems.txt", allResponse);
console.log(sortArray(report));
} catch (error) {
console.log(error);
if (
JSON.stringify(error).includes(
"https://zulip.ipsupply.com.au/api/v1/messages failed"
)
) {
checkMultipleRequest();
}
}
};
checkMultipleRequest();