mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-07 20:02:49 +00:00
* Update ScriptAccordion and ScriptItem components for improved styling * Add README.md for Proxmox VE Helper-Scripts Frontend * Remove testing dependencies and related test files from the frontend project * Update analytics URL in siteConfig to point to community-scripts.org * Refactor ESLint configuration to have one source of truth and run "npm lint" to apply new changes * Update lint script in package.json to remove npm * Add 'next' option to ESLint configuration for improved compatibility * Update package dependencies and versions in package.json and package-lock.json * Refactor theme provider import and enhance calendar component for dynamic icon rendering * rename sidebar, alerts and buttons * rename description and interfaces files * rename more files * change folder name * Refactor tooltip logic to improve updateable condition handling * Enhance CommandMenu to prevent duplicate scripts across categories * Remove test step from frontend CI/CD workflow
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
// import Error from "next/error";
|
|
import { NextResponse } from "next/server";
|
|
import { promises as fs } from "node:fs";
|
|
import path from "node:path";
|
|
|
|
import type { AppVersion } from "@/lib/types";
|
|
|
|
export const dynamic = "force-static";
|
|
|
|
const jsonDir = "public/json";
|
|
const versionsFileName = "versions.json";
|
|
const encoding = "utf-8";
|
|
|
|
async function getVersions() {
|
|
const filePath = path.resolve(jsonDir, versionsFileName);
|
|
const fileContent = await fs.readFile(filePath, encoding);
|
|
const versions: AppVersion[] = JSON.parse(fileContent);
|
|
|
|
const modifiedVersions = versions.map((version) => {
|
|
let newName = version.name;
|
|
newName = newName.toLowerCase().replace(/[^a-z0-9/]/g, "");
|
|
return { ...version, name: newName, date: new Date(version.date) };
|
|
});
|
|
|
|
return modifiedVersions;
|
|
}
|
|
|
|
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({
|
|
name: err.name,
|
|
message: err.message || "An unexpected error occurred",
|
|
version: "No version found - Error",
|
|
}, {
|
|
status: 500,
|
|
});
|
|
}
|
|
}
|