feat: Enhance admin user management system

- Add admin override capability to DELETE /api/auth/account endpoint
- Move /api/auth/users to admin-only with complete user fields (first_name, last_name, role, theme)
- Consolidate Bruno requests: remove duplicate List Users (Admin), merge Delete Account functionality
- Update all documentation to reflect enhanced capabilities
- Implement pgx 5 standards compliance with proper error handling

BREAKING CHANGES:
- /api/auth/users endpoint now requires admin role (was previously accessible)
- DELETE /api/auth/account accepts optional user_id parameter for admin deletion
This commit is contained in:
2026-01-27 13:36:11 -05:00
parent 9262a35f68
commit 71584c1b55
11 changed files with 345 additions and 52 deletions
+5 -5
View File
@@ -181,11 +181,11 @@ The application uses Go HTML templates for server-side rendering with HTMX for d
- `GET /api/auth/profile` - Get user profile (requires JWT)
- `PUT /api/auth/profile` - Update user profile (first_name, last_name) (requires JWT)
- `PUT /api/auth/theme` - Update user theme preference (requires JWT)
- `PUT /api/user/username` - Update username (requires JWT)
- `PUT /api/user/email` - Update email (requires JWT)
- `PUT /api/user/password` - Update password (requires JWT)
- `DELETE /api/user/account` - Delete user account (requires JWT)
- **Protection**: Cannot delete the last user account
- `PUT /api/auth/username` - Update username (requires JWT)
- `PUT /api/auth/email` - Update email (requires JWT)
- `PUT /api/auth/password` - Update password (requires JWT)
- `DELETE /api/auth/account` - Delete user account (requires JWT)
- **Protection**: Cannot delete the last admin account
### Ebook Folders (Admin Only)
- `POST /api/auth/ebook-folders` - Add an ebook folder for scanning