feat: implement admin panel functionality in Mini App
- Added new API endpoints for admin features: `GET /api/admin/me`, `GET /api/admin/users`, and `PATCH /api/admin/duties/:id` to manage user duties. - Introduced `UserForAdmin` and `AdminDutyReassignBody` schemas for handling admin-related data. - Updated documentation to include Mini App design guidelines and admin panel functionalities. - Enhanced tests for admin API to ensure proper access control and functionality. - Improved error handling and localization for admin actions.
This commit is contained in:
@@ -69,6 +69,21 @@ class DutyWithUser(DutyInDb):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class UserForAdmin(BaseModel):
|
||||
"""User summary for admin dropdown: id, full_name, username, role_id."""
|
||||
|
||||
id: int
|
||||
full_name: str
|
||||
username: str | None = None
|
||||
role_id: int | None = None
|
||||
|
||||
|
||||
class AdminDutyReassignBody(BaseModel):
|
||||
"""Request body for PATCH /api/admin/duties/:id — reassign duty to another user."""
|
||||
|
||||
user_id: int
|
||||
|
||||
|
||||
class CalendarEvent(BaseModel):
|
||||
"""External calendar event (e.g. holiday) for a single day."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user