app2-api/modules/events/event_detail.model.js

45 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-07-05 07:06:29 +00:00
'use strict';
module.exports = function (sequelize, DataTypes) {
2019-07-17 14:47:27 +00:00
const EventDetail = sequelize.define('EventDetail', {
2019-07-05 07:06:29 +00:00
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
eventId: {
type: DataTypes.UUID,
allowNull: false,
},
speakerId: {
type: DataTypes.UUID,
},
order: {
type: DataTypes.INTEGER,
allowNull: false,
},
description: {
type: DataTypes.STRING,
2019-07-17 14:47:27 +00:00
},
type: {
type: DataTypes.STRING,
default: 'detail', //info, speaker, schedule, detail
}
2019-07-05 07:06:29 +00:00
}, {
indexes: [{
unique: false,
fields: ['speakerId']
}],
2019-07-17 14:47:27 +00:00
tableName: 'events_details',
2019-07-05 07:06:29 +00:00
freezeTableName: true,
timestamps: true,
});
2019-07-17 14:47:27 +00:00
EventDetail.associate = function (models) {
EventDetail.Event = EventDetail.belongsTo(models.Event, { foreignKey: 'eventId', as: "event" });
EventDetail.Speaker = EventDetail.belongsTo(models.Speaker, {foreignKey: 'speakerId', as: "speaker"});
2019-07-05 07:06:29 +00:00
};
2019-07-17 14:47:27 +00:00
return EventDetail;
2019-07-05 07:06:29 +00:00
};