44 lines
1.9 KiB
JavaScript
44 lines
1.9 KiB
JavaScript
const fs = require('fs');
|
|
|
|
// Patch activity_logs.js
|
|
let activityLogs = fs.readFileSync('backend/src/db/models/activity_logs.js', 'utf8');
|
|
if (!activityLogs.includes('actionType')) {
|
|
activityLogs = activityLogs.replace(
|
|
'message: {',
|
|
'actionType: { type: DataTypes.STRING },\n metadata: { type: DataTypes.JSONB },\n\n message: {'
|
|
);
|
|
fs.writeFileSync('backend/src/db/models/activity_logs.js', activityLogs);
|
|
}
|
|
|
|
// Patch appeal_drafts.js
|
|
let appealDrafts = fs.readFileSync('backend/src/db/models/appeal_drafts.js', 'utf8');
|
|
if (!appealDrafts.includes('version: {')) {
|
|
appealDrafts = appealDrafts.replace(
|
|
'title: {',
|
|
'version: { type: DataTypes.INTEGER, defaultValue: 1 },\n summary: { type: DataTypes.TEXT },\n body: { type: DataTypes.TEXT },\n evidenceChecklist: { type: DataTypes.JSONB },\n\n title: {'
|
|
);
|
|
// Add belongsTo for submittedByUserId
|
|
appealDrafts = appealDrafts.replace(
|
|
'db.appeal_drafts.belongsTo(db.users, {',
|
|
'db.appeal_drafts.belongsTo(db.users, {\n as: \"submittedByUser\",\n foreignKey: {\n name: \"submittedByUserId\",\n },\n constraints: false,\n });\n\n db.appeal_drafts.belongsTo(db.users, {'
|
|
);
|
|
// Unescape literal backslashes so it's actual newlines
|
|
appealDrafts = appealDrafts.replace(/\\n/g, '\n');
|
|
|
|
// change status to STRING
|
|
appealDrafts = appealDrafts.replace(
|
|
/status: {\s*type: DataTypes\.ENUM,[\s\S]*?],/,
|
|
'status: {\n type: DataTypes.STRING,'
|
|
);
|
|
fs.writeFileSync('backend/src/db/models/appeal_drafts.js', appealDrafts);
|
|
}
|
|
|
|
// Patch cases.js for status type change
|
|
let cases = fs.readFileSync('backend/src/db/models/cases.js', 'utf8');
|
|
if (cases.includes('type: DataTypes.ENUM,')) {
|
|
cases = cases.replace(
|
|
/status: {\s*type: DataTypes\.ENUM,[\s\S]*?],/,
|
|
'status: {\n type: DataTypes.STRING,'
|
|
);
|
|
fs.writeFileSync('backend/src/db/models/cases.js', cases);
|
|
} |