Erster Aufbau Forum
This commit is contained in:
15
backend/models/forum/forum.js
Normal file
15
backend/models/forum/forum.js
Normal 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;
|
||||
27
backend/models/forum/forum_forum_permission.js
Normal file
27
backend/models/forum/forum_forum_permission.js
Normal 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;
|
||||
22
backend/models/forum/forum_permission.js
Normal file
22
backend/models/forum/forum_permission.js
Normal 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;
|
||||
23
backend/models/forum/forum_user_permission.js
Normal file
23
backend/models/forum/forum_user_permission.js
Normal 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;
|
||||
24
backend/models/forum/message.js
Normal file
24
backend/models/forum/message.js
Normal 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;
|
||||
28
backend/models/forum/message_history.js
Normal file
28
backend/models/forum/message_history.js
Normal 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;
|
||||
20
backend/models/forum/message_image.js
Normal file
20
backend/models/forum/message_image.js
Normal 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;
|
||||
24
backend/models/forum/title.js
Normal file
24
backend/models/forum/title.js
Normal 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;
|
||||
28
backend/models/forum/title_history.js
Normal file
28
backend/models/forum/title_history.js
Normal 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;
|
||||
Reference in New Issue
Block a user