2023-02-13 13:46:56 +00:00
|
|
|
import { NextApiRequest, NextApiResponse } from "next";
|
|
|
|
|
import { getToken } from "next-auth/jwt";
|
2023-06-26 10:07:12 +00:00
|
|
|
import { getUserMetadata, saveUserMetadata } from "@/app/_lib/opensearch";
|
2023-02-13 13:46:56 +00:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|