mirror of
https://github.com/Xevion/xevion.dev.git
synced 2025-12-05 23:16:57 -06:00
Fix /resume redirect links, add /api/resume route
This commit is contained in:
@@ -56,23 +56,24 @@ const config = {
|
|||||||
images: {
|
images: {
|
||||||
remotePatterns: [
|
remotePatterns: [
|
||||||
{
|
{
|
||||||
protocol: 'https',
|
protocol: "https",
|
||||||
hostname: 'img.walters.to',
|
hostname: "img.walters.to",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
protocol: 'https',
|
protocol: "https",
|
||||||
hostname: 'img.xevion.dev',
|
hostname: "img.xevion.dev",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
protocol: 'https',
|
protocol: "https",
|
||||||
hostname: 'api.xevion.dev',
|
hostname: "api.xevion.dev",
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
async redirects() {
|
async redirects() {
|
||||||
// Source cannot end with / slash
|
// Source cannot end with / slash
|
||||||
return [
|
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,
|
...v2_redirects,
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
|||||||
28
src/pages/api/resume.ts
Normal file
28
src/pages/api/resume.ts
Normal 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" });
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user