diff --git a/migrations/1734058800000_add-rejection-reason-to-submissions.cjs b/migrations/1734058800000_add-rejection-reason-to-submissions.cjs new file mode 100644 index 0000000..548e5d8 --- /dev/null +++ b/migrations/1734058800000_add-rejection-reason-to-submissions.cjs @@ -0,0 +1,53 @@ +/** + * @type {import('node-pg-migrate').ColumnDefinitions | undefined} + */ +exports.shorthands = undefined; + +/** + * @param {import('node-pg-migrate').MigrationBuilder} pgm + * @returns {Promise | void} + */ +exports.up = (pgm) => { + console.log( + "[MIGRATION_LOG] Starting migration: add-rejection-reason-to-submissions UP", + ); + + // Add rejection_reason column to store admin's explanation when rejecting + pgm.addColumn("user_submissions", { + rejection_reason: { + type: "text", + notNull: false, + comment: "Admin's reason for rejecting the submission", + }, + }); + + // Add admin_notes column for any additional admin comments + pgm.addColumn("user_submissions", { + admin_notes: { + type: "text", + notNull: false, + comment: "Internal admin notes about the submission", + }, + }); + + console.log( + "[MIGRATION_LOG] Finished migration: add-rejection-reason-to-submissions UP", + ); +}; + +/** + * @param {import('node-pg-migrate').MigrationBuilder} pgm + * @returns {Promise | void} + */ +exports.down = (pgm) => { + console.log( + "[MIGRATION_LOG] Starting migration: add-rejection-reason-to-submissions DOWN", + ); + + pgm.dropColumn("user_submissions", "rejection_reason"); + pgm.dropColumn("user_submissions", "admin_notes"); + + console.log( + "[MIGRATION_LOG] Finished migration: add-rejection-reason-to-submissions DOWN", + ); +};