292 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			292 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
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 { runtimeCheckLogs } from "App/utils/runtimeCheckLogs";
 | 
						|
import Env from "@ioc:Adonis/Core/Env";
 | 
						|
import { sendMessToZulip } from "App/utils/sendMessToZulip";
 | 
						|
import moment from "moment";
 | 
						|
import Product from "App/Models/Product";
 | 
						|
import { sendDeviceInfora } from "App/utils/sendDeviceInfor";
 | 
						|
 | 
						|
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("writeLog");
 | 
						|
 | 
						|
Route.post("/api/getParagraph", "ErpsController.getParagraph")
 | 
						|
.middleware("checkToken")
 | 
						|
.middleware("writeLog")
 | 
						|
  
 | 
						|
 | 
						|
//Users
 | 
						|
Route.post("/api/account/createUser", "UsersController.create");
 | 
						|
 | 
						|
Route.post("/api/account/checkLogin", "UsersController.checkLogin");
 | 
						|
 | 
						|
//Log
 | 
						|
Route.get("/api/log/showLog/:name?", "LogsController.showLog").middleware(
 | 
						|
  "writeLog"
 | 
						|
);
 | 
						|
 | 
						|
Route.get("/api/getAllLogDetect", "LogsController.getAllLogDetect")
 | 
						|
 | 
						|
//Key-Value
 | 
						|
Route.post("/api/getKeyValue", "ValuesController.getKeyValue")
 | 
						|
 | 
						|
Route.post("/api/deleteValue", "ValuesController.destroy").middleware(
 | 
						|
  "writeLog"
 | 
						|
);
 | 
						|
 | 
						|
Route.post("/api/editValue", "ValuesController.edit").middleware(
 | 
						|
  "writeLog"
 | 
						|
);
 | 
						|
 | 
						|
Route.post("/api/addValue", "ValuesController.create").middleware("writeLog");
 | 
						|
 | 
						|
Route.post("/api/backupProduct", async ({ request, response }) => {
 | 
						|
  try {
 | 
						|
    const date = moment(Date.now()).format("YYYYMMDD");
 | 
						|
    const res = await axios.post(
 | 
						|
      "https://logs.danielvu.com/api/getIndexSerialNumber",
 | 
						|
      { from: date, to: date },
 | 
						|
      {
 | 
						|
        headers: {
 | 
						|
          Authorization: request.headers().authorization?.replace(/"/g, ""),
 | 
						|
        },
 | 
						|
      }
 | 
						|
    );
 | 
						|
 | 
						|
    res.data.map((obj, index) => {
 | 
						|
      res.data[index] = {
 | 
						|
        PID: res.data[index].PID,
 | 
						|
        SN: res.data[index].SN,
 | 
						|
        VID: res.data[index].VID,
 | 
						|
        line: res.data[index].line.join(","),
 | 
						|
        file: res.data[index].fileName,
 | 
						|
        warehouse: res.data[index].warehouse,
 | 
						|
      };
 | 
						|
    });
 | 
						|
    const addProduct = await Product.createMany(res.data);
 | 
						|
    // console.log(addProduct)
 | 
						|
    response.status(200).send("Add " + res.data.length + " success!");
 | 
						|
    await sendMessToZulip(
 | 
						|
      "stream",
 | 
						|
      "networkToolBot",
 | 
						|
      "Log service",
 | 
						|
      "Backup product " +
 | 
						|
        date +
 | 
						|
        " success with " +
 | 
						|
        res.data.length +
 | 
						|
        " products"
 | 
						|
    );
 | 
						|
  } catch (error) {
 | 
						|
    response.status(500).send(error);
 | 
						|
    await sendMessToZulip(
 | 
						|
      "stream",
 | 
						|
      "networkToolBot",
 | 
						|
      "Log service",
 | 
						|
      "Backup product fail. Please check!"
 | 
						|
    );
 | 
						|
  }
 | 
						|
}).middleware("writeLog");
 | 
						|
 | 
						|
Route.post("/api/sendMailInforDevice", async () => {
 | 
						|
  try {
 | 
						|
    sendDeviceInfora()
 | 
						|
  } catch (error) {
 | 
						|
    console.log(error)
 | 
						|
  }
 | 
						|
}).middleware("checkToken")
 | 
						|
 |