feat: Implement blog and blog post models, routes, and services
- Added Blog and BlogPost models with necessary fields and relationships. - Created blogRouter for handling blog-related API endpoints including CRUD operations. - Developed BlogService for business logic related to blogs and posts, including sharing functionality. - Implemented API client methods for frontend to interact with blog-related endpoints. - Added internationalization support for blog-related text in English and German. - Created Vue components for blog editing, listing, and viewing, including a rich text editor for post content. - Enhanced user experience with form validations and dynamic visibility settings based on user input.
This commit is contained in:
@@ -95,6 +95,8 @@ import PoliticalOfficeHistory from './falukant/log/political_office_history.js';
|
||||
import ElectionHistory from './falukant/log/election_history.js';
|
||||
import Underground from './falukant/data/underground.js';
|
||||
import UndergroundType from './falukant/type/underground.js';
|
||||
import Blog from './community/blog.js';
|
||||
import BlogPost from './community/blog_post.js';
|
||||
|
||||
export default function setupAssociations() {
|
||||
// RoomType 1:n Room
|
||||
@@ -758,4 +760,12 @@ export default function setupAssociations() {
|
||||
foreignKey: 'victimId',
|
||||
as: 'victimUndergrounds'
|
||||
});
|
||||
|
||||
// Blog associations
|
||||
Blog.belongsTo(User, { foreignKey: 'user_id', as: 'owner' });
|
||||
User.hasMany(Blog, { foreignKey: 'user_id', as: 'blogs' });
|
||||
BlogPost.belongsTo(Blog, { foreignKey: 'blog_id', as: 'blog' });
|
||||
Blog.hasMany(BlogPost, { foreignKey: 'blog_id', as: 'posts' });
|
||||
BlogPost.belongsTo(User, { foreignKey: 'user_id', as: 'author' });
|
||||
User.hasMany(BlogPost, { foreignKey: 'user_id', as: 'blogPosts' });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user