diff --git a/README.md b/README.md index fbfee350b6..57313056c0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ You can get a Medusa engine up and running in your local development environment yarn add @medusajs/medusa # CLI - npm install -g @medusa/medusa-cli + npm install -g @medusajs/medusa-cli yarn add global @medusajs/medusa-cli # babel preset diff --git a/packages/medusa-payment-klarna/CHANGELOG.md b/packages/medusa-payment-klarna/CHANGELOG.md index 43790ef8b3..021f346e37 100644 --- a/packages/medusa-payment-klarna/CHANGELOG.md +++ b/packages/medusa-payment-klarna/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.8](https://github.com/medusajs/medusa/compare/medusa-payment-klarna@1.1.7...medusa-payment-klarna@1.1.8) (2021-03-23) + + +### Bug Fixes + +* klarna doesn't treat negative discounts well ([e275184](https://github.com/medusajs/medusa/commit/e27518435ea1fafe556168c36475916a4243eabe)) + + + + + ## [1.1.7](https://github.com/medusajs/medusa/compare/medusa-payment-klarna@1.1.6...medusa-payment-klarna@1.1.7) (2021-03-17) **Note:** Version bump only for package medusa-payment-klarna diff --git a/packages/medusa-payment-klarna/package.json b/packages/medusa-payment-klarna/package.json index 1913aa6caa..a98a5c7e62 100644 --- a/packages/medusa-payment-klarna/package.json +++ b/packages/medusa-payment-klarna/package.json @@ -1,6 +1,6 @@ { "name": "medusa-payment-klarna", - "version": "1.1.7", + "version": "1.1.8", "description": "Klarna Payment provider for Medusa Commerce", "main": "index.js", "repository": { diff --git a/packages/medusa-payment-klarna/src/services/klarna-provider.js b/packages/medusa-payment-klarna/src/services/klarna-provider.js index 3f4f29d39c..edad067db5 100644 --- a/packages/medusa-payment-klarna/src/services/klarna-provider.js +++ b/packages/medusa-payment-klarna/src/services/klarna-provider.js @@ -102,7 +102,7 @@ class KlarnaProviderService extends PaymentService { order.order_lines = await this.lineItemsToOrderLines_(cart, region.tax_rate) - if (discount_total) { + if (discount_total > 0) { order.order_lines.push({ name: `Discount`, quantity: 1, @@ -113,6 +113,16 @@ class KlarnaProviderService extends PaymentService { total_amount: -discount_total * (1 + taxRate), total_tax_amount: -discount_total * taxRate, }) + } else if (discount_total < 0) { + order.order_lines.push({ + name: `Discount Payback`, + quantity: 1, + type: "surcharge", + unit_price: -discount_total * (1 + taxRate), + tax_rate: taxRate * 10000, + total_amount: -discount_total * (1 + taxRate), + total_tax_amount: -discount_total * taxRate, + }) } if (gift_card_total) { diff --git a/packages/medusa-plugin-brightpearl/CHANGELOG.md b/packages/medusa-plugin-brightpearl/CHANGELOG.md index e8f4ac1d8d..522fd4ead2 100644 --- a/packages/medusa-plugin-brightpearl/CHANGELOG.md +++ b/packages/medusa-plugin-brightpearl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.9](https://github.com/medusajs/medusa/compare/medusa-plugin-brightpearl@1.1.8...medusa-plugin-brightpearl@1.1.9) (2021-03-25) + +**Note:** Version bump only for package medusa-plugin-brightpearl + + + + + ## [1.1.8](https://github.com/medusajs/medusa/compare/medusa-plugin-brightpearl@1.1.7...medusa-plugin-brightpearl@1.1.8) (2021-03-17) **Note:** Version bump only for package medusa-plugin-brightpearl diff --git a/packages/medusa-plugin-brightpearl/package.json b/packages/medusa-plugin-brightpearl/package.json index 1498a07fb4..2a1c349092 100644 --- a/packages/medusa-plugin-brightpearl/package.json +++ b/packages/medusa-plugin-brightpearl/package.json @@ -1,6 +1,6 @@ { "name": "medusa-plugin-brightpearl", - "version": "1.1.8", + "version": "1.1.9", "description": "Brightpearl plugin for Medusa Commerce", "main": "index.js", "repository": { diff --git a/packages/medusa-plugin-brightpearl/src/services/brightpearl.js b/packages/medusa-plugin-brightpearl/src/services/brightpearl.js index 46c4b2068f..bf02058c57 100644 --- a/packages/medusa-plugin-brightpearl/src/services/brightpearl.js +++ b/packages/medusa-plugin-brightpearl/src/services/brightpearl.js @@ -182,7 +182,16 @@ class BrightpearlService extends BaseService { if (availability) { const brightpearlProduct = await client.products.retrieve(productId) - const onHand = availability[productId].total.onHand + + const prodAvail = availability[productId] + + let onHand = 0 + if ( + prodAvail.warehouses && + prodAvail.warehouses[`${this.options.warehouse}`] + ) { + onHand = prodAvail.warehouses[`${this.options.warehouse}`].onHand + } const sku = brightpearlProduct.identity.sku if (!sku) return diff --git a/packages/medusa-plugin-contentful/CHANGELOG.md b/packages/medusa-plugin-contentful/CHANGELOG.md index e8b00bc538..05300d873e 100644 --- a/packages/medusa-plugin-contentful/CHANGELOG.md +++ b/packages/medusa-plugin-contentful/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.8](https://github.com/medusajs/medusa/compare/medusa-plugin-contentful@1.1.7...medusa-plugin-contentful@1.1.8) (2021-03-26) + + +### Bug Fixes + +* update all contentful ([806918a](https://github.com/medusajs/medusa/commit/806918a10e42fde60240dcc785d8e175dc8507b5)) + + + + + ## [1.1.7](https://github.com/medusajs/medusa/compare/medusa-plugin-contentful@1.1.6...medusa-plugin-contentful@1.1.7) (2021-03-17) **Note:** Version bump only for package medusa-plugin-contentful diff --git a/packages/medusa-plugin-contentful/package.json b/packages/medusa-plugin-contentful/package.json index 45985a078c..1c8ca2c107 100644 --- a/packages/medusa-plugin-contentful/package.json +++ b/packages/medusa-plugin-contentful/package.json @@ -1,6 +1,6 @@ { "name": "medusa-plugin-contentful", - "version": "1.1.7", + "version": "1.1.8", "description": "Contentful plugin for Medusa Commerce", "main": "index.js", "repository": { diff --git a/packages/medusa-plugin-contentful/src/services/contentful.js b/packages/medusa-plugin-contentful/src/services/contentful.js index da5e3bc765..5fed5759a4 100644 --- a/packages/medusa-plugin-contentful/src/services/contentful.js +++ b/packages/medusa-plugin-contentful/src/services/contentful.js @@ -449,9 +449,14 @@ class ContentfulService extends BaseService { "options", ] - const found = variant.fields.find((f) => updateFields.includes(f)) - if (!found) { - return + // Update came directly from product variant service so only act on a couple + // of fields. When the update comes from the product we want to ensure + // references are set up correctly so we run through everything. + if (variant.fields) { + const found = variant.fields.find((f) => updateFields.includes(f)) + if (!found) { + return + } } try { diff --git a/packages/medusa/CHANGELOG.md b/packages/medusa/CHANGELOG.md index 928d68e6d3..b13a44430f 100644 --- a/packages/medusa/CHANGELOG.md +++ b/packages/medusa/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.16](https://github.com/medusajs/medusa/compare/@medusajs/medusa@1.1.15...@medusajs/medusa@1.1.16) (2021-03-26) + +**Note:** Version bump only for package @medusajs/medusa + + + + + +## [1.1.15](https://github.com/medusajs/medusa/compare/@medusajs/medusa@1.1.14...@medusajs/medusa@1.1.15) (2021-03-18) + +**Note:** Version bump only for package @medusajs/medusa + + + + + ## [1.1.14](https://github.com/medusajs/medusa/compare/@medusajs/medusa@1.1.13...@medusajs/medusa@1.1.14) (2021-03-17) diff --git a/packages/medusa/package.json b/packages/medusa/package.json index 2b9f5f2be7..6095a34ba4 100644 --- a/packages/medusa/package.json +++ b/packages/medusa/package.json @@ -1,6 +1,6 @@ { "name": "@medusajs/medusa", - "version": "1.1.14", + "version": "1.1.16", "description": "E-commerce for JAMstack", "main": "dist/index.js", "repository": { diff --git a/packages/medusa/src/api/routes/admin/discounts/__tests__/add-region.js b/packages/medusa/src/api/routes/admin/discounts/__tests__/add-region.js index 32637d49ce..d4120fdf79 100644 --- a/packages/medusa/src/api/routes/admin/discounts/__tests__/add-region.js +++ b/packages/medusa/src/api/routes/admin/discounts/__tests__/add-region.js @@ -35,6 +35,7 @@ describe("POST /admin/discounts/:discount_id/regions/:region_id", () => { "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/api/routes/admin/discounts/__tests__/add-valid-product.js b/packages/medusa/src/api/routes/admin/discounts/__tests__/add-valid-product.js index 63e43fb241..02243c1928 100644 --- a/packages/medusa/src/api/routes/admin/discounts/__tests__/add-valid-product.js +++ b/packages/medusa/src/api/routes/admin/discounts/__tests__/add-valid-product.js @@ -35,6 +35,7 @@ describe("POST /admin/discounts/:discount_id/variants/:variant_id", () => { "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/api/routes/admin/discounts/__tests__/get-discount.js b/packages/medusa/src/api/routes/admin/discounts/__tests__/get-discount.js index a9b2e86070..9f7c71e69a 100644 --- a/packages/medusa/src/api/routes/admin/discounts/__tests__/get-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/__tests__/get-discount.js @@ -6,6 +6,7 @@ const defaultFields = [ "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-region.js b/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-region.js index 95ee64c429..438c5b1125 100644 --- a/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-region.js +++ b/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-region.js @@ -6,6 +6,7 @@ const defaultFields = [ "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-valid-product.js b/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-valid-product.js index d8fb2636d2..e5fd724a61 100644 --- a/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-valid-product.js +++ b/packages/medusa/src/api/routes/admin/discounts/__tests__/remove-valid-product.js @@ -6,6 +6,7 @@ const defaultFields = [ "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/api/routes/admin/discounts/index.js b/packages/medusa/src/api/routes/admin/discounts/index.js index a38c7c223d..dbfc487424 100644 --- a/packages/medusa/src/api/routes/admin/discounts/index.js +++ b/packages/medusa/src/api/routes/admin/discounts/index.js @@ -59,6 +59,7 @@ export const defaultFields = [ "id", "code", "is_dynamic", + "is_disabled", "rule_id", "parent_discount_id", "starts_at", diff --git a/packages/medusa/src/services/claim-item.js b/packages/medusa/src/services/claim-item.js index 8a508c9767..6b547a83e3 100644 --- a/packages/medusa/src/services/claim-item.js +++ b/packages/medusa/src/services/claim-item.js @@ -83,27 +83,35 @@ class ClaimItemService extends BaseService { ) } - const claimTagRepo = manager.getCustomRepository(this.claimTagRepository_) - const tagsToAdd = await Promise.all( - tags.map(async t => { - const normalized = t.trim().toLowerCase() - const existing = await claimTagRepo.findOne({ - where: { value: normalized }, + let tagsToAdd = [] + if (tags && tags.length) { + const claimTagRepo = manager.getCustomRepository( + this.claimTagRepository_ + ) + tagsToAdd = await Promise.all( + tags.map(async t => { + const normalized = t.trim().toLowerCase() + const existing = await claimTagRepo.findOne({ + where: { value: normalized }, + }) + if (existing) { + return existing + } + + return claimTagRepo.create({ value: normalized }) }) - if (existing) { - return existing - } + ) + } - return claimTagRepo.create({ value: normalized }) + let imagesToAdd = [] + if (images && images.length) { + const claimImgRepo = manager.getCustomRepository( + this.claimImageRepository_ + ) + imagesToAdd = images.map(url => { + return claimImgRepo.create({ url }) }) - ) - - const claimImgRepo = manager.getCustomRepository( - this.claimImageRepository_ - ) - const imagesToAdd = images.map(url => { - return claimImgRepo.create({ url }) - }) + } const created = ciRepo.create({ ...rest,