Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.DS_Store
.env
/frontend/generated/
__pycache__/
*.py[cod]
.venv/
4 changes: 2 additions & 2 deletions backend/app/api/v1/users.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import List

from fastapi import APIRouter, HTTPException, status
from myapp.schemas.user import UserCreate, UserRead, UserUpdate
from myapp.services.user_service import UserService
from app.schemas.user import UserCreate, UserRead, UserUpdate
from app.services.user_service import UserService

router = APIRouter(tags=["Users"])
_svc = UserService() # можно заменить на Depends(UserService)
Expand Down
16 changes: 11 additions & 5 deletions backend/app/core/dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,15 @@ def get_logger_dep():
async def lifespan_context(app):
"""Global startup → connect Beanie; shutdown → close."""
settings = get_settings()
mongo = AsyncIOMotorClient(settings.mongo_uri)
await init_beanie(mongo.db_name, document_models=[User])
log.info("mongo_connected")
mongo = None
try:
mongo = AsyncIOMotorClient(settings.mongo_uri, serverSelectionTimeoutMS=2000)
await init_beanie(mongo.db_name, document_models=[User])
log.info("mongo_connected")
except Exception as exc: # noqa: BLE001 - startup must not crash
log.warning("mongo_connect_failed", error=str(exc))
mongo = None
yield
mongo.close()
log.info("mongo_closed")
if mongo:
mongo.close()
log.info("mongo_closed")
2 changes: 1 addition & 1 deletion backend/app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from app.api.v1 import api_v1_router
from app.cron.scheduler import scheduler

logger.info("app_bootstrap", env=settings.env)
settings: Settings = get_settings() # single-instance
logger.info("app_bootstrap", env=settings.env)

app = FastAPI(
title="My Awesome API",
Expand Down
4 changes: 2 additions & 2 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
name = "app"
version = "0.1.0"
description = ""
requires-python = ">=3.10,<4.0" 
requires-python = ">=3.10,<4.0"
authors = ["Alex Poloz <alexypoloz@gmail.com>"]
packages = [{include = "app", from = "src"}]
packages = [{include = "app"}]

[tool.poetry.dependencies]
python = "^3.11"
Expand Down
Loading