Files
pp-tcms/backend/models/folders.js
2025-08-06 22:26:38 +09:00

41 lines
942 B
JavaScript

function defineFolder(sequelize, DataTypes) {
const Folder = sequelize.define('Folder', {
name: {
type: DataTypes.STRING,
allowNull: false,
},
detail: {
type: DataTypes.STRING,
allowNull: true,
},
parentFolderId: {
type: DataTypes.INTEGER,
allowNull: true,
references: {
model: 'folder',
key: 'id',
},
onDelete: 'CASCADE',
},
projectId: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'project',
key: 'id',
},
onDelete: 'CASCADE',
},
});
Folder.associate = (models) => {
Folder.belongsTo(models.Project, { foreignKey: 'projectId', onDelete: 'CASCADE' });
Folder.belongsTo(models.folder, { foreignKey: 'parentFolderId', onDelete: 'CASCADE' });
Folder.hasMany(models.Case, { foreignKey: 'folderId' });
};
return Folder;
}
module.exports = defineFolder;