From 8333a547aacf5d47a17aa85329e4e1e0b9d662c0 Mon Sep 17 00:00:00 2001 From: olivermrbl Date: Wed, 2 Jun 2021 08:09:04 +0200 Subject: [PATCH] add retrieve discount by code --- .../admin/discounts/get-discount-by-code.js | 35 +++++++++++++++++++ .../src/api/routes/admin/discounts/index.js | 4 +++ 2 files changed, 39 insertions(+) create mode 100644 packages/medusa/src/api/routes/admin/discounts/get-discount-by-code.js diff --git a/packages/medusa/src/api/routes/admin/discounts/get-discount-by-code.js b/packages/medusa/src/api/routes/admin/discounts/get-discount-by-code.js new file mode 100644 index 0000000000..550dec65f4 --- /dev/null +++ b/packages/medusa/src/api/routes/admin/discounts/get-discount-by-code.js @@ -0,0 +1,35 @@ +import { defaultFields, defaultRelations } from "./" + +/** + * @oas [get] /discounts/code/{id} + * operationId: "GetDiscountsDiscountCode" + * summary: "Retrieve a Discount by code" + * description: "Retrieves a Discount by its discount code" + * parameters: + * - (path) code=* {string} The code of the Discount + * tags: + * - Discount + * responses: + * 200: + * description: OK + * content: + * application/json: + * schema: + * properties: + * discount: + * $ref: "#/components/schemas/discount" + */ +export default async (req, res) => { + const { code } = req.params + try { + const discountService = req.scope.resolve("discountService") + const discount = await discountService.retrieveByCode( + code, + defaultRelations + ) + + res.status(200).json({ discount }) + } catch (err) { + throw err + } +} diff --git a/packages/medusa/src/api/routes/admin/discounts/index.js b/packages/medusa/src/api/routes/admin/discounts/index.js index 6a240a78ed..b7d1cd0f6c 100644 --- a/packages/medusa/src/api/routes/admin/discounts/index.js +++ b/packages/medusa/src/api/routes/admin/discounts/index.js @@ -13,6 +13,10 @@ export default app => { "/:discount_id", middlewares.wrap(require("./get-discount").default) ) + route.get( + "/code/:code", + middlewares.wrap(require("./get-discount-by-code").default) + ) route.post( "/:discount_id", middlewares.wrap(require("./update-discount").default)