create cases table

This commit is contained in:
Takeshi Kimata
2024-02-12 18:47:39 +09:00
parent b23922c8e5
commit 291bad6d56
9 changed files with 255 additions and 4 deletions

57
backend/models/cases.js Normal file
View File

@@ -0,0 +1,57 @@
function defineCase(sequelize, DataTypes) {
const Case = sequelize.define('Case', {
title: {
type: DataTypes.STRING,
allowNull: false,
},
state: {
type: DataTypes.INTEGER,
allowNull: false,
},
priority: {
type: DataTypes.INTEGER,
allowNull: false,
},
type: {
type: DataTypes.INTEGER,
allowNull: false,
},
automationStatus: {
type: DataTypes.INTEGER,
allowNull: false,
},
description: {
type: DataTypes.STRING,
allowNull: true,
},
template: {
type: DataTypes.INTEGER,
allowNull: false,
},
preConditions: {
type: DataTypes.STRING,
allowNull: true,
},
expectedResults: {
type: DataTypes.STRING,
allowNull: true,
},
folderId: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'folder',
key: 'id'
},
onDelete: 'CASCADE'
}
});
Case.associate = (models) => {
Case.belongsTo(models.folder, { foreignKey: 'folderId', onDelete: 'CASCADE' });
};
return Case;
}
module.exports = defineCase;

View File

@@ -15,9 +15,18 @@ function defineFolder(sequelize, DataTypes) {
projectId: {
type: DataTypes.INTEGER,
allowNull: false,
},
references: {
model: 'project',
key: 'id'
},
onDelete: 'CASCADE'
}
});
Folder.associate = (models) => {
Folder.belongsTo(models.Project, { foreignKey: 'projectId', onDelete: 'CASCADE' });
};
return Folder;
}

View File

@@ -19,9 +19,18 @@ function defineRun(sequelize, DataTypes) {
projectId: {
type: DataTypes.INTEGER,
allowNull: false,
},
references: {
model: 'project',
key: 'id'
},
onDelete: 'CASCADE'
}
});
Run.associate = (models) => {
Run.belongsTo(models.Project, { foreignKey: 'projectId', onDelete: 'CASCADE' });
};
return Run;
}