# Documentation Updates Summary This document summarizes all documentation changes made to keep the codebase consistent with API improvements. ## 🔄 Recent API Consistency Changes ### 1. **Unified API Structure** - **User Management**: All endpoints now use `/api/auth/*` prefix - **Library Management**: All endpoints use `/api/library/*` prefix - **Ebook Folders**: All endpoints use `/api/auth/ebook-folders` (admin-only) ### 2. **Updated Endpoint Mappings** | Previous | Current | Function | |----------|---------|----------| | `/api/user/username` | `/api/auth/username` | Update username | | `/api/user/email` | `/api/auth/email` | Update email | | `/api/user/password` | `/api/auth/password` | Update password | | `/api/user/account` | `/api/auth/account` | Delete account | ### 3. **Enhanced Security Logic** - **Admin Protection**: Updated deletion logic to prevent deleting last **admin user** (not just last user) - **More Secure**: Ensures system always has administrative access ## 📝 Updated Documentation Files ### 1. **README.md** ✅ Updated all API endpoint references to use consistent `/api/auth/*` structure ✅ Fixed deletion protection description from "last user" to "last admin" ✅ All endpoint documentation now matches actual implementation ### 2. **bruno/README.md** ✅ Already correctly documented with consistent API structure ✅ Comprehensive API testing documentation maintained ### 3. **bruno/user/Delete Account.bru** ✅ Updated endpoint documentation from `/api/user/account` to `/api/auth/account` ### 4. **Internal Handler Comments** (`internal/handlers/auth.go`) ✅ Updated all handler comment blocks to reference correct endpoints: - `ListUsers` → `/api/auth/users` - `UpdateUsername` → `/api/auth/username` - `UpdateEmail` → `/api/auth/email` - `UpdatePassword` → `/api/auth/password` - `DeleteAccount` → `/api/auth/account` ### 5. **Template Files** (`templates/admin_profile.templ`) ✅ Updated HTMX form endpoints: - Username form: `/api/user/username` → `/api/auth/username` - Email form: `/api/user/email` → `/api/auth/email` - Password form: `/api/user/password` → `/api/auth/password` ## 🎯 Complete API Documentation ### Authentication (Public) - `POST /api/auth/register` - Register new user - `POST /api/auth/login` - Login user ### User Management (Protected) - `GET /api/auth/profile` - Get user profile - `PUT /api/auth/profile` - Update profile - `PUT /api/auth/username` - Update username - `PUT /api/auth/email` - Update email - `PUT /api/auth/password` - Update password - `PUT /api/auth/theme` - Update theme - `DELETE /api/auth/account` - Delete account ⚠️ *Cannot delete last admin* ### Admin Operations (Admin Only) - `GET /api/auth/users` - List all users - `POST /api/auth/ebook-folders` - Add folder - `GET /api/auth/ebook-folders` - List folders - `DELETE /api/auth/ebook-folders` - Remove folder ### Library Management (Admin Only) - `PUT /api/library/scan-settings` - Update scan settings - `GET /api/library/scan-settings` - Get scan settings ### Ebooks & Progress (All Authenticated Users) - `GET /api/ebooks` - List ebooks - `GET /api/ebooks/:id` - Get ebook details - `GET /api/ebooks/:id/progress` - Get reading progress - `PUT /api/ebooks/:id/progress` - Update progress - `GET /api/ebooks/:id/rating` - Get rating - `POST /api/ebooks/:id/rating` - Create/update rating - `DELETE /api/ebooks/:id/rating` - Delete rating - `GET /api/ebooks/:id/ratings` - Get all ratings ## 🔄 Build & Deployment All changes have been incorporated into the Docker build process: - Templates are regenerated with `templ generate` - API consistency is enforced through build process - Documentation stays in sync with implementation ## 📋 Testing **Bruno Collection**: All API tests updated to match consistent endpoint structure **Authentication Flow**: Register → Login → Use Bearer token for protected routes **Role Testing**: Admin protection verified for critical operations --- *Last Updated: January 27, 2026* *API Version: v1 - Consistent Endpoint Structure*