From 8fc6b26cb8472a0cd99bf49372550c4323237a5a Mon Sep 17 00:00:00 2001 From: olivermrbl Date: Wed, 17 Mar 2021 10:32:11 +0100 Subject: [PATCH] pr review fixes --- .../src/api/routes/admin/discounts/create-discount.js | 3 --- ...count.ts => 1615970124120-discount_usage_count.ts} | 6 +++--- packages/medusa/src/models/discount-rule.ts | 2 +- packages/medusa/src/services/discount.js | 11 +++++++++++ packages/medusa/src/subscribers/order.js | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) rename packages/medusa/src/migrations/{1615912118791-discount_usage_count.ts => 1615970124120-discount_usage_count.ts} (64%) 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 48391c0087..b053b16728 100644 --- a/packages/medusa/src/api/routes/admin/discounts/create-discount.js +++ b/packages/medusa/src/api/routes/admin/discounts/create-discount.js @@ -67,9 +67,6 @@ export default async (req, res) => { usage_limit: Validator.number() .positive() .optional(), - usage_count: Validator.number() - .positive() - .optional(), }) .required(), is_disabled: Validator.boolean().default(false), diff --git a/packages/medusa/src/migrations/1615912118791-discount_usage_count.ts b/packages/medusa/src/migrations/1615970124120-discount_usage_count.ts similarity index 64% rename from packages/medusa/src/migrations/1615912118791-discount_usage_count.ts rename to packages/medusa/src/migrations/1615970124120-discount_usage_count.ts index 7a26dc9f0b..bd88342f41 100644 --- a/packages/medusa/src/migrations/1615912118791-discount_usage_count.ts +++ b/packages/medusa/src/migrations/1615970124120-discount_usage_count.ts @@ -1,11 +1,11 @@ import { MigrationInterface, QueryRunner } from "typeorm" -export class discountUsageCount1615912118791 implements MigrationInterface { - name = "discountUsageCount1615912118791" +export class discountUsageCount1615970124120 implements MigrationInterface { + name = "discountUsageCount1615970124120" public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( - `ALTER TABLE "discount_rule" ADD "usage_count" integer` + `ALTER TABLE "discount_rule" ADD "usage_count" integer NOT NULL DEFAULT '0'` ) } diff --git a/packages/medusa/src/models/discount-rule.ts b/packages/medusa/src/models/discount-rule.ts index 43652b8924..76ba081ecf 100644 --- a/packages/medusa/src/models/discount-rule.ts +++ b/packages/medusa/src/models/discount-rule.ts @@ -66,7 +66,7 @@ export class DiscountRule { @Column({ nullable: true }) usage_limit: number - @Column({ nullable: true }) + @Column({ default: 0 }) usage_count: number @CreateDateColumn({ type: "timestamptz" }) diff --git a/packages/medusa/src/services/discount.js b/packages/medusa/src/services/discount.js index ac3942582d..760d2ca0dd 100644 --- a/packages/medusa/src/services/discount.js +++ b/packages/medusa/src/services/discount.js @@ -85,10 +85,21 @@ class DiscountService extends BaseService { valid_for: Validator.array().optional(), usage_limit: Validator.number() .positive() + .allow(null) .optional(), usage_count: Validator.number() .positive() .optional(), + created_at: Validator.date().optional(), + updated_at: Validator.date() + .allow(null) + .optional(), + deleted_at: Validator.date() + .allow(null) + .optional(), + metadata: Validator.object() + .allow(null) + .optional(), }) const { value, error } = schema.validate(discountRule) diff --git a/packages/medusa/src/subscribers/order.js b/packages/medusa/src/subscribers/order.js index ef9642efb8..c889cd99a9 100644 --- a/packages/medusa/src/subscribers/order.js +++ b/packages/medusa/src/subscribers/order.js @@ -48,7 +48,7 @@ class OrderSubscriber { await Promise.all( order.discounts.map(async d => { - const usageCount = d?.usage_count || 0 + const usageCount = d.rule?.usage_count || 0 return this.discountService_.update(d.id, { rule: { ...d.rule,