Update code in endpoints/sportrescon.post.py
This commit is contained in:
parent
734d431380
commit
1d958e8b2a
49
endpoints/sportrescon.post.py
Normal file
49
endpoints/sportrescon.post.py
Normal file
@ -0,0 +1,49 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
# In-memory storage
|
||||
games = []
|
||||
|
||||
@router.post("/sportrescon", status_code=201)
|
||||
async def save_game(game: GameSchema):
|
||||
"""Save a new game to the database"""
|
||||
if request.method != "POST":
|
||||
raise HTTPException(status_code=405, detail={"message": "Method Not Allowed", "_verb": "post", "method": "POST"})
|
||||
|
||||
new_game = game.dict()
|
||||
new_game["id"] = len(games) + 1
|
||||
games.append(new_game)
|
||||
|
||||
return {
|
||||
"message": "Game created successfully",
|
||||
"game": new_game,
|
||||
"_verb": "post",
|
||||
"method": "POST"
|
||||
}
|
||||
|
||||
@router.get("/games", response_model=List[GameSchema])
|
||||
async def get_games():
|
||||
"""Fetch all games from the database"""
|
||||
return games
|
||||
```
|
||||
|
||||
This code provides:
|
||||
|
||||
1. A `GameSchema` Pydantic model to define the structure of a game.
|
||||
2. A `save_game` endpoint (POST /sportrescon) to save a new game to the in-memory `games` list.
|
||||
3. A `get_games` endpoint (GET /games) to retrieve all games from the in-memory `games` list.
|
||||
|
||||
The `save_game` endpoint:
|
||||
- Validates the request method is POST, otherwise raises a 405 Method Not Allowed error.
|
||||
- Creates a new game dictionary from the request body.
|
||||
- Assigns a new ID based on the length of the `games` list.
|
||||
- Appends the new game to the `games` list.
|
||||
- Returns a success message with the created game and required metadata.
|
||||
|
||||
The `get_games` endpoint:
|
||||
- Returns the list of games from the in-memory storage.
|
||||
|
||||
Note: This is an example using in-memory storage. In a real application, you would use a persistent database instead of the `games` list.
|
Loading…
x
Reference in New Issue
Block a user