diff --git a/backend/migrations/20240229100158-create-cases-steps.js b/backend/migrations/20240229100158-create-cases-steps.js index 729722c..0b52af6 100644 --- a/backend/migrations/20240229100158-create-cases-steps.js +++ b/backend/migrations/20240229100158-create-cases-steps.js @@ -3,7 +3,7 @@ /** @type {import('sequelize-cli').Migration} */ module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("cases_steps", { + await queryInterface.createTable("caseSteps", { id: { type: Sequelize.INTEGER, primaryKey: true, @@ -37,12 +37,12 @@ module.exports = { }, }); - await queryInterface.addIndex("cases_steps", ["caseId", "stepId"], { + await queryInterface.addIndex("caseSteps", ["caseId", "stepId"], { unique: true, }); }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("cases_steps"); + await queryInterface.dropTable("caseSteps"); }, }; diff --git a/backend/models/cases.js b/backend/models/cases.js index af776de..e7f0073 100644 --- a/backend/models/cases.js +++ b/backend/models/cases.js @@ -1,5 +1,5 @@ function defineCase(sequelize, DataTypes) { - const Case = sequelize.define('Case', { + const Case = sequelize.define("Case", { title: { type: DataTypes.STRING, allowNull: false, @@ -40,19 +40,24 @@ function defineCase(sequelize, DataTypes) { type: DataTypes.INTEGER, allowNull: false, references: { - model: 'folder', - key: 'id' + model: "folder", + key: "id", }, - onDelete: 'CASCADE' - } + onDelete: "CASCADE", + }, }); Case.associate = (models) => { - Case.belongsTo(models.Folder, { foreignKey: 'folderId', onDelete: 'CASCADE' }); - Case.belongsToMany(models.Step, { through: 'Case_Step' }); + Case.belongsTo(models.Folder, { + foreignKey: "folderId", + onDelete: "CASCADE", + }); + Case.belongsToMany(models.Step, { + through: "caseSteps" + }); }; return Case; } -module.exports = defineCase; \ No newline at end of file +module.exports = defineCase; diff --git a/backend/models/casestep.js b/backend/models/casestep.js deleted file mode 100644 index 4b061e5..0000000 --- a/backend/models/casestep.js +++ /dev/null @@ -1,16 +0,0 @@ -function defineCaseStep(sequelize, DataTypes) { - const CaseStep = sequelize.define("CaseStep", { - caseId: { - type: DataTypes.INTEGER, - allowNull: false, - }, - stepId: { - type: DataTypes.INTEGER, - allowNull: false, - }, - }); - - return CaseStep; -} - -module.exports = defineCaseStep; \ No newline at end of file diff --git a/backend/models/steps.js b/backend/models/steps.js index c51e237..6f6229b 100644 --- a/backend/models/steps.js +++ b/backend/models/steps.js @@ -11,7 +11,9 @@ function defineStep(sequelize, DataTypes) { }); Step.associate = (models) => { - Step.belongsToMany(models.Case, { through: "Case_Step" }); + Step.belongsToMany(models.Case, { + through: "caseSteps" + }); }; return Step; diff --git a/backend/routes/cases/index.js b/backend/routes/cases/index.js index 2f71c51..274b5ca 100644 --- a/backend/routes/cases/index.js +++ b/backend/routes/cases/index.js @@ -7,6 +7,8 @@ const { DataTypes } = require("sequelize"); module.exports = function (sequelize) { const Case = defineCase(sequelize, DataTypes); const Step = defineStep(sequelize, DataTypes); + Case.belongsToMany(Step, { through: 'caseSteps' }); + Step.belongsToMany(Case, { through: 'caseSteps' }); router.get("/", async (req, res) => { const { caseId, folderId } = req.query; diff --git a/backend/seeders/seed.js b/backend/seeders/seed.js index 8103aeb..9a5681f 100644 --- a/backend/seeders/seed.js +++ b/backend/seeders/seed.js @@ -125,7 +125,7 @@ module.exports = { ]); // Add case-step join table - await queryInterface.bulkInsert("cases_steps", [ + await queryInterface.bulkInsert("caseSteps", [ { caseId: 1, stepId: 1,