hedgedoc/lib/models/author.ts

44 lines
795 B
TypeScript
Raw Normal View History

import {DataTypes} from 'sequelize';
function createAuthorModel(sequelize) {
const Author = sequelize.define('Author', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
color: {
type: DataTypes.STRING
}
}, {
indexes: [
{
unique: true,
fields: ['noteId', 'userId']
}
]
});
Author.associate = function (models) {
Author.belongsTo(models.Note, {
foreignKey: 'noteId',
as: 'note',
constraints: false,
onDelete: 'CASCADE',
hooks: true
});
Author.belongsTo(models.User, {
foreignKey: 'userId',
as: 'user',
constraints: false,
onDelete: 'CASCADE',
hooks: true
})
};
return Author
}
export = createAuthorModel