import { DataTypes } from 'sequelize'; import { sequelize } from '../../utils/sequelize.js'; const Room = sequelize.define('Room', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, }, title: { type: DataTypes.TEXT, allowNull: false, }, ownerId: { type: DataTypes.INTEGER, allowNull: true, // kann null sein, wenn system-owned }, roomTypeId: { type: DataTypes.INTEGER, allowNull: true, }, isPublic: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: true, }, genderRestrictionId: { type: DataTypes.INTEGER, allowNull: true, }, password: { type: DataTypes.STRING, allowNull: true, }, minAge: { type: DataTypes.INTEGER, allowNull: true, }, maxAge: { type: DataTypes.INTEGER, allowNull: true, }, passwordHash: { type: DataTypes.TEXT, allowNull: true, }, friendsOfOwnerOnly: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false, }, requiredUserRightId: { type: DataTypes.INTEGER, allowNull: true, }, }, { schema: 'chat', tableName: 'room', timestamps: true, underscored: true, indexes: [ { name: 'idx_chat_room_owner', fields: ['owner_id'], }, ], }); export default Room;