Exported Route for CORS usage

This commit is contained in:
Joao Ramos
2024-01-11 00:06:09 +00:00
parent 174398b4f7
commit 93d5015c99
2 changed files with 27 additions and 7 deletions

View File

@@ -2,6 +2,26 @@
const nextConfig = { const nextConfig = {
reactStrictMode: true, reactStrictMode: true,
output: "standalone", output: "standalone",
async headers() {
return [
{
source: "/api/packages",
headers: [
{ key: "Access-Control-Allow-Credentials", value: "false" },
{ key: "Access-Control-Allow-Origin", value: "http://localhost:3000" },
{
key: "Access-Control-Allow-Methods",
value: "GET",
},
{
key: "Access-Control-Allow-Headers",
value:
"Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date",
},
],
},
];
},
}; };
module.exports = nextConfig; module.exports = nextConfig;

View File

@@ -13,11 +13,6 @@ const db = getFirestore(app);
export default withIronSessionApiRoute(handler, sessionOptions); export default withIronSessionApiRoute(handler, sessionOptions);
async function handler(req: NextApiRequest, res: NextApiResponse) { async function handler(req: NextApiRequest, res: NextApiResponse) {
if (!req.session.user) {
res.status(401).json({ok: false});
return;
}
if (req.method === "GET") await get(req, res); if (req.method === "GET") await get(req, res);
if (req.method === "POST") await post(req, res); if (req.method === "POST") await post(req, res);
} }
@@ -34,6 +29,11 @@ async function get(req: NextApiRequest, res: NextApiResponse) {
} }
async function post(req: NextApiRequest, res: NextApiResponse) { async function post(req: NextApiRequest, res: NextApiResponse) {
if (!req.session.user) {
res.status(401).json({ok: false});
return;
}
if (!["developer", "admin"].includes(req.session.user!.type)) if (!["developer", "admin"].includes(req.session.user!.type))
return res.status(403).json({ok: false, reason: "You do not have permission to create a new package"}); return res.status(403).json({ok: false, reason: "You do not have permission to create a new package"});