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,48 @@
import Forum from '../models/forum/forum.js';
import ForumPermission from '../models/forum/forum_permission.js';
import ForumForumPermission from '../models/forum/forum_forum_permission.js';
const initializeForum = async () => {
const permissions = [
{ name: 'all', value: null },
{ name: 'user', value: null },
{ name: 'admin', value: null },
{ name: 'age', value: '14' },
{ name: 'teammember', value: null }
];
const forums = [
{ name: 'Intern', permissions: ['admin', 'teammember'] },
{ name: 'Flirt', permissions: ['age'] },
{ name: 'Falukant', permissions: ['all'] },
{ name: 'Politik', permissions: ['all'] },
{ name: 'Schule', permissions: ['all'] }
];
const permissionMap = {};
for (const perm of permissions) {
const [permission] = await ForumPermission.findOrCreate({
where: { name: perm.name },
defaults: { name: perm.name, value: perm.value }
});
permissionMap[perm.name] = permission.id;
}
for (const forum of forums) {
try {
const [createdForum] = await Forum.findOrCreate({
where: { name: forum.name },
defaults: { name: forum.name }
});
for (const permissionName of forum.permissions) {
const permissionId = permissionMap[permissionName];
await ForumForumPermission.findOrCreate({
where: { forumId: createdForum.id, permissionId: permissionId },
defaults: { forumId: createdForum.id, permissionId: permissionId },
});
}
console.log(`Forum '${forum.name}' erfolgreich erstellt oder aktualisiert.`);
} catch (error) {
console.error(`Fehler beim Erstellen des Forums '${forum.name}': ${error.message}`);
}
}
};
export default initializeForum;