From d5897f8618ad2274852eb7d8a06359ece580f7d2 Mon Sep 17 00:00:00 2001 From: Felix Zett Date: Fri, 8 Aug 2025 23:10:46 +0200 Subject: [PATCH] Move schemas for Item, Tag, and Trip creation --- backend/main.py | 20 +------------------- backend/schemas.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 backend/schemas.py diff --git a/backend/main.py b/backend/main.py index d7112d6..5c934b8 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,9 +1,7 @@ -from datetime import date -from typing import List from uuid import UUID, uuid4 from fastapi import Depends, FastAPI -from pydantic import BaseModel from sqlalchemy import select +from backend.schemas import ItemCreate from models import Base, Item, Tag from database import engine, get_db from sqlalchemy.ext.asyncio import AsyncSession @@ -24,22 +22,6 @@ async def startup(): def read_root(): return {"status": "running"} -class TagCreate(BaseModel): - name: str - - -class ItemCreate(BaseModel): - name: str - tag_names: List[str] - - -class TripCreate(BaseModel): - name: str - start_date: date - end_date: date - selected_tags: List[str] - marked_tags: List[str] - @app.post("/items/") async def create_item(item: ItemCreate, db: AsyncSession = Depends(get_db)): user_id = FIXED_USER_ID diff --git a/backend/schemas.py b/backend/schemas.py new file mode 100644 index 0000000..fa0c3ce --- /dev/null +++ b/backend/schemas.py @@ -0,0 +1,21 @@ +from datetime import date +from typing import List + +from pydantic import BaseModel + + +class TagCreate(BaseModel): + name: str + + +class ItemCreate(BaseModel): + name: str + tag_names: List[str] + + +class TripCreate(BaseModel): + name: str + start_date: date + end_date: date + selected_tags: List[str] + marked_tags: List[str] \ No newline at end of file