Erster Aufbau Forum

This commit is contained in:
Torsten Schulz
2024-10-15 16:28:42 +02:00
parent c31be3f879
commit 663564aa96
163 changed files with 9449 additions and 116 deletions

View File

@@ -0,0 +1,15 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const Forum = sequelize.define('forum', {
name: {
type: DataTypes.STRING,
allowNull: false
}
}, {
tableName: 'forum',
schema: 'forum',
underscored: true
});
export default Forum;

View File

@@ -0,0 +1,27 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const ForumForumPermission = sequelize.define('forum_forum_permission', {
forumId: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'forum',
key: 'id'
}
},
permissionId: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'forum_permission',
key: 'id'
}
}
}, {
tableName: 'forum_forum_permission',
schema: 'forum',
underscored: true
});
export default ForumForumPermission;

View File

@@ -0,0 +1,22 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const ForumPermission = sequelize.define('forum_permission', {
name: {
type: DataTypes.STRING,
allowNull: false,
},
value: {
type: DataTypes.STRING,
allowNull: true,
},
}, {
sequelize,
modelName: 'ForumPermission',
tableName: 'forum_permission',
schema: 'forum',
timestamps: false,
underscored: true
});
export default ForumPermission;

View File

@@ -0,0 +1,23 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const ForumUserPermission = sequelize.define('forum_user_permission', {
userId: {
type: DataTypes.INTEGER,
allowNull: true
},
permissionId: {
type: DataTypes.INTEGER,
allowNull: false
},
forumId: {
type: DataTypes.INTEGER,
allowNull: false
},
}, {
tableName: 'forum_user_permission',
schema: 'forum',
underscored: true
});
export default ForumUserPermission;

View File

@@ -0,0 +1,24 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const Message = sequelize.define('message', {
text: {
type: DataTypes.TEXT,
allowNull: false
},
createdBy: {
type: DataTypes.INTEGER,
allowNull: false
},
titleId: {
type: DataTypes.INTEGER,
allowNull: false
}
}, {
tableName: 'message',
schema: 'forum',
underscored: true,
timestamps: true
});
export default Message;

View File

@@ -0,0 +1,28 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const MessageHistory = sequelize.define('message_history', {
messageId: {
type: DataTypes.INTEGER,
allowNull: false
},
oldText: {
type: DataTypes.TEXT,
allowNull: false
},
changedBy: {
type: DataTypes.INTEGER,
allowNull: false
},
oldUpdatedAt: {
type: DataTypes.DATE,
allowNull: false
}
}, {
tableName: 'message_history',
schema: 'forum',
underscored: true,
timestamps: false
});
export default MessageHistory;

View File

@@ -0,0 +1,20 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const MessageImage = sequelize.define('message_image', {
messageId: {
type: DataTypes.INTEGER,
allowNull: false
},
fileName: {
type: DataTypes.STRING,
allowNull: false
}
}, {
tableName: 'message_image',
schema: 'forum',
underscored: true,
timestamps: false
});
export default MessageImage;

View File

@@ -0,0 +1,24 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const Title = sequelize.define('title', {
title: {
type: DataTypes.STRING,
allowNull: false
},
createdBy: {
type: DataTypes.INTEGER,
allowNull: false
},
forumId: {
type: DataTypes.INTEGER,
allowNull: false
}
}, {
tableName: 'title',
schema: 'forum',
underscored: true,
timestamps: true,
});
export default Title;

View File

@@ -0,0 +1,28 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const TitleHistory = sequelize.define('title_history', {
titleId: {
type: DataTypes.INTEGER,
allowNull: false
},
oldTitle: {
type: DataTypes.STRING,
allowNull: false
},
changedBy: {
type: DataTypes.INTEGER,
allowNull: false
},
oldUpdatedAt: {
type: DataTypes.DATE,
allowNull: false
}
}, {
tableName: 'title_history',
schema: 'forum',
underscored: true,
timestamps: false
});
export default TitleHistory;