import axios from "axios"; /* |-------------------------------------------------------------------------- | Routes |-------------------------------------------------------------------------- | | This file is dedicated for defining HTTP routes. A single file is enough | for majority of projects, however you can define routes in different | files and just make sure to import them inside this file. For example | | Define routes in following two files | ├── start/routes/cart.ts | ├── start/routes/customer.ts | | and then import them inside `start/routes.ts` as follows | | import './routes/cart' | import './routes/customer' | */ import Route from "@ioc:Adonis/Core/Route"; import LogDetectFile from "App/Models/LogDetectFile"; import { runtimeCheckLogs } from "App/utils/runtimeCheckLogs"; import Env from "@ioc:Adonis/Core/Env"; import KeyValue from "App/Models/KeyValue"; import ErpsController from "App/Controllers/Http/ErpsController"; import LogReport from "App/Models/LogReport"; import Database from "@ioc:Adonis/Lucid/Database"; import { exec } from "child_process"; runtimeCheckLogs(Env.get("FOLDER_LOGS")); // Route.get("/api/list", async () => { // const a = await LogDetectFile.all(); // return a; // }); //ERP get index serial number Route.post( "/api/getIndexSerialNumber", "ErpsController.getIndexSerialNumber" ).middleware("checkToken"); Route.post("/api/getParagraph", "ErpsController.getParagraph").middleware( "checkToken" ); //Users Route.post("/api/account/createUser", "UsersController.create"); Route.post("/api/account/checkLogin", "UsersController.checkLogin"); //Log Route.get("/api/log/showLog/:name?", async ({ request, response }) => { try { let fileDetect = await LogDetectFile.findBy( "file_name", request.params().name ); let logsDetect = await Database.rawQuery( "select * from log_reports where id_file = " + fileDetect?.id_ldf ); let detectedLines = []; let listLine = logsDetect[0] .map((obj) => obj.line) .filter((value, index, self) => { return self.indexOf(value) === index; }) .sort((a, b) => a - b); const content = await axios.get( "http://192.168.5.7:8080/" + request.params().name ); let allValue = await KeyValue.all(); let listKeyValues = allValue.filter( (i) => i.$original.key === "MODEL_SPECIAL" || i.$original.key === "CATCH_FAULTY" ); let data = content.data.split("\n"); data.map((line, index) => { data[index] = "" + (index + 1) + "" + line; listKeyValues .map((obj) => obj.$original.value) .map(async (value) => { if (line.search(value) !== -1) { data[index] = data[index].slice(0, data[index].search(value)) + "" + value + "" + data[index].slice(data[index].search(value) + value.length); // } } }); }); listLine.map((u) => { detectedLines.push(data[u - 1]); }); // console.log(data) response.send( "\
\