Files
yourpart3/backend/models/chat/room.js
Torsten Schulz (local) 6da849ca3c feat: Einführung von Umgebungsvariablen und Startskripten für die Backend-Anwendung
- Hinzufügen eines zentralen Skripts zum Laden von Umgebungsvariablen aus einer .env-Datei.
- Implementierung von Start- und Entwicklungs-Skripten in der package.json für eine vereinfachte Ausführung der Anwendung.
- Bereinigung und Entfernung nicht mehr benötigter Minigame-Modelle und -Services zur Verbesserung der Codebasis.
- Anpassungen an den Datenbankmodellen zur Unterstützung von neuen Assoziationen und zur Verbesserung der Lesbarkeit.
2025-08-23 22:27:19 +02:00

56 lines
1.4 KiB
JavaScript

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: ['ownerId']},
]});
export default Room;