From e19d4862c286af78c03fb927a046fb71ef81f554 Mon Sep 17 00:00:00 2001 From: lekss361 Date: Mon, 18 May 2026 00:01:22 +0300 Subject: [PATCH] feat(sf-b2): GET /users/me/recent-parcels (stub, real impl post-auth) --- backend/app/api/v1/users.py | 30 ++++++++++++++++++++++++++++++ backend/app/main.py | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 backend/app/api/v1/users.py diff --git a/backend/app/api/v1/users.py b/backend/app/api/v1/users.py new file mode 100644 index 00000000..cd752df6 --- /dev/null +++ b/backend/app/api/v1/users.py @@ -0,0 +1,30 @@ +"""Users endpoints. + +GET /api/v1/users/me/recent-parcels — история недавно просмотренных участков. +STUB: возвращает пустой список до реализации NextAuth (Wave 3). +""" + +from __future__ import annotations + +import logging +from typing import Annotated + +from fastapi import APIRouter, Query + +logger = logging.getLogger(__name__) + +router = APIRouter() + + +@router.get("/users/me/recent-parcels") +def get_recent_parcels( + limit: Annotated[int, Query(ge=1, le=50)] = 10, +) -> dict: + """STUB. Real impl после NextAuth (Wave 3) — будет читать parcel_analysis_history table.""" + logger.info("recent-parcels stub called, limit=%d", limit) + return { + "items": [], + "total": 0, + "stub": True, + "real_impl_after": "NextAuth", + } diff --git a/backend/app/main.py b/backend/app/main.py index 7874ee48..4e0a4117 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -26,6 +26,7 @@ from app.api.v1 import ( parcels, photos, trade_in, + users, ) from app.core.config import settings from app.observability.sentry_scrub import scrub_sensitive_query @@ -99,6 +100,7 @@ app.include_router( tags=["admin", "etl"], ) app.include_router(trade_in.router, prefix="/api/v1/trade-in", tags=["trade-in"]) +app.include_router(users.router, prefix="/api/v1", tags=["users"]) @app.get("/health") -- 2.45.3