Add /validate/:licenseKey/sign route

This commit is contained in:
Mathias Wagner
2024-07-23 00:05:06 +02:00
parent 59a3d40e1c
commit b547e3054b

View File

@ -1,5 +1,5 @@
import { Request, Response, Router } from "express";
import { validateLicense } from "@controller/validation";
import { validateLicense, signOfflineKey } from "@controller/validation";
const app: Router = Router();
@ -10,4 +10,18 @@ app.get("/:licenseKey", async (req: Request, res: Response) => {
res.json(await validateLicense(validationKey, req.params.licenseKey));
});
app.get("/:licenseKey/sign", async (req: Request, res: Response) => {
const validationKey = req.header("X-Validation-Key");
if (!validationKey) return res.status(400).json({ code: 1, message: "You need to provide a validation key" });
const offlineKey = await signOfflineKey(validationKey, req.params.licenseKey);
if (offlineKey.status !== "VALID") return res.json(offlineKey);
res.header("Content-Type", "application/octet-stream")
.header("Content-Disposition", `attachment; filename=${req.params.licenseKey}.lkey`)
.send(offlineKey.file);
});
export default app;