feat: Implement admin user management features
- Added adminCreateUser endpoint and corresponding DTO for creating users. - Implemented deleteUser and resetPassword functionalities for admin users. - Introduced updateEmail functionality for admin users. - Updated UsersService to handle user creation, deletion, password reset, and email updates. - Modified UsersController to include new admin routes with appropriate role checks. - Refactored frontend navigation to link to user management under profile. - Created new profile tabs for user management and database management. - Developed AnvandareClient component for user management, including user creation, deletion, role changes, and password resets. - Added DatabsTab for managing product listings and merging duplicates. - Enhanced MinProfilTab for user profile management with form handling.
This commit is contained in:
@@ -54,20 +54,27 @@ En fullstack-applikation för hantering av hemmavaror och recept. Håll koll på
|
||||
|
||||
> Obs: Destruktiva åtgärder (merge, ta bort, återställ, bulk-uppdatera, återställ all data) kräver admin-roll.
|
||||
|
||||
### Admin: Användare
|
||||
- **Lista alla användare** — se användarnamn, e-postadress, namn, roll och registreringsdatum
|
||||
- **Ändra roll** — växla en användares roll mellan `user` och `admin` med ett klick
|
||||
- **Skyddad sida** — `/admin/users` är enbart åtkomlig för inloggade användare med admin-roll; övriga omdirigeras till startsidan
|
||||
- **Navigering** — länken "👥 Användare" visas bara i huvudmenyn om inloggad användare har admin-roll
|
||||
### Användarprofil och administration (fliksida)
|
||||
Profilsidan `/profil` är en flikbaserad administrationsyta. Antalet flikar beror på rollen:
|
||||
|
||||
**Alla inloggade användare:**
|
||||
- **Min profil** — redigera förnamn, efternamn och e-postadress
|
||||
|
||||
**Enbart admin:**
|
||||
- **Användare** — fullständig användarhantering:
|
||||
- Skapa ny användare (användarnamn, e-post, lösenord, roll)
|
||||
- Ändra roll via dropdown direkt i tabellen
|
||||
- Ändra e-postadress inline
|
||||
- Återställ lösenord — genererar ett tillfälligt lösenord och visar ett kopierings-redo meddelande
|
||||
- Ta bort användare (skyddad: kan inte ta bort sig själv)
|
||||
- **Databas** — produktdatabasen: redigera, merga, bulk-kategorisera och återställa produkter
|
||||
|
||||
### Autentisering och roller
|
||||
- **Rollbaserad åtkomstkontroll** — systemet har två roller: `user` (standard) och `admin`
|
||||
- **Automatisk bootstrap** — fyra användare skapas eller uppdateras automatiskt när backend startar, baserat på miljövariabler:
|
||||
- `Nadmin` (admin), `Padmin` (admin), `user1` (user), `user2` (user)
|
||||
- **Skyddade admin-endpoints** — destruktiva produkt-endpoints och användarhantering kräver `admin`-roll; försök utan rätt roll ger 403 Förbjuden
|
||||
|
||||
### Användarprofil
|
||||
- **Redigera profilinformation** — uppdatera förnamn, efternamn och e-postadress under "Min profil"
|
||||
- **Skyddade admin-endpoints** — destruktiva produkt-endpoints och all användarhantering kräver `admin`-roll; försök utan rätt roll ger 403 Förbjuden
|
||||
- **Navigering** — admin-länkarna "👥 Användare" och admin-flikarna i profilen visas enbart för inloggade administratörer
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user