e62ece1c06
- FastAPI app with CORS, lifespan handlers - Pydantic Settings config (DB, Redis, CORS, SMTP, JWT, Rentman) - SQLAlchemy async engine + session (DeclarativeBase) - 6 DB models: EquipmentCache, RentalRequest, RentalRequestItem, Contact, AdminUser, SyncLog - Pydantic schemas: EquipmentItem, EquipmentDetail, PaginatedEquipment, ContactCreate, ContactResponse - Redis cache helper: set/get/delete_pattern, rate limiting, equipment key builders - Equipment router: list (search/category/sort/pagination), detail, categories – all cached - Contact router: POST with Pydantic validation + rate limiting (5/min) - Health router: GET /api/health with DB + Redis status - 28 pytest tests (all pass, 90% coverage) - Dockerfile, requirements.txt, pytest.ini, test_report.md
10 lines
379 B
Python
10 lines
379 B
Python
"""SQLAlchemy models package."""
|
|
|
|
from app.models.admin_user import AdminUser
|
|
from app.models.contact import Contact
|
|
from app.models.equipment import EquipmentCache
|
|
from app.models.rental_request import RentalRequest, RentalRequestItem
|
|
from app.models.sync_log import SyncLog
|
|
|
|
__all__ = ["AdminUser", "Contact", "EquipmentCache", "RentalRequest", "RentalRequestItem", "SyncLog"]
|