import mongoose from "mongoose"; import { RecommendedProduct } from "../../../models"; import { DeleteRecommendedProductResult, DeleteRecommendedProductInput } from "./types"; const deleteRecommendedProduct = async (userID: string, input: DeleteRecommendedProductInput): Promise => { try { const { recommendedProductIDs } = input; if (recommendedProductIDs.length === 0) { return { message: "recommendedProductIDs-cannot-be-empty", code: 400 }; } const objectIdArray = recommendedProductIDs.map(id => new mongoose.Types.ObjectId(id)); const result = await RecommendedProduct.deleteMany({ _id: { $in: objectIdArray }, userID: userID }); if (result.deletedCount === 0) { return { message: "recommended-product-not-found-or-unauthorized", code: 404 }; } return { message: "recommended-product-deleted-successfully", code: 200 }; } catch (error) { console.error("DeleteRecommendedProduct action error:", error); return { message: "internal-server-error", code: 500 }; } }; export default deleteRecommendedProduct;