dave-app-w08830/endpoints/new-one-piece.post.py

20 lines
779 B
Python

from fastapi import APIRouter, status
from schemas.character import CharacterCreate, CharacterSchema
from helpers.character_helpers import create_character, get_character_by_name
from sqlalchemy.orm import Session
from fastapi import Depends
from core.database import get_db
router = APIRouter()
@router.post("/new-one-piece", status_code=status.HTTP_201_CREATED, response_model=CharacterSchema)
async def create_new_character(
character_data: CharacterCreate,
db: Session = Depends(get_db)
):
existing_character = get_character_by_name(db, character_data.name)
if existing_character:
return {"detail": f"Character with name '{character_data.name}' already exists."}
new_character = create_character(db, character_data)
return new_character