Some checks failed
Build and Push LST Docker Image / docker (push) Has been cancelled
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import fs from "node:fs";
|
|
import { Router } from "express";
|
|
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
|
|
const router = Router();
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
const downloadDir = path.resolve(__dirname, "../../downloads/mobile");
|
|
|
|
const currentApk = {
|
|
fileName: "lst-mobile.apk",
|
|
};
|
|
|
|
router.get("/latest", (_, res) => {
|
|
const apkPath = path.join(downloadDir, currentApk.fileName);
|
|
|
|
if (!fs.existsSync(apkPath)) {
|
|
return res.status(404).json({ success: false, message: "APK not found" });
|
|
}
|
|
|
|
res.setHeader("Content-Type", "application/vnd.android.package-archive");
|
|
res.setHeader(
|
|
"Content-Disposition",
|
|
`attachment; filename="${currentApk.fileName}"`,
|
|
);
|
|
|
|
return res.sendFile(apkPath);
|
|
});
|
|
|
|
router.get("/ehs", (_, res) => {
|
|
const apkPath = path.join(downloadDir, "EHS.apk");
|
|
|
|
if (!fs.existsSync(apkPath)) {
|
|
return res.status(404).json({ success: false, message: "APK not found" });
|
|
}
|
|
|
|
res.setHeader("Content-Type", "application/vnd.android.package-archive");
|
|
res.setHeader("Content-Disposition", `attachment; filename="EHS.apk}"`);
|
|
|
|
return res.sendFile(apkPath);
|
|
});
|
|
|
|
export default router;
|