1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-09-03 14:22:41 +02:00

Update roadmap endpoint

This commit is contained in:
Kamran Ahmed
2025-05-21 09:50:05 +01:00
parent ffe8d4c2f6
commit 9bbf8ea04b

View File

@@ -1,36 +1,32 @@
import type { APIRoute } from 'astro';
export const prerender = false;
export const prerender = true;
export async function getStaticPaths() {
const roadmapJsons = import.meta.glob('/src/data/roadmaps/**/*.json', {
eager: true,
});
return Object.keys(roadmapJsons).map((filePath) => {
const roadmapId = filePath.split('/').pop()?.replace('.json', '');
const roadmapJson = roadmapJsons[filePath] as Record<string, any>;
return {
params: {
roadmapId,
},
props: {
roadmapJson: roadmapJson?.default,
},
};
});
}
export const GET: APIRoute = async function ({ params, request, props }) {
const roadmapId = params.roadmapId;
const roadmapUrl = `${import.meta.env.PUBLIC_API_URL}/v1-official-roadmap/${roadmapId}`;
const res = await fetch(roadmapUrl);
const roadmapJson = await res.json();
if (res.status !== 200) {
return new Response(
JSON.stringify({
error: roadmapJson.error,
}),
{
status: 500,
},
);
}
return new Response(
JSON.stringify({
nodes: roadmapJson?.nodes,
edges: roadmapJson?.edges,
}),
{
status: 200,
headers: {
'Content-Type': 'application/json',
},
return new Response(JSON.stringify(props.roadmapJson), {
status: 200,
headers: {
'Content-Type': 'application/json',
},
);
});
};