File size: 759 Bytes
6d96254
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from fastapi import APIRouter, Depends
from fastapi.responses import RedirectResponse
from pydantic import BaseModel
from database import SessionLocal
from models import Team

router = APIRouter(prefix='/teams')

class TeamCreate(BaseModel):
    name: str

class TeamRead(BaseModel):
    name: str
    created_at: str

@router.post('/', response_class=RedirectResponse)
async def create_team(team: TeamCreate, db: SessionLocal = Depends()):
    new_team = Team(name=team.name)
    db.add(new_team)
    db.commit()
    return RedirectResponse(url='/teams', status_code=302)

@router.get('/')
async def read_teams(db: SessionLocal = Depends()):
    teams = db.query(Team).all()
    return [TeamRead(name=team.name, created_at=team.created_at) for team in teams]