chore(): create default refund reasons (#13591)

* chore(): create default refund reasons

* Create great-donuts-swim.md

* woops

* woopsie

* woopsie

* tests

* tests

* woopsie

* fml

* fix: comment
This commit is contained in:
William Bouchard
2025-09-28 10:07:48 +02:00
committed by GitHub
parent 9d8ed70130
commit 5346079d47
30 changed files with 190 additions and 119 deletions
@@ -450,6 +450,7 @@
"id"
],
"referencedTableName": "public.payment_collection",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
},
@@ -463,6 +464,7 @@
"id"
],
"referencedTableName": "public.payment_provider",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
}
@@ -658,6 +660,7 @@
"id"
],
"referencedTableName": "public.payment_collection",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
}
@@ -871,6 +874,7 @@
"id"
],
"referencedTableName": "public.payment_collection",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
},
@@ -884,6 +888,7 @@
"id"
],
"referencedTableName": "public.payment_session",
"createForeignKeyConstraint": true,
"updateRule": "cascade"
}
},
@@ -1022,6 +1027,7 @@
"id"
],
"referencedTableName": "public.payment",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
}
@@ -1286,6 +1292,7 @@
"id"
],
"referencedTableName": "public.payment",
"createForeignKeyConstraint": true,
"deleteRule": "cascade",
"updateRule": "cascade"
},
@@ -1299,6 +1306,7 @@
"id"
],
"referencedTableName": "public.refund_reason",
"createForeignKeyConstraint": true,
"deleteRule": "set null",
"updateRule": "cascade"
}
@@ -0,0 +1,35 @@
import { Migration } from "@mikro-orm/migrations"
import { ulid } from "ulid"
export class Migration20250924135437 extends Migration {
override async up(): Promise<void> {
const [existingReason] = await this.execute(`
SELECT 1 as exists
FROM "refund_reason"
LIMIT 1
`)
if (!existingReason) {
// 2. Create default shipping option type
await this.execute(`
INSERT INTO "refund_reason" (id, label, description)
VALUES
('refr_${ulid()}', 'Shipping Issue', 'Refund due to lost, delayed, or misdelivered shipment'),
('refr_${ulid()}', 'Customer Care Adjustment', 'Refund given as goodwill or compensation for inconvenience'),
('refr_${ulid()}', 'Pricing Error', 'Refund to correct an overcharge, missing discount, or incorrect price');
`)
}
}
override async down(): Promise<void> {
// Remove the default refund reasons we created
this.addSql(`
DELETE FROM "refund_reason"
WHERE ("label", "description") IN (
('Shipping Issue', 'Refund due to lost, delayed, or misdelivered shipment'),
('Customer Care Adjustment', 'Refund given as goodwill or compensation for inconvenience'),
('Pricing Error', 'Refund to correct an overcharge, missing discount, or incorrect price')
)
`)
}
}