UNPKG

synt_backend

Version:

Synt light-weight node backend service

52 lines (51 loc) 1.43 kB
"use strict"; const { Model } = require("sequelize"); module.exports = (sequelize, DataTypes) => { class Meeting extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. * The `models/index` file will call this method automatically. */ static associate(models) { // define association here Meeting.belongsTo(models.User); //creator //Meeting.belongsTo(models.User); //cancel Meeting.belongsTo(models.VME); Meeting.hasMany(models.MeetingItem); Meeting.belongsToMany(models.User, { through: "MeetingUser", foreignKey: "MeetingId", as: "Users", }); Meeting.belongsTo(models.FinancialYear); Meeting.belongsTo(models.Meeting); } } Meeting.init( { name: DataTypes.STRING, description: DataTypes.STRING, starts_at: DataTypes.DATE, ends_at: DataTypes.DATE, is_cancelled: DataTypes.BOOLEAN, is_streaming: DataTypes.BOOLEAN, type: DataTypes.ENUM("general", "special", "other"), address: DataTypes.STRING, hours: { type: DataTypes.VIRTUAL, get() { return ( (this.getDataValue("ends_at") - this.getDataValue("starts_at")) / (1000 * 3600) ); }, }, }, { sequelize, modelName: "Meeting", } ); return Meeting; };