diff --git a/app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx b/app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx index 63ae271..5e38016 100644 --- a/app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx +++ b/app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx @@ -156,7 +156,7 @@ const CratePage = () => { const [depCurrentPage, setDepCurrentPage] = useState(1); const [versions, setVersions] = useState([]); const itemsPerPage = 1; - const basePath = `/${params.nsfront}/${params.nsbehind}/${params.name}`; + const basePath = `/${params.nsfront}/${params.nsbehind}/${params.name}/${params.version}`; useEffect(() => { const fetchCrateData = async () => { diff --git a/app/api/crates/[nsfront]/[nsbehind]/[cratename]/[version]/unsafechecker/route.tsx b/app/api/crates/[nsfront]/[nsbehind]/[cratename]/[version]/unsafechecker/route.tsx new file mode 100644 index 0000000..7fe1b0f --- /dev/null +++ b/app/api/crates/[nsfront]/[nsbehind]/[cratename]/[version]/unsafechecker/route.tsx @@ -0,0 +1,22 @@ +import { NextRequest, NextResponse } from "next/server"; +type Params = Promise<{ nsfront: string, nsbehind: string, cratename: string, version: string }> +export async function GET(req: NextRequest, props: { params: Params }) { + try { + const params = await props.params + const { nsfront, nsbehind, cratename, version } = params; + const endpoint = process.env.CRATES_PRO_INTERNAL_HOST; + + const externalApiUrl = `${endpoint}/api/crates/${nsfront}/${nsbehind}/${cratename}/${version}/unsafechecker`; + const externalRes = await fetch(externalApiUrl); + if (!externalRes.ok) { + throw new Error('Failed to fetch external data'); + } + const externalData = await externalRes.json(); + console.log('External API Response:', externalData); + return NextResponse.json(externalData); + } catch (error) { + console.error('Error:', error); + return NextResponse.json({ error: 'Internal Server Error' }, { status: 500 }); + + } +} \ No newline at end of file