create caseSteps
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
/** @type {import('sequelize-cli').Migration} */
|
/** @type {import('sequelize-cli').Migration} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
up: async (queryInterface, Sequelize) => {
|
||||||
await queryInterface.createTable("cases_steps", {
|
await queryInterface.createTable("caseSteps", {
|
||||||
id: {
|
id: {
|
||||||
type: Sequelize.INTEGER,
|
type: Sequelize.INTEGER,
|
||||||
primaryKey: true,
|
primaryKey: true,
|
||||||
@@ -37,12 +37,12 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await queryInterface.addIndex("cases_steps", ["caseId", "stepId"], {
|
await queryInterface.addIndex("caseSteps", ["caseId", "stepId"], {
|
||||||
unique: true,
|
unique: true,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
down: async (queryInterface, Sequelize) => {
|
||||||
await queryInterface.dropTable("cases_steps");
|
await queryInterface.dropTable("caseSteps");
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
function defineCase(sequelize, DataTypes) {
|
function defineCase(sequelize, DataTypes) {
|
||||||
const Case = sequelize.define('Case', {
|
const Case = sequelize.define("Case", {
|
||||||
title: {
|
title: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.STRING,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
@@ -40,16 +40,21 @@ function defineCase(sequelize, DataTypes) {
|
|||||||
type: DataTypes.INTEGER,
|
type: DataTypes.INTEGER,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
references: {
|
references: {
|
||||||
model: 'folder',
|
model: "folder",
|
||||||
key: 'id'
|
key: "id",
|
||||||
|
},
|
||||||
|
onDelete: "CASCADE",
|
||||||
},
|
},
|
||||||
onDelete: 'CASCADE'
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Case.associate = (models) => {
|
Case.associate = (models) => {
|
||||||
Case.belongsTo(models.Folder, { foreignKey: 'folderId', onDelete: 'CASCADE' });
|
Case.belongsTo(models.Folder, {
|
||||||
Case.belongsToMany(models.Step, { through: 'Case_Step' });
|
foreignKey: "folderId",
|
||||||
|
onDelete: "CASCADE",
|
||||||
|
});
|
||||||
|
Case.belongsToMany(models.Step, {
|
||||||
|
through: "caseSteps"
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
return Case;
|
return Case;
|
||||||
|
|||||||
@@ -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;
|
|
||||||
@@ -11,7 +11,9 @@ function defineStep(sequelize, DataTypes) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Step.associate = (models) => {
|
Step.associate = (models) => {
|
||||||
Step.belongsToMany(models.Case, { through: "Case_Step" });
|
Step.belongsToMany(models.Case, {
|
||||||
|
through: "caseSteps"
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
return Step;
|
return Step;
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ const { DataTypes } = require("sequelize");
|
|||||||
module.exports = function (sequelize) {
|
module.exports = function (sequelize) {
|
||||||
const Case = defineCase(sequelize, DataTypes);
|
const Case = defineCase(sequelize, DataTypes);
|
||||||
const Step = defineStep(sequelize, DataTypes);
|
const Step = defineStep(sequelize, DataTypes);
|
||||||
|
Case.belongsToMany(Step, { through: 'caseSteps' });
|
||||||
|
Step.belongsToMany(Case, { through: 'caseSteps' });
|
||||||
|
|
||||||
router.get("/", async (req, res) => {
|
router.get("/", async (req, res) => {
|
||||||
const { caseId, folderId } = req.query;
|
const { caseId, folderId } = req.query;
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ module.exports = {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
// Add case-step join table
|
// Add case-step join table
|
||||||
await queryInterface.bulkInsert("cases_steps", [
|
await queryInterface.bulkInsert("caseSteps", [
|
||||||
{
|
{
|
||||||
caseId: 1,
|
caseId: 1,
|
||||||
stepId: 1,
|
stepId: 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user