UNPKG

synt_backend

Version:

Synt light-weight node backend service

45 lines (44 loc) 1.41 kB
"use strict"; const { Model } = require("sequelize"); const SequelizeTokenify = require("sequelize-tokenify"); module.exports = (sequelize, DataTypes) => { class MeetingUser 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 this.hasOne(models.User, { foreignKey: "id", as: "User" }); this.hasOne(models.User, { localKey: "PowerOfAttorneyGivenToUserId", foreignKey: "id", as: "PowerOfAttorneyGivenToUser", }); this.hasOne(models.Meeting, { foreignKey: "id", as: "Meeting" }); } } MeetingUser.init( { is_confirmed_at: DataTypes.DATE, has_left_at: DataTypes.DATE, has_power_of_attorney: DataTypes.BOOLEAN, power_of_attorney_given_to_first_name: DataTypes.STRING, power_of_attorney_given_to_last_name: DataTypes.STRING, power_of_attorney_token: { type: DataTypes.STRING, unique: true }, PowerOfAttorneyGivenToUserId: DataTypes.INTEGER, }, { sequelize, paranoid: false, modelName: "MeetingUser", tableName: "MeetingUser", } ); SequelizeTokenify.tokenify(MeetingUser, { field: "power_of_attorney_token", length: 6, }); return MeetingUser; };