feat: Add requested_at + open status to return (#8391)

* feat: Add requested_at + open status to return

* Update return in confirm claim workflow

* Revert snapshot

* feat: Change OrderChangeType

* fix test
This commit is contained in:
Oli Juhl
2024-08-01 16:20:45 +02:00
committed by GitHub
parent f81652bf6e
commit dbd0b18726
17 changed files with 89 additions and 34 deletions
@@ -2627,4 +2627,4 @@
}
}
]
}
}
@@ -0,0 +1,12 @@
import { Migration } from "@mikro-orm/migrations"
export class Migration20240801085921 extends Migration {
async up(): Promise<void> {
this.addSql(`
ALTER TABLE "return"
ADD COLUMN IF NOT exists "requested_at" timestamptz NULL;
ALTER TYPE return_status_enum ADD VALUE 'open';
`)
}
}
@@ -4,7 +4,6 @@ import {
DALUtils,
generateEntityId,
OrderChangeStatus,
OrderChangeType,
} from "@medusajs/utils"
import {
BeforeCreate,
@@ -21,7 +20,7 @@ import {
Property,
Rel,
} from "@mikro-orm/core"
import {} from "@types"
import { } from "@types"
import OrderClaim from "./claim"
import OrderExchange from "./exchange"
import Order from "./order"
@@ -60,12 +59,6 @@ const OrderChangeStatusIndex = createPsqlIndexStatementHelper({
where: "deleted_at IS NOT NULL",
})
const OrderChangeTypeIndex = createPsqlIndexStatementHelper({
tableName: "order_change",
columns: "change_type",
where: "deleted_at IS NOT NULL",
})
const DeletedAtIndex = createPsqlIndexStatementHelper({
tableName: "order_change",
columns: "deleted_at",
@@ -154,9 +147,8 @@ export default class OrderChange {
@VersionIndex.MikroORMIndex()
version: number
@Enum({ items: () => OrderChangeType, nullable: true })
@OrderChangeTypeIndex.MikroORMIndex()
change_type: OrderChangeType | null = null
@Property({ columnType: "text", nullable: true })
change_type: string | null = null
@OneToMany(() => OrderChangeAction, (action) => action.order_change, {
cascade: [Cascade.PERSIST, "soft-remove" as Cascade],
+5 -2
View File
@@ -114,8 +114,8 @@ export default class Return {
@DisplayIdIndex.MikroORMIndex()
display_id: number
@Enum({ items: () => ReturnStatus, default: ReturnStatus.REQUESTED })
status: ReturnStatus = ReturnStatus.REQUESTED
@Enum({ items: () => ReturnStatus, default: ReturnStatus.OPEN })
status: ReturnStatus = ReturnStatus.OPEN
@Property({ columnType: "text", nullable: true })
location_id: string | null = null
@@ -172,6 +172,9 @@ export default class Return {
@ReturnDeletedAtIndex.MikroORMIndex()
deleted_at: Date | null = null
@Property({ columnType: "timestamptz", nullable: true })
requested_at: Date | null = null
@Property({ columnType: "timestamptz", nullable: true })
received_at: Date | null = null
@@ -114,7 +114,7 @@ async function createOrderChange(
{
order_id: data.order_id,
return_id: returnRef.id,
change_type: OrderChangeType.RETURN,
change_type: OrderChangeType.RETURN_REQUEST,
reference: "return",
reference_id: returnRef.id,
description: data.description,
@@ -33,7 +33,7 @@ async function createOrderChange(
return_id: returnEntry.id,
reference: "return",
reference_id: returnEntry.id,
change_type: OrderChangeType.RETURN,
change_type: OrderChangeType.RETURN_RECEIVE,
description: data.description,
internal_note: data.internal_note,
created_by: data.created_by,
@@ -1,6 +1,3 @@
import { OrderTypes } from "@medusajs/types"
import { OrderChangeType } from "@medusajs/utils"
export interface CreateOrderChangeDTO extends OrderTypes.CreateOrderChangeDTO {
change_type?: OrderChangeType
}
export interface CreateOrderChangeDTO extends OrderTypes.CreateOrderChangeDTO {}