mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-04 20:33:24 +01:00
* fix(frontend): use github-versions.json for version display - Update AppVersion type to match new format with slug field - Switch from versions.json to github-versions.json API - Simplify version matching by direct slug comparison - Remove 'Loading versions...' text - show nothing if no version found * feat(frontend): show tooltip for pinned versions * fix(api): add github-versions endpoint and fix legacy versions route
37 lines
976 B
TypeScript
37 lines
976 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { promises as fs } from "node:fs";
|
|
import path from "node:path";
|
|
|
|
import type { GitHubVersionsResponse } from "@/lib/types";
|
|
|
|
export const dynamic = "force-static";
|
|
|
|
const jsonDir = "public/json";
|
|
const versionsFileName = "github-versions.json";
|
|
const encoding = "utf-8";
|
|
|
|
async function getVersions(): Promise<GitHubVersionsResponse> {
|
|
const filePath = path.resolve(jsonDir, versionsFileName);
|
|
const fileContent = await fs.readFile(filePath, encoding);
|
|
const data: GitHubVersionsResponse = JSON.parse(fileContent);
|
|
return data;
|
|
}
|
|
|
|
export async function GET() {
|
|
try {
|
|
const versions = await getVersions();
|
|
return NextResponse.json(versions);
|
|
}
|
|
catch (error) {
|
|
console.error(error);
|
|
const err = error as globalThis.Error;
|
|
return NextResponse.json({
|
|
generated: "",
|
|
versions: [],
|
|
error: err.message || "An unexpected error occurred",
|
|
}, {
|
|
status: 500,
|
|
});
|
|
}
|
|
}
|