update sendDeviceInfo (RAM-Flash SPE)

This commit is contained in:
joseph le 2023-11-02 15:02:52 +07:00
parent 9ede38fb6f
commit 8b0d67a965
5 changed files with 274 additions and 172 deletions

View File

@ -19,6 +19,8 @@ export const sendDeviceInfora = async () => {
const memDefault = allKeyValue
.filter((i) => i.$attributes.key === "MEMORY_DEFAULT")
.map((obj) => obj.$attributes.value);
console.log(memDefault)
let listInformation = [];
let dataFile = await LogDetectFile.all();
@ -178,7 +180,7 @@ export const sendDeviceInfora = async () => {
}
} else {
if (PID !== "" && SN !== "") {
const memDefaultForPID =
let memDefaultForPID =
memDefault.filter((i) =>
PID.includes(i.split(":")[0])
)[0] !== undefined
@ -198,6 +200,14 @@ export const sendDeviceInfora = async () => {
if(mathches && stringMem[0]?.includes("CHASSIS")){
console.log(mathches)
memDefaultForPID =
memDefault.filter((i) =>
mathches[0].trim().includes(i.split(":")[0])
)[0] !== undefined
? memDefault.filter((i) =>
mathches[0].trim().includes(i.split(":")[0])
)[0]
: mathches[0].trim() + ":N/A:N/A";
PID = mathches[0].trim();
SN = showInventoryContent.filter((i)=>i.includes(mathches[0].trim()))[0]?.split("SN:")[1]?.replace(/,/g, "").trim();
VID = showInventoryContent.filter((i)=>i.includes(mathches[0].trim()))[0]?.split("VID:")[1]

View File

@ -6,6 +6,7 @@ import { Routes, Route, Switch, useParams } from "react-router-dom";
import ShowLog from "./components/ShowLog/ShowLog";
import ListLog from "./components/ListLog/ListLog";
import ScreenShot from "./components/ScreenShot/ScreenShot";
import PrivateLog from "./pages/PrivateLog";
function App() {
return (
<div className="App">
@ -17,6 +18,7 @@ function App() {
<Route path="/logs/:name" element={<ShowLog />}></Route>
<Route path="/logs" element={<ListLog />}></Route>
<Route path="/screenShot/:name" element={<ScreenShot />}></Route>
<Route path="/private-log" element={<PrivateLog />}></Route>
</Routes>
</div>
);

View File

@ -5,4 +5,6 @@ export const deleteValue = API + "/deleteValue";
export const addKeyValue = API + "/addValue";
export const editValue = API + "/editValue";
export const getLog = API + "/log/showLog";
export const getListLog = API + "/getAllLogDetect";
export const getListLog = API + "/getAllLogDetect";
export const listOnFolder = API + "/private-log/getFileOnFolder";
export const getContentFile = API + "/private-log/readFile";

View File

@ -0,0 +1,258 @@
import axios from "axios";
import React, { useEffect, useState } from "react";
import { getContentFile, listOnFolder } from "../api/apiLog";
const PrivateLog = () => {
const [listInFolderPM2, setListInFolderPM2] = useState([]);
const [listInFolderLogs, setListInFolderLogs] = useState([]);
const [listInFolderAPI, setListInFolderAPI] = useState([]);
const [pathBeforePM2, setPathBeforePM2] = useState("/home/pm2_backup");
const [pathBeforeLogs, setPathBeforeLogs] = useState("/home/logs");
const [pathBeforeAPI, setPathBeforeAPI] = useState(
"/home/Log_service/app/store/logsAPI"
);
const [searchPM2, setSearchPM2] = useState("");
const [searchLogs, setSearchLogs] = useState("");
const [searchAPI, setSearchAPI] = useState("");
const [content, setContent] = useState("");
const [choose, setChoose] = useState(1);
const [fileChoose, setFileChoose] = useState("");
const getAllInFolder = async (path, save) => {
try {
const res = await axios.post(listOnFolder, { folerPath: path });
save(res.data);
} catch (error) {
console.log(error);
}
};
const getContent = async (pathFile) => {
try {
const res = await axios.post(getContentFile, { filePath: pathFile });
setContent(res.data);
} catch (error) {
console.log(error);
}
};
useEffect(() => {
getAllInFolder(pathBeforePM2, setListInFolderPM2);
getAllInFolder(pathBeforeLogs, setListInFolderLogs);
getAllInFolder(pathBeforeAPI, setListInFolderAPI);
}, []);
return (
<div>
<button onClick={()=>setChoose(1)}>PM2</button>
<button onClick={()=>setChoose(2)}>API</button>
<button onClick={()=>setChoose(3)}>Logs Test</button>
<div style={{ display: "flex" }}>
<div
style={{
width: "30%",
height: "100vh",
overflow: "auto",
padding: 10,
display:choose===1?"block":"none"
}}
>
<div
style={{
cursor: "pointer",
margin: "1vh 0",
fontSize: "0.7rem",
fontWeight: 750,
position: "fixed",
display: "flex",
backgroundColor: "white",
width: "25%",
}}
onClick={() => {
getAllInFolder(pathBeforePM2, setListInFolderPM2);
}}
>
. .PM2{" "}
</div>
{listInFolderPM2.map((u) => (
<div>
<div
key={u.name}
style={{
cursor: "pointer",
margin: "1vh 1vh",
fontSize: "0.7rem",
fontWeight: 750,
backgroundColor:fileChoose===u.name?"#ffdea9":"white"
}}
onClick={() => {
if (u.type === "directory") {
setPathBeforePM2(
u.name
?.split("/")
?.slice(0, u.name.split("/").length - 1)
.join("/")
);
getAllInFolder(u.name, setListInFolderPM2);
} else {
getContent(u.name);
setFileChoose(u.name)
console.log(u);
}
}}
>
{u.type==="file"?"f - ": "d - "}{u.name?.split("/")[u.name.split("/").length - 1]}
</div>
</div>
))}
</div>
<div
style={{
width: "30%",
height: "100vh",
overflow: "auto",
padding: 10,
display:choose===2?"block":"none"
}}
>
<div
style={{
cursor: "pointer",
margin: "1vh 0",
fontSize: "0.7rem",
fontWeight: 750,
position: "fixed",
display: "flex",
backgroundColor: "white",
width: "25%",
}}
onClick={() => {
getAllInFolder(pathBeforeAPI, setPathBeforeAPI);
}}
>
. .API{" "}
</div>
{listInFolderAPI.map((u) => (
<div>
<div
key={u.name}
style={{
cursor: "pointer",
margin: "1vh 1vh",
fontSize: "0.7rem",
fontWeight: 750,
backgroundColor:fileChoose===u.name?"#ffdea9":"white"
}}
onClick={() => {
if (u.type === "directory") {
setPathBeforeAPI(
u.name
?.split("/")
?.slice(0, u.name.split("/").length - 1)
.join("/")
);
getAllInFolder(u.name, setPathBeforeAPI);
} else {
getContent(u.name);
setFileChoose(u.name)
console.log(u);
}
}}
>
{u.type==="file"?"f - ": "d - "}{u.name?.split("/")[u.name.split("/").length - 1]}
</div>
</div>
))}
</div>
<div
style={{
width: "30%",
height: "100vh",
overflow: "auto",
padding: 10,
display:choose===3?"block":"none"
}}
>
<div
style={{
cursor: "pointer",
margin: "1vh 0",
fontSize: "0.7rem",
fontWeight: 750,
position: "fixed",
display: "flex",
backgroundColor: "white",
width: "25%",
}}
onClick={() => {
getAllInFolder(pathBeforeLogs, setListInFolderLogs);
}}
>
<div style={{ width: "20%" }}>. .Logs</div>
<div>
<input
type="text"
onKeyUp={(e) => {
console.log(e.target.value);
setSearchLogs(e.target.value);
}}
/>
</div>
</div>
<div style={{ marginTop: "2vh" }}>
{listInFolderLogs
.filter((i) => i.name.includes(searchLogs))
.map((u) => (
<div
key={u.name}
style={{
cursor: "pointer",
margin: "1vh 1vh",
fontSize: "0.7rem",
fontWeight: 750,
backgroundColor:fileChoose===u.name?"#ffdea9":"white"
}}
onClick={() => {
if (u.type === "directory") {
setPathBeforeLogs(
u.name
?.split("/")
?.slice(0, u.name.split("/").length - 1)
.join("/")
);
getAllInFolder(u.name, setListInFolderLogs);
} else {
getContent(u.name);
setFileChoose(u.name)
console.log(u);
}
}}
>
{u.type==="file"?"f - ": "d - "}{u.name?.split("/")[u.name.split("/").length - 1]}
</div>
))}
</div>
</div>
<textarea
style={{
border: "solid 1px gray",
width: "70%",
height: "100vh",
color: "#70e300",
backgroundColor: "black",
fontWeight: 500,
fontSize: "0.7rem",
}}
value={content}
></textarea>
</div>
</div>
);
};
export default PrivateLog;

View File

@ -33,176 +33,6 @@ import Cache from "@ioc:Kaperskyguru/Adonis-Cache";
runtimeCheckLogs(Env.get("FOLDER_LOGS"));
// setTimeout(async() => {
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// LogDetectFile.all()
// console.log("first")
// }, 2000);
//ERP get index serial number
Route.post("/api/getIndexSerialNumber", "ErpsController.getIndexSerialNumber")
.middleware("checkToken").middleware(