feat: Updated endpoint endpoints/countries.post.py via AI

This commit is contained in:
Backend IM Bot 2025-04-14 20:04:20 +00:00
parent c9af878945
commit 6917e2a56e
2 changed files with 20 additions and 14 deletions

View File

@ -1,15 +1,21 @@
from fastapi import APIRouter, Depends from fastapi import APIRouter, HTTPException, status
from sqlalchemy.orm import Session from typing import List
from core.database import get_db
from schemas.country import CountryCreate from schemas.country import CountryCreate, CountrySchema
from helpers.country_helpers import create_country from helpers.country_helpers import get_all_countries, create_country
router = APIRouter() router = APIRouter()
@router.post("/countries", status_code=201) @router.post("/countries", status_code=status.HTTP_201_CREATED, response_model=CountrySchema)
async def create_new_country( async def create_new_country(country: CountryCreate = None):
country_data: CountryCreate, """Create a new country"""
db: Session = Depends(get_db) new_country = create_country(country)
): if not new_country:
new_country = create_country(db, country_data) raise HTTPException(status_code=400, detail="Country could not be created")
return new_country return new_country
@router.get("/countries", status_code=200, response_model=List[CountrySchema])
async def get_countries():
"""Get all countries"""
countries = get_all_countries()
return countries

View File

@ -1,8 +1,8 @@
import enum
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from typing import Optional from typing import Optional
from datetime import datetime from datetime import datetime
import uuid import uuid
import enum
class Continent(enum.Enum): class Continent(enum.Enum):
AFRICA = "Africa" AFRICA = "Africa"
@ -17,7 +17,7 @@ class CountryBase(BaseModel):
name: str = Field(..., description="Country name") name: str = Field(..., description="Country name")
latitude: float = Field(..., description="Country latitude") latitude: float = Field(..., description="Country latitude")
longitude: float = Field(..., description="Country longitude") longitude: float = Field(..., description="Country longitude")
continent: Continent = Field(..., description="Country continent") continent: Optional[Continent] = Field(None, description="Country continent")
class CountryCreate(CountryBase): class CountryCreate(CountryBase):
pass pass