From 5bf375f275954bb802468e3e1888fe6654d3ed2b Mon Sep 17 00:00:00 2001 From: Harsh Date: Thu, 8 May 2025 02:21:33 -0400 Subject: [PATCH] added migration script for updating enum file source for reporting --- ...1148-update-enum_files_source-reporting.js | 22 +++++++++++++++++++ Servers/models/file.model.ts | 8 +++---- Servers/utils/fileUpload.utils.ts | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 Servers/database/migrations/20250508061148-update-enum_files_source-reporting.js diff --git a/Servers/database/migrations/20250508061148-update-enum_files_source-reporting.js b/Servers/database/migrations/20250508061148-update-enum_files_source-reporting.js new file mode 100644 index 000000000..234e3dac4 --- /dev/null +++ b/Servers/database/migrations/20250508061148-update-enum_files_source-reporting.js @@ -0,0 +1,22 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, Sequelize) { + const transaction = await queryInterface.sequelize.transaction(); + try { + await queryInterface.sequelize.query( + `ALTER TYPE enum_files_source ADD VALUE 'Report';`, + { transaction } + ); + await transaction.commit(); + } catch (error) { + await transaction.rollback(); + throw error; + } + }, + + async down(queryInterface, Sequelize) { + // The enum value won't cause any issues if it is not removed + } +}; diff --git a/Servers/models/file.model.ts b/Servers/models/file.model.ts index 41930d86a..5af374aeb 100644 --- a/Servers/models/file.model.ts +++ b/Servers/models/file.model.ts @@ -8,7 +8,7 @@ export interface File { project_id: number; uploaded_by: number; uploaded_time: Date; - source: "Assessment tracker group" | "Compliance tracker group"; + source: "Assessment tracker group" | "Compliance tracker group" | "Report"; } export interface FileType { @@ -18,7 +18,7 @@ export interface FileType { uploaded_by: number; uploaded_time: Date; type: string; - source: "Assessment tracker group" | "Compliance tracker group"; + source: "Assessment tracker group" | "Compliance tracker group" | "Report"; } @Table({ @@ -60,9 +60,9 @@ export class FileModel extends Model { uploaded_time!: Date; @Column({ - type: DataType.ENUM("Assessment tracker group", "Compliance tracker group"), + type: DataType.ENUM("Assessment tracker group", "Compliance tracker group", "Report"), }) - source!: "Assessment tracker group" | "Compliance tracker group"; + source!: "Assessment tracker group" | "Compliance tracker group" | "Report"; @Column({ type: DataType.STRING diff --git a/Servers/utils/fileUpload.utils.ts b/Servers/utils/fileUpload.utils.ts index e0a394d33..4cbcdb0bf 100644 --- a/Servers/utils/fileUpload.utils.ts +++ b/Servers/utils/fileUpload.utils.ts @@ -10,7 +10,7 @@ export const uploadFile = async ( file: UploadedFile, user_id: number, project_framework_id: number, - source: "Assessment tracker group" | "Compliance tracker group", + source: "Assessment tracker group" | "Compliance tracker group" | "Report", transaction: Transaction | null = null ) => { const project = await sequelize.query(