73 lines
1.5 KiB
JavaScript
73 lines
1.5 KiB
JavaScript
const { DataTypes } = require('sequelize');
|
|
|
|
module.exports = (sequelize) => {
|
|
const Event = sequelize.define('Event', {
|
|
uniqueId: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true
|
|
},
|
|
eventTypeId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true
|
|
},
|
|
event_place_id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true
|
|
},
|
|
name: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true
|
|
},
|
|
date: {
|
|
type: DataTypes.DATE,
|
|
allowNull: true
|
|
},
|
|
time: {
|
|
type: DataTypes.TIME,
|
|
allowNull: true
|
|
},
|
|
endTime: {
|
|
type: DataTypes.TIME,
|
|
allowNull: true
|
|
},
|
|
dayOfWeek: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true
|
|
},
|
|
description: {
|
|
type: DataTypes.TEXT,
|
|
allowNull: true
|
|
},
|
|
alsoOnHomepage: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false
|
|
}
|
|
}, {
|
|
tableName: 'events',
|
|
timestamps: true
|
|
});
|
|
|
|
Event.associate = function(models) {
|
|
Event.belongsTo(models.Institution, {
|
|
foreignKey: 'institution_id',
|
|
as: 'institution'
|
|
});
|
|
Event.belongsTo(models.EventPlace, {
|
|
foreignKey: 'event_place_id',
|
|
as: 'eventPlace'
|
|
});
|
|
Event.belongsTo(models.EventType, {
|
|
foreignKey: 'eventTypeId',
|
|
as: 'eventType'
|
|
});
|
|
Event.belongsToMany(models.ContactPerson, {
|
|
through: 'EventContactPerson',
|
|
foreignKey: 'event_id',
|
|
otherKey: 'contact_person_id',
|
|
as: 'contactPersons'
|
|
});
|
|
};
|
|
|
|
return Event;
|
|
};
|