link-stack/apps/leafcutter/pages/api/searches/delete.ts

32 lines
921 B
TypeScript
Raw Normal View History

2023-02-13 13:46:56 +00:00
import { NextApiRequest, NextApiResponse } from "next";
import { getToken } from "next-auth/jwt";
import { getUserMetadata, saveUserMetadata } from "lib/opensearch";
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
const session = await getToken({
req,
secret: process.env.NEXTAUTH_SECRET,
});
if (!session) {
return res.redirect("/login");
}
if (req.method !== "POST") {
return res.status(500).json({ message: "Only POST requests are allowed" });
}
2023-05-24 20:27:57 +00:00
const { email }: any = session;
2023-02-13 13:46:56 +00:00
const { name } = JSON.parse(req.body);
const { savedSearches } = await getUserMetadata(email);
2023-05-24 20:27:57 +00:00
const updatedSavedSearches = savedSearches.filter((search: any) => search.name !== name);
const result = await saveUserMetadata(email, { savedSearches: updatedSavedSearches });
2023-02-13 13:46:56 +00:00
2023-05-24 20:27:57 +00:00
return res.json({ result });
};
2023-02-13 13:46:56 +00:00
export default handler;