From 91a69022cb8bac3c80d225a37789d258b1eb1c58 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Thu, 26 Sep 2024 17:47:26 +0530 Subject: [PATCH] feat: requireAPIKey middleware --- server/src/middlewares/api.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 server/src/middlewares/api.ts diff --git a/server/src/middlewares/api.ts b/server/src/middlewares/api.ts new file mode 100644 index 00000000..c79529eb --- /dev/null +++ b/server/src/middlewares/api.ts @@ -0,0 +1,15 @@ +import { Request, Response } from "express"; +import User from "../models/User"; + +export const requireAPIKey = async (req: Request, res: Response, next: any) => { + const apiKey = req.headers['x-api-key']; + if (!apiKey) { + return res.status(401).json({ error: "API key is missing" }); + } + const user = await User.findOne({ where: { api_key: apiKey } }); + if (!user) { + return res.status(403).json({ error: "Invalid API key" }); + } + req.user = user; + next(); +};