fix(medusa): discount types across model, service and api (#1545)

This commit is contained in:
Kasper Fabricius Kristensen
2022-05-22 12:18:37 +02:00
committed by GitHub
parent 4489b75f5a
commit 2f08167480
4 changed files with 17 additions and 13 deletions

View File

@@ -126,16 +126,16 @@ export class AdminPostDiscountsDiscountReq {
@IsOptional()
@IsGreaterThan("starts_at")
@Type(() => Date)
ends_at?: Date
ends_at?: Date | null
@IsISO8601Duration()
@IsOptional()
valid_duration?: string
valid_duration?: string | null
@IsNumber()
@IsOptional()
@IsPositive()
usage_limit?: number
usage_limit?: number | null
@IsArray()
@IsOptional()

View File

@@ -10,7 +10,7 @@ import {
ManyToMany,
ManyToOne,
PrimaryColumn,
UpdateDateColumn,
UpdateDateColumn
} from "typeorm"
import { ulid } from "ulid"
import { DbAwareColumn, resolveDbType } from "../utils/db-aware-column"
@@ -54,10 +54,10 @@ export class Discount {
starts_at: Date
@Column({ type: resolveDbType("timestamptz"), nullable: true })
ends_at: Date
ends_at: Date | null
@Column({ nullable: true })
valid_duration: string
@Column({ type: String, nullable: true })
valid_duration: string | null
@ManyToMany(() => Region, { cascade: true })
@JoinTable({
@@ -73,8 +73,8 @@ export class Discount {
})
regions: Region[]
@Column({ nullable: true })
usage_limit: number
@Column({ type: Number, nullable: true })
usage_limit: number | null
@Column({ default: 0 })
usage_count: number

View File

@@ -721,7 +721,11 @@ class DiscountService extends BaseService {
}
hasExpired(discount: Discount): boolean {
return discount.ends_at && isPast(discount.ends_at)
if (!discount.ends_at) {
return false
}
return isPast(discount.ends_at)
}
isDisabled(discount: Discount): boolean {

View File

@@ -151,9 +151,9 @@ export type UpdateDiscountInput = {
is_dynamic?: boolean
is_disabled?: boolean
starts_at?: Date
ends_at?: Date
valid_duration?: string
usage_limit?: number
ends_at?: Date | null
valid_duration?: string | null
usage_limit?: number | null
regions?: string[]
metadata?: Record<string, unknown>
}