feat(customer): add softdelete/restore (#6203)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { DAL } from "@medusajs/types"
|
||||
import { generateEntityId } from "@medusajs/utils"
|
||||
import {
|
||||
Cascade,
|
||||
BeforeCreate,
|
||||
ManyToOne,
|
||||
Entity,
|
||||
@@ -32,6 +33,7 @@ export default class CustomerGroupCustomer {
|
||||
fieldName: "customer_id",
|
||||
index: "IDX_customer_group_customer_customer_id",
|
||||
nullable: true,
|
||||
cascade: [Cascade.REMOVE],
|
||||
})
|
||||
customer: Customer | null
|
||||
|
||||
@@ -40,6 +42,7 @@ export default class CustomerGroupCustomer {
|
||||
fieldName: "customer_group_id",
|
||||
index: "IDX_customer_group_customer_group_id",
|
||||
nullable: true,
|
||||
cascade: [Cascade.REMOVE],
|
||||
})
|
||||
customer_group: CustomerGroup | null
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { DAL } from "@medusajs/types"
|
||||
import { generateEntityId } from "@medusajs/utils"
|
||||
import { DALUtils, generateEntityId } from "@medusajs/utils"
|
||||
import {
|
||||
BeforeCreate,
|
||||
Entity,
|
||||
@@ -9,13 +9,15 @@ import {
|
||||
Property,
|
||||
ManyToMany,
|
||||
Collection,
|
||||
Filter,
|
||||
} from "@mikro-orm/core"
|
||||
import Customer from "./customer"
|
||||
import CustomerGroupCustomer from "./customer-group-customer"
|
||||
|
||||
type OptionalGroupProps = DAL.EntityDateColumns // TODO: To be revisited when more clear
|
||||
type OptionalGroupProps = DAL.SoftDeletableEntityDateColumns // TODO: To be revisited when more clear
|
||||
|
||||
@Entity({ tableName: "customer_group" })
|
||||
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
|
||||
export default class CustomerGroup {
|
||||
[OptionalProps]: OptionalGroupProps
|
||||
|
||||
@@ -52,6 +54,9 @@ export default class CustomerGroup {
|
||||
})
|
||||
updated_at: Date
|
||||
|
||||
@Property({ columnType: "timestamptz", nullable: true })
|
||||
deleted_at: Date | null = null
|
||||
|
||||
@BeforeCreate()
|
||||
onCreate() {
|
||||
this.id = generateEntityId(this.id, "cusgroup")
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { DAL } from "@medusajs/types"
|
||||
import { generateEntityId } from "@medusajs/utils"
|
||||
import { DALUtils, generateEntityId } from "@medusajs/utils"
|
||||
import {
|
||||
BeforeCreate,
|
||||
Cascade,
|
||||
Collection,
|
||||
Entity,
|
||||
Filter,
|
||||
Index,
|
||||
ManyToMany,
|
||||
ManyToOne,
|
||||
@@ -23,9 +24,10 @@ type OptionalCustomerProps =
|
||||
| "addresses"
|
||||
| "default_shipping_address"
|
||||
| "default_billing_address"
|
||||
| DAL.EntityDateColumns
|
||||
| DAL.SoftDeletableEntityDateColumns
|
||||
|
||||
@Entity({ tableName: "customer" })
|
||||
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
|
||||
export default class Customer {
|
||||
[OptionalProps]?: OptionalCustomerProps
|
||||
|
||||
|
||||
Reference in New Issue
Block a user