From a1e446c1214a79a799da46b3d1bdd62c64b99ebf Mon Sep 17 00:00:00 2001 From: Ronaldo Caetano Date: Sun, 24 Oct 2021 20:00:15 -0300 Subject: [PATCH 1/2] fix: make variants pass eslint --- .eslintignore | 1 - .../src/api/routes/store/variants/get-variant.js | 14 +++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.eslintignore b/.eslintignore index 7b5c62685c..6c8a64e27a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -58,7 +58,6 @@ /packages/medusa/src/api/routes/store/returns /packages/medusa/src/api/routes/store/shipping-options /packages/medusa/src/api/routes/store/swaps -/packages/medusa/src/api/routes/store/variants # END OF FILES TODO diff --git a/packages/medusa/src/api/routes/store/variants/get-variant.js b/packages/medusa/src/api/routes/store/variants/get-variant.js index bbdc15eb01..7a255bd0af 100644 --- a/packages/medusa/src/api/routes/store/variants/get-variant.js +++ b/packages/medusa/src/api/routes/store/variants/get-variant.js @@ -22,14 +22,10 @@ import { defaultRelations } from "." export default async (req, res) => { const { id } = req.params - try { - const variantService = req.scope.resolve("productVariantService") - const variant = await variantService.retrieve(id, { - relations: defaultRelations, - }) + const variantService = req.scope.resolve("productVariantService") + const variant = await variantService.retrieve(id, { + relations: defaultRelations, + }) - res.json({ variant }) - } catch (error) { - throw error - } + res.json({ variant }) } From 3df2b4279f363e746f3514d8d8aa78b0e8fa3906 Mon Sep 17 00:00:00 2001 From: Ronaldo Caetano Date: Mon, 25 Oct 2021 22:06:46 -0300 Subject: [PATCH 2/2] fix: make discounts pass eslint --- .eslintignore | 1 - .../api/routes/admin/discounts/add-region.js | 19 ++---- .../admin/discounts/add-valid-product.js | 20 ++---- .../routes/admin/discounts/create-discount.js | 38 +++-------- .../admin/discounts/create-dynamic-code.js | 17 ++--- .../routes/admin/discounts/delete-discount.js | 19 ++---- .../admin/discounts/delete-dynamic-code.js | 17 ++--- .../admin/discounts/get-discount-by-code.js | 15 ++--- .../routes/admin/discounts/get-discount.js | 16 ++--- .../src/api/routes/admin/discounts/index.js | 2 +- .../routes/admin/discounts/list-discounts.js | 64 +++++++++---------- .../routes/admin/discounts/remove-region.js | 19 ++---- .../admin/discounts/remove-valid-product.js | 20 ++---- .../routes/admin/discounts/update-discount.js | 35 ++++------ 14 files changed, 109 insertions(+), 193 deletions(-) diff --git a/.eslintignore b/.eslintignore index 6c8a64e27a..f1b876a05c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -30,7 +30,6 @@ /packages/medusa/src/api/routes/admin/auth /packages/medusa/src/api/routes/admin/collections /packages/medusa/src/api/routes/admin/customers -/packages/medusa/src/api/routes/admin/discounts /packages/medusa/src/api/routes/admin/draft-orders /packages/medusa/src/api/routes/admin/gift-cards /packages/medusa/src/api/routes/admin/notes diff --git a/packages/medusa/src/api/routes/admin/discounts/add-region.js b/packages/medusa/src/api/routes/admin/discounts/add-region.js index 849018b29d..127723350b 100644 --- a/packages/medusa/src/api/routes/admin/discounts/add-region.js +++ b/packages/medusa/src/api/routes/admin/discounts/add-region.js @@ -22,18 +22,13 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { discount_id, region_id } = req.params - try { - const discountService = req.scope.resolve("discountService") + const discountService = req.scope.resolve("discountService") + await discountService.addRegion(discount_id, region_id) - await discountService.addRegion(discount_id, region_id) + const discount = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - const discount = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/add-valid-product.js b/packages/medusa/src/api/routes/admin/discounts/add-valid-product.js index e72e136d73..9b7347dc61 100644 --- a/packages/medusa/src/api/routes/admin/discounts/add-valid-product.js +++ b/packages/medusa/src/api/routes/admin/discounts/add-valid-product.js @@ -22,19 +22,13 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { discount_id, variant_id } = req.params + const discountService = req.scope.resolve("discountService") + await discountService.addValidProduct(discount_id, variant_id) - try { - const discountService = req.scope.resolve("discountService") + const discount = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - await discountService.addValidProduct(discount_id, variant_id) - - const discount = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/create-discount.js b/packages/medusa/src/api/routes/admin/discounts/create-discount.js index 66b51c64e3..381132024d 100644 --- a/packages/medusa/src/api/routes/admin/discounts/create-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/create-discount.js @@ -63,47 +63,29 @@ export default async (req, res) => { .keys({ description: Validator.string().optional(), type: Validator.string().required(), - value: Validator.number() - .positive() - .required(), + value: Validator.number().positive().required(), allocation: Validator.string().required(), valid_for: Validator.array().items(Validator.string()), }) .required(), is_disabled: Validator.boolean().default(false), starts_at: Validator.date().optional(), - ends_at: Validator.date() - .greater(Validator.ref("starts_at")) - .optional(), - valid_duration: Validator.string() - .isoDuration() - .allow(null) - .optional(), - usage_limit: Validator.number() - .positive() - .optional(), - regions: Validator.array() - .items(Validator.string()) - .optional(), + ends_at: Validator.date().greater(Validator.ref("starts_at")).optional(), + valid_duration: Validator.string().isoDuration().allow(null).optional(), + usage_limit: Validator.number().positive().optional(), + regions: Validator.array().items(Validator.string()).optional(), metadata: Validator.object().optional(), }) const { value, error } = schema.validate(req.body) + if (error) { throw new MedusaError(MedusaError.Types.INVALID_DATA, error.details) } - try { - const discountService = req.scope.resolve("discountService") + const discountService = req.scope.resolve("discountService") + const created = await discountService.create(value) + const discount = await discountService.retrieve(created.id, defaultRelations) - const created = await discountService.create(value) - const discount = await discountService.retrieve( - created.id, - defaultRelations - ) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/create-dynamic-code.js b/packages/medusa/src/api/routes/admin/discounts/create-dynamic-code.js index dcda7047a6..8e2f284f42 100644 --- a/packages/medusa/src/api/routes/admin/discounts/create-dynamic-code.js +++ b/packages/medusa/src/api/routes/admin/discounts/create-dynamic-code.js @@ -31,20 +31,17 @@ export default async (req, res) => { }) const { value, error } = schema.validate(req.body) + if (error) { throw new MedusaError(MedusaError.Types.INVALID_DATA, error.details) } - try { - const discountService = req.scope.resolve("discountService") - const created = await discountService.createDynamicCode(discount_id, value) + const discountService = req.scope.resolve("discountService") + const created = await discountService.createDynamicCode(discount_id, value) - const discount = await discountService.retrieve(created.id, { - relations: ["rule", "rule.valid_for", "regions"], - }) + const discount = await discountService.retrieve(created.id, { + relations: ["rule", "rule.valid_for", "regions"], + }) - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/delete-discount.js b/packages/medusa/src/api/routes/admin/discounts/delete-discount.js index 2e424e6d2a..e053b84f45 100644 --- a/packages/medusa/src/api/routes/admin/discounts/delete-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/delete-discount.js @@ -25,17 +25,12 @@ */ export default async (req, res) => { const { discount_id } = req.params + const discountService = req.scope.resolve("discountService") + await discountService.delete(discount_id) - try { - const discountService = req.scope.resolve("discountService") - await discountService.delete(discount_id) - - res.json({ - id: discount_id, - object: "discount", - deleted: true, - }) - } catch (err) { - throw err - } + res.json({ + id: discount_id, + object: "discount", + deleted: true, + }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/delete-dynamic-code.js b/packages/medusa/src/api/routes/admin/discounts/delete-dynamic-code.js index 94739911c6..d0f1b790bd 100644 --- a/packages/medusa/src/api/routes/admin/discounts/delete-dynamic-code.js +++ b/packages/medusa/src/api/routes/admin/discounts/delete-dynamic-code.js @@ -20,17 +20,12 @@ */ export default async (req, res) => { const { discount_id, code } = req.params + const discountService = req.scope.resolve("discountService") + await discountService.deleteDynamicCode(discount_id, code) - try { - const discountService = req.scope.resolve("discountService") - await discountService.deleteDynamicCode(discount_id, code) + const discount = await discountService.retrieve(discount_id, { + relations: ["rule", "rule.valid_for", "regions"], + }) - const discount = await discountService.retrieve(discount_id, { - relations: ["rule", "rule.valid_for", "regions"], - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } 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 index 83306f7d88..89f8b2e27c 100644 --- 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 @@ -1,4 +1,4 @@ -import { defaultFields, defaultRelations } from "./" +import { defaultRelations } from "./" /** * @oas [get] /discounts/code/{code} @@ -21,15 +21,8 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { code } = req.params - try { - const discountService = req.scope.resolve("discountService") - const discount = await discountService.retrieveByCode( - code, - defaultRelations - ) + const discountService = req.scope.resolve("discountService") + const discount = await discountService.retrieveByCode(code, defaultRelations) - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/get-discount.js b/packages/medusa/src/api/routes/admin/discounts/get-discount.js index 968093da92..74169063f6 100644 --- a/packages/medusa/src/api/routes/admin/discounts/get-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/get-discount.js @@ -21,15 +21,11 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { discount_id } = req.params - try { - const discountService = req.scope.resolve("discountService") - const data = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) + const discountService = req.scope.resolve("discountService") + const data = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - res.status(200).json({ discount: data }) - } catch (err) { - throw err - } + res.status(200).json({ discount: data }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/index.js b/packages/medusa/src/api/routes/admin/discounts/index.js index 765ca01cfa..f5e3dca75f 100644 --- a/packages/medusa/src/api/routes/admin/discounts/index.js +++ b/packages/medusa/src/api/routes/admin/discounts/index.js @@ -3,7 +3,7 @@ import middlewares from "../../../middlewares" const route = Router() -export default app => { +export default (app) => { app.use("/discounts", route) route.get("/", middlewares.wrap(require("./list-discounts").default)) diff --git a/packages/medusa/src/api/routes/admin/discounts/list-discounts.js b/packages/medusa/src/api/routes/admin/discounts/list-discounts.js index bf4b982fed..5bec686640 100644 --- a/packages/medusa/src/api/routes/admin/discounts/list-discounts.js +++ b/packages/medusa/src/api/routes/admin/discounts/list-discounts.js @@ -18,41 +18,35 @@ import { defaultFields, defaultRelations } from "./" * $ref: "#/components/schemas/discount" */ export default async (req, res) => { - try { - const discountService = req.scope.resolve("discountService") + const discountService = req.scope.resolve("discountService") + const limit = parseInt(req.query.limit) || 20 + const offset = parseInt(req.query.offset) || 0 + const selector = {} - const limit = parseInt(req.query.limit) || 20 - const offset = parseInt(req.query.offset) || 0 - - let selector = {} - - if ("q" in req.query) { - selector.q = req.query.q - } - - if ("is_dynamic" in req.query) { - selector.is_dynamic = req.query.is_dynamic === "true" - } - - if ("is_disabled" in req.query) { - selector.is_disabled = req.query.is_disabled === "true" - } - - const listConfig = { - select: defaultFields, - relations: defaultRelations, - skip: offset, - take: limit, - order: { created_at: "DESC" }, - } - - const [discounts, count] = await discountService.listAndCount( - selector, - listConfig - ) - - res.status(200).json({ discounts, count, offset, limit }) - } catch (err) { - throw err + if ("q" in req.query) { + selector.q = req.query.q } + + if ("is_dynamic" in req.query) { + selector.is_dynamic = req.query.is_dynamic === "true" + } + + if ("is_disabled" in req.query) { + selector.is_disabled = req.query.is_disabled === "true" + } + + const listConfig = { + select: defaultFields, + relations: defaultRelations, + skip: offset, + take: limit, + order: { created_at: "DESC" }, + } + + const [discounts, count] = await discountService.listAndCount( + selector, + listConfig + ) + + res.status(200).json({ discounts, count, offset, limit }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/remove-region.js b/packages/medusa/src/api/routes/admin/discounts/remove-region.js index cf9e9623b9..610c01339a 100644 --- a/packages/medusa/src/api/routes/admin/discounts/remove-region.js +++ b/packages/medusa/src/api/routes/admin/discounts/remove-region.js @@ -22,18 +22,13 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { discount_id, region_id } = req.params + const discountService = req.scope.resolve("discountService") + await discountService.removeRegion(discount_id, region_id) - try { - const discountService = req.scope.resolve("discountService") + const discount = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - await discountService.removeRegion(discount_id, region_id) - const discount = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/remove-valid-product.js b/packages/medusa/src/api/routes/admin/discounts/remove-valid-product.js index 7d67d7e13d..ff132c81e4 100644 --- a/packages/medusa/src/api/routes/admin/discounts/remove-valid-product.js +++ b/packages/medusa/src/api/routes/admin/discounts/remove-valid-product.js @@ -22,19 +22,13 @@ import { defaultFields, defaultRelations } from "./" */ export default async (req, res) => { const { discount_id, variant_id } = req.params + const discountService = req.scope.resolve("discountService") + await discountService.removeValidProduct(discount_id, variant_id) - try { - const discountService = req.scope.resolve("discountService") + const discount = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - await discountService.removeValidProduct(discount_id, variant_id) - - const discount = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) } diff --git a/packages/medusa/src/api/routes/admin/discounts/update-discount.js b/packages/medusa/src/api/routes/admin/discounts/update-discount.js index dd62b10840..f5b130057b 100644 --- a/packages/medusa/src/api/routes/admin/discounts/update-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/update-discount.js @@ -70,20 +70,12 @@ export default async (req, res) => { starts_at: Validator.date().optional(), ends_at: Validator.when("starts_at", { not: undefined, - then: Validator.date() - .greater(Validator.ref("starts_at")) - .optional(), + then: Validator.date().greater(Validator.ref("starts_at")).optional(), otherwise: Validator.date().optional(), }), - valid_duration: Validator.string() - .isoDuration().allow(null) - .optional(), - usage_limit: Validator.number() - .positive() - .optional(), - regions: Validator.array() - .items(Validator.string()) - .optional(), + valid_duration: Validator.string().isoDuration().allow(null).optional(), + usage_limit: Validator.number().positive().optional(), + regions: Validator.array().items(Validator.string()).optional(), }) const { value, error } = schema.validate(req.body) @@ -92,18 +84,13 @@ export default async (req, res) => { throw new MedusaError(MedusaError.Types.INVALID_DATA, error.details) } - try { - const discountService = req.scope.resolve("discountService") + const discountService = req.scope.resolve("discountService") + await discountService.update(discount_id, value) - await discountService.update(discount_id, value) + const discount = await discountService.retrieve(discount_id, { + select: defaultFields, + relations: defaultRelations, + }) - const discount = await discountService.retrieve(discount_id, { - select: defaultFields, - relations: defaultRelations, - }) - - res.status(200).json({ discount }) - } catch (err) { - throw err - } + res.status(200).json({ discount }) }