Fix /resume redirect links, add /api/resume route

This commit is contained in:
2025-03-21 12:26:34 -05:00
parent ee1e1cfdf6
commit 5a1ab61c65
2 changed files with 38 additions and 9 deletions

View File

@@ -56,23 +56,24 @@ const config = {
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'img.walters.to',
protocol: "https",
hostname: "img.walters.to",
},
{
protocol: 'https',
hostname: 'img.xevion.dev',
protocol: "https",
hostname: "img.xevion.dev",
},
{
protocol: 'https',
hostname: 'api.xevion.dev',
}
]
protocol: "https",
hostname: "api.xevion.dev",
},
],
},
async redirects() {
// Source cannot end with / slash
return [
{ source: "/resume", destination: "/resume.pdf", permanent: false },
{ source: "/resume", destination: "/api/resume", permanent: false },
{ source: "/resume.pdf", destination: "/api/resume", permanent: false },
...v2_redirects,
];
},

28
src/pages/api/resume.ts Normal file
View File

@@ -0,0 +1,28 @@
import directus from "@/utils/directus";
import { readSingleton } from "@directus/sdk";
import type { NextApiRequest, NextApiResponse } from "next";
export default async function handler(
req: NextApiRequest,
res: NextApiResponse,
) {
if (req.method !== "GET" || req.method !== "HEAD")
return res.status(405).json({ message: "Method not allowed" });
// Get the resume
try {
const metadata = await directus.request(readSingleton("metadata"));
const resumeUrl = `${directus.url}assets/${metadata.resume}/${
metadata.resumeFilename ?? "resume.pdf"
}`;
return res.redirect(301, resumeUrl);
} catch (error) {
console.error({
message: "Failed to acquire resume URL",
error,
});
return res.status(500).send({ error: "Failed to acquire resume URL" });
}
}