kenken999's picture
test
ba19a97
raw
history blame
1.67 kB
from fastapi import FastAPI
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from fastapi.security.utils import get_authorization_scheme
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker
from api.models import Base
from api.schemas import User, Team
from api.crud import user, team
app = FastAPI()
engine = create_async_engine("sqlite:///database.db")
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
@app.on_event("startup")
async def startup():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
@app.post("/users/")
async def create_user(user: User):
return await user.create()
@app.post("/teams/")
async def create_team(team: Team):
return await team.create()
@app.get("/users/")
async def read_users():
return await user.read_all()
@app.get("/teams/")
async def read_teams():
return await team.read_all()
@app.get("/users/{user_id}")
async def read_user(user_id: int):
return await user.read_one(user_id)
@app.get("/teams/{team_id}")
async def read_team(team_id: int):
return await team.read_one(team_id)
@app.put("/users/{user_id}")
async def update_user(user_id: int, user: User):
return await user.update(user_id, user)
@app.put("/teams/{team_id}")
async def update_team(team_id: int, team: Team):
return await team.update(team_id, team)
@app.delete("/users/{user_id}")
async def delete_user(user_id: int):
return await user.delete(user_id)
@app.delete("/teams/{team_id}")
async def delete_team(team_id: int):
return await team.delete(team_id)