UNPKG

medusa-bonuses-plugin

Version:

medusa-bonuses-plugin is a Medusa plugin that adds bonus program to Medusa ecommerce stores.

73 lines 5.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.POST = void 0; class ApplyBonusesToCartRequest { } class ApplyBonusesToCartResponse { } // Применение бонусов к текущей корзине const POST = async (req, res) => { var _a; const bonusService = req.scope.resolve("bonusService"); const cartService = req.scope.resolve("cartService"); const customer_id = (_a = req.user) === null || _a === void 0 ? void 0 : _a.customer_id; if (!customer_id) { res.status(401).json({ message: "Unauthorized" }); return; } const { amount, cart_id } = req.body; if (!cart_id) { res.status(400).json({ message: "Cart ID is required" }); return; } // Проверяем, что корзина принадлежит пользователю const cart = await cartService.retrieve(cart_id); if (cart.customer_id !== customer_id) { res.status(403).json({ message: "Access denied" }); return; } const result = await bonusService.applyBonusToCart(customer_id, cart_id, amount); res.json(result); }; exports.POST = POST; // export default (router: Router) => { // Получение информации о бонусном счете пользователя // router.get("/store/customers/me/bonus", wrapHandler(async (req, res) => { // const bonusService = req.scope.resolve("bonusService") // // Проверяем авторизацию // const customer_id = req.user?.customer_id // if (!customer_id) { // res.status(401).json({ message: "Unauthorized" }) // return // } // const bonusAccount = await bonusService.getBonusAccount(customer_id) // res.json({ // balance: bonusAccount.balance, // transactions: await bonusService.getTransactionHistory(customer_id) // }) // })) // Применение бонусов к текущей корзине // router.post("/store/customers/me/bonus/apply", wrapHandler(async (req, res) => { // const bonusService = req.scope.resolve("bonusService") // const cartService = req.scope.resolve("cartService") // const customer_id = req.user?.customer_id // if (!customer_id) { // res.status(401).json({ message: "Unauthorized" }) // return // } // const { amount, cart_id } = req.body // if (!cart_id) { // res.status(400).json({ message: "Cart ID is required" }) // return // } // // Проверяем, что корзина принадлежит пользователю // const cart = await cartService.retrieve(cart_id) // if (cart.customer_id !== customer_id) { // res.status(403).json({ message: "Access denied" }) // return // } // const result = await bonusService.applyBonusToCart(customer_id, cart_id, amount) // res.json(result) // })) //} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9ib251cy9hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSxNQUFNLHlCQUF5QjtDQUc5QjtBQUVELE1BQU0sMEJBQTBCO0NBSy9CO0FBRUQsdUNBQXVDO0FBQ2hDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDckIsR0FBNkMsRUFDN0MsR0FBK0MsRUFDakQsRUFBRTs7SUFDQSxNQUFNLFlBQVksR0FBZ0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDakUsTUFBTSxXQUFXLEdBQWdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRWpFLE1BQU0sV0FBVyxHQUFHLE1BQUEsR0FBRyxDQUFDLElBQUksMENBQUUsV0FBVyxDQUFBO0lBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFBO1FBQ2pELE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFBO0lBRXBDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtRQUN4RCxPQUFNO0lBQ1IsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUE7UUFDbEQsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2hGLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDdEIsQ0FBQyxDQUFBO0FBN0JZLFFBQUEsSUFBSSxRQTZCaEI7QUFHRCx1Q0FBdUM7QUFDbkMscURBQXFEO0FBQ3JELDRFQUE0RTtBQUM1RSwyREFBMkQ7QUFFM0QsNkJBQTZCO0FBQzdCLDhDQUE4QztBQUM5Qyx3QkFBd0I7QUFDeEIsd0RBQXdEO0FBQ3hELGFBQWE7QUFDYixNQUFNO0FBRU4seUVBQXlFO0FBQ3pFLGVBQWU7QUFDZixxQ0FBcUM7QUFDckMsMEVBQTBFO0FBQzFFLE9BQU87QUFDUCxNQUFNO0FBRU4sdUNBQXVDO0FBQ3ZDLG1GQUFtRjtBQUNuRiwyREFBMkQ7QUFDM0QseURBQXlEO0FBRXpELDhDQUE4QztBQUM5Qyx3QkFBd0I7QUFDeEIsd0RBQXdEO0FBQ3hELGFBQWE7QUFDYixNQUFNO0FBRU4seUNBQXlDO0FBRXpDLG9CQUFvQjtBQUNwQiwrREFBK0Q7QUFDL0QsYUFBYTtBQUNiLE1BQU07QUFFTix1REFBdUQ7QUFDdkQscURBQXFEO0FBQ3JELDRDQUE0QztBQUM1Qyx5REFBeUQ7QUFDekQsYUFBYTtBQUNiLE1BQU07QUFFTixxRkFBcUY7QUFDckYscUJBQXFCO0FBQ3JCLE1BQU07QUFDUixHQUFHIn0=