synt_backend
Version:
Synt light-weight node backend service
81 lines (78 loc) • 1.88 kB
JavaScript
"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable("MeetingUser", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
MeetingId: {
type: Sequelize.INTEGER,
references: {
model: "Meetings",
key: "id",
},
allowNull: false,
defaultValue: Sequelize.UUIDV4,
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
UserId: {
type: Sequelize.INTEGER,
references: {
model: "Users",
key: "id",
},
allowNull: false,
defaultValue: Sequelize.UUIDV4,
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
is_confirmed_at: {
type: Sequelize.DATE,
},
has_left_at: {
type: Sequelize.DATE,
},
has_power_of_attorney: {
type: Sequelize.BOOLEAN,
defaultValue: false,
},
PowerOfAttorneyGivenToUserId: {
type: Sequelize.INTEGER,
references: {
model: "Users",
key: "id",
},
allowNull: true,
defaultValue: Sequelize.UUIDV4,
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
power_of_attorney_given_to_first_name: {
type: Sequelize.STRING,
allowNull: true,
},
power_of_attorney_given_to_last_name: {
type: Sequelize.STRING,
allowNull: true,
},
power_of_attorney_token: {
type: Sequelize.STRING,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
});
},
down: async (queryInterface) => {
await queryInterface.dropTable("MeetingUser");
},
};