UNPKG

@tsc_tech/medusa-plugin-wishlist

Version:
106 lines 8.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.POST = POST; exports.GET = GET; const wishlist_1 = require("../../../modules/wishlist"); const utils_1 = require("@medusajs/framework/utils"); async function POST(req, res) { const { region_id, variant_id } = req.body; const customer_id = req.auth_context.actor_id; if (!region_id) { return res.status(400).send({ message: "region_id is required" }); } if (!variant_id) { return res.status(400).send({ message: "variant_id is required" }); } const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE); const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY); const { data: region } = await query.graph({ entity: "region", filters: { id: region_id, }, fields: ["*"], }); if (region && region.length === 0) { return res.status(400).send({ message: "invalid parameters region" }); } let wishlist; // first check if wishlist exist const { data: wishlistExist } = await query.graph({ entity: "wishlists", filters: { customer_id: customer_id, region_id: region_id, }, fields: ["*", "items.*"], }); if (wishlistExist && wishlistExist.length > 0) { wishlist = wishlistExist[0]; } else { //create new wishlist wishlist = await wishlistService.createWishlists({ customer_id, region_id, }); } //add item in to wishlistItem but check if item already exist then delete it const wishlistItemExist = await wishlistService.listWishlistItems({ variant_id, wishlist_id: wishlist.id, }); if (wishlistItemExist && wishlistItemExist.length > 0) { await wishlistService.deleteWishlistItems(wishlistItemExist[0].id); } else { await wishlistService.createWishlistItems({ variant_id, wishlist_id: wishlist.id, }); } const { data: dataWishlist } = await query.graph({ entity: "wishlists", filters: { customer_id: customer_id, region_id: region_id, }, fields: ["*", "items.*"], }); return res.status(200).json({ wishlist: dataWishlist }); } async function GET(req, res) { const customerId = req.auth_context.actor_id; const { region_id } = req.query; if (!region_id) { return res.status(400).send({ message: "region_id is required" }); } const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY); const { data: wishlist } = await query.graph({ entity: "wishlists", filters: { customer_id: customerId, region_id: region_id, }, fields: ["*", "items.*"], }); const { data } = await query.graph({ entity: "products", fields: ["*", "wishlist_item.*", "variants.*"], filters: { variants: { id: wishlist?.flatMap((x) => x?.items?.map((p) => p?.variant_id)), }, }, }); const variantIDs = wishlist?.flatMap((x) => x?.items?.map((p) => p?.variant_id)); const { data: variants } = await query.graph({ entity: "variants", fields: ["*", "product.*"], filters: { id: variantIDs, }, }); res.status(200).json({ wishlist, products: data, variants }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsb0JBbUVDO0FBRUQsa0JBd0NDO0FBakhELHdEQUE0RDtBQUU1RCxxREFBK0U7QUFFeEUsS0FBSyxVQUFVLElBQUksQ0FDekIsR0FBNEUsRUFDNUUsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBb0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRTtZQUNSLEVBQUUsRUFBRSxTQUFTO1NBQ2I7UUFDRCxNQUFNLEVBQUUs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