Feat: get and put tribes api

This commit is contained in:
2022-12-21 06:53:59 +01:00
parent ba750989d8
commit 4e8addd6cb
4 changed files with 243 additions and 2 deletions

35
backend/api/main.py Normal file
View File

@@ -0,0 +1,35 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import clear_mappers, sessionmaker
import backend.adapters.orm as orm
from backend.api.model import TribeModel
from backend.model.tribe import Tribe
from fastapi import FastAPI
orm.start_mappers()
engine = create_engine("sqlite:///:memory:")
orm.metadata.create_all(engine)
get_session = sessionmaker(bind=engine)
app = FastAPI()
@app.put("/tribes")
async def put_tribe(item: TribeModel, status_code=201):
tribe = Tribe(**item.dict())
session = get_session()
session.add(tribe)
session.commit()
tribes = session.query(Tribe).all()
return {}
@app.get("/tribes")
async def get_tribes(response_model=list[TribeModel]):
session = get_session()
tribes = session.query(Tribe).all()
return [t.to_dict() for t in tribes]

8
backend/api/model.py Normal file
View File

@@ -0,0 +1,8 @@
from pydantic import BaseModel
class TribeModel(BaseModel):
name: str
level: str
students: list = []
assessments: list = []