generated from nhcarrigan/template
feat: implement user profiles and settings
Add comprehensive user profile system allowing users to showcase their activity and customize their profiles. Database Changes: - Added profile fields to User model: slug, displayName, bio, profilePublic - Added index on slug field for efficient lookups API Changes: - Added GET /users/me endpoint to fetch current user - Added PUT /users/me endpoint to update user settings - Added GET /users/profile/:identifier endpoint for public profiles - Updated UserService with profile methods and statistics - Modified AuthService to include profile fields in user responses Frontend Changes: - Created ProfileComponent to display user profiles with stats - Created SettingsComponent for profile customization - Added profile and settings routes - Updated header dropdown menu with profile links - Enhanced UserService with profile methods - Added updateUser method to AuthService Features: - Custom profile slugs for clean URLs - Display names separate from usernames - User bios (up to 500 characters) - Public/private profile toggle - Activity statistics (suggestions, likes, comments, acceptance rate) - Badge display (Staff, Mod, VIP, Discord Member) - Beautiful witch-themed styling Closes #45
This commit is contained in:
@@ -182,6 +182,10 @@ model User {
|
||||
username String
|
||||
email String @unique
|
||||
avatar String?
|
||||
slug String?
|
||||
displayName String?
|
||||
bio String?
|
||||
profilePublic Boolean @default(true)
|
||||
isAdmin Boolean @default(false)
|
||||
isBanned Boolean @default(false)
|
||||
inDiscord Boolean @default(false)
|
||||
@@ -194,6 +198,8 @@ model User {
|
||||
suggestions Suggestion[]
|
||||
likes Like[]
|
||||
refreshTokens RefreshToken[]
|
||||
|
||||
@@index([slug], map: "User_slug_key")
|
||||
}
|
||||
|
||||
model Comment {
|
||||
|
||||
Reference in New Issue
Block a user