feat: Implement user and role management with repositories

- Added RoleRepository and UserRepository for managing roles and users.
- Implemented methods for creating, retrieving, and assigning roles to users.
- Introduced functions to ensure default roles and an admin user exist in the system.
- Updated UnitOfWork to include user and role repositories.
- Created new security module for password hashing and JWT token management.
- Added tests for authentication flows, including registration, login, and password reset.
- Enhanced HTML templates for user registration, login, and password management with error handling.
- Added a logo image to the static assets.
This commit is contained in:
2025-11-09 21:48:35 +01:00
parent 53879a411f
commit 3601c2e422
22 changed files with 1955 additions and 132 deletions

View File

@@ -2,6 +2,8 @@ from __future__ import annotations
from collections.abc import Generator
from config.settings import Settings, get_settings
from services.security import JWTSettings
from services.unit_of_work import UnitOfWork
@@ -10,3 +12,15 @@ def get_unit_of_work() -> Generator[UnitOfWork, None, None]:
with UnitOfWork() as uow:
yield uow
def get_application_settings() -> Settings:
"""Provide cached application settings instance."""
return get_settings()
def get_jwt_settings() -> JWTSettings:
"""Provide JWT runtime configuration derived from settings."""
return get_settings().jwt_settings()