add routers
This commit is contained in:
Binary file not shown.
6
server/src/app/api/__init__.py
Normal file
6
server/src/app/api/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from fastapi import APIRouter
|
||||||
|
|
||||||
|
from ..api.v1 import router as v1_router
|
||||||
|
|
||||||
|
router = APIRouter(prefix="/api")
|
||||||
|
router.include_router(v1_router)
|
||||||
BIN
server/src/app/api/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
server/src/app/api/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
8
server/src/app/api/v1/__init__.py
Normal file
8
server/src/app/api/v1/__init__.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
from fastapi import APIRouter
|
||||||
|
|
||||||
|
from .knowledges import router as knowledge_router
|
||||||
|
from .metrics import router as metric_router
|
||||||
|
|
||||||
|
router = APIRouter(prefix="/v1")
|
||||||
|
router.include_router(knowledge_router)
|
||||||
|
router.include_router(metric_router)
|
||||||
BIN
server/src/app/api/v1/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
server/src/app/api/v1/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
server/src/app/api/v1/__pycache__/knowledges.cpython-311.pyc
Normal file
BIN
server/src/app/api/v1/__pycache__/knowledges.cpython-311.pyc
Normal file
Binary file not shown.
BIN
server/src/app/api/v1/__pycache__/metrics.cpython-311.pyc
Normal file
BIN
server/src/app/api/v1/__pycache__/metrics.cpython-311.pyc
Normal file
Binary file not shown.
51
server/src/app/api/v1/knowledges.py
Normal file
51
server/src/app/api/v1/knowledges.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
from fastapi import APIRouter
|
||||||
|
|
||||||
|
from src.app.models.knowledge import Knowledge
|
||||||
|
from src.app.crud.crud_knowledges import create_knowledge, read_knowledges, read_knowledge, update_knowledge, delete_knowledge
|
||||||
|
from src.app.crud.crud_questions import read_questions as read_questions_crud
|
||||||
|
|
||||||
|
#Added in __ini__
|
||||||
|
router = APIRouter(tags=["knowledges"])
|
||||||
|
|
||||||
|
@router.post("/knowledges/")
|
||||||
|
def create(knowledge: Knowledge):
|
||||||
|
created_knowledge = create_knowledge(knowledge)
|
||||||
|
# if created_knowledge is None:
|
||||||
|
# raise NotFoundException("Failed to create knowledge")
|
||||||
|
return created_knowledge
|
||||||
|
|
||||||
|
@router.get("/knowledges/")
|
||||||
|
def read():
|
||||||
|
knowledges = read_knowledges()
|
||||||
|
return knowledges
|
||||||
|
|
||||||
|
@router.get("/knowledges/{id}")
|
||||||
|
def read(id: int):
|
||||||
|
knowledge = read_knowledge(id)
|
||||||
|
return knowledge
|
||||||
|
|
||||||
|
#TODO: adapt with correct pattern
|
||||||
|
@router.post("/knowledges/{id}")
|
||||||
|
def update(id: int, content: str, uri: str):
|
||||||
|
knowledge = update_knowledge(id, content, uri)
|
||||||
|
return knowledge
|
||||||
|
|
||||||
|
@router.delete("/knowledges/{id}")
|
||||||
|
def delete(id: int):
|
||||||
|
knowledge = delete_knowledge(id)
|
||||||
|
return knowledge
|
||||||
|
|
||||||
|
#TODO: find pattern
|
||||||
|
@router.post("/knowledges/{id}/questions")
|
||||||
|
def create_questions(id: int):
|
||||||
|
#SLM Generation
|
||||||
|
#create_question()
|
||||||
|
return True
|
||||||
|
|
||||||
|
@router.get("/knowledges/{id}/questions")
|
||||||
|
def read_questions(id: int):
|
||||||
|
knowledge: Knowledge = read_knowledge(id)
|
||||||
|
#questions = knowledge.questions
|
||||||
|
#TODO : refacto ?
|
||||||
|
questions = read_questions_crud(knowledge)
|
||||||
|
return questions
|
||||||
12
server/src/app/api/v1/metrics.py
Normal file
12
server/src/app/api/v1/metrics.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
from fastapi import APIRouter
|
||||||
|
|
||||||
|
from src.app.models.metric import Metric
|
||||||
|
from src.app.models.question import Question
|
||||||
|
from src.app.crud.crud_metrics import create_metric
|
||||||
|
|
||||||
|
router = APIRouter(tags=["metrics"])
|
||||||
|
|
||||||
|
@router.post("/metrics/")
|
||||||
|
def create(question: Question):
|
||||||
|
created_metric: Metric = create_metric(question)
|
||||||
|
return created_metric
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,4 @@
|
|||||||
|
from fastapi import Depends
|
||||||
from sqlmodel import Session, select
|
from sqlmodel import Session, select
|
||||||
|
|
||||||
from src.app.models.knowledge import Knowledge
|
from src.app.models.knowledge import Knowledge
|
||||||
@@ -7,6 +8,7 @@ def create_knowledge(knowledge: Knowledge):
|
|||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
session.add(knowledge)
|
session.add(knowledge)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
session.refresh(knowledge)
|
||||||
return knowledge
|
return knowledge
|
||||||
|
|
||||||
def read_knowledges():
|
def read_knowledges():
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ def create_metric(metric: Metric):
|
|||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
session.add(metric)
|
session.add(metric)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
session.refresh(metric)
|
||||||
return metric
|
return metric
|
||||||
|
|
||||||
def read_metrics(question):
|
def read_metrics(question):
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ def create_question(question: Question):
|
|||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
session.add(question)
|
session.add(question)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
session.refresh(question)
|
||||||
return question
|
return question
|
||||||
|
|
||||||
def read_questions(knowledge):
|
def read_questions(knowledge):
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ from src.app.models.question import Question
|
|||||||
from src.app.models.knowledge import Knowledge
|
from src.app.models.knowledge import Knowledge
|
||||||
from src.app.models.metric import Metric
|
from src.app.models.metric import Metric
|
||||||
|
|
||||||
|
from .api import router
|
||||||
|
|
||||||
#Test
|
#Test
|
||||||
from src.app.faker_seed import faker
|
from src.app.faker_seed import faker
|
||||||
|
|
||||||
@@ -15,12 +17,8 @@ from src.app.faker_seed import faker
|
|||||||
async def lifespan(app: FastAPI):
|
async def lifespan(app: FastAPI):
|
||||||
#startup
|
#startup
|
||||||
create_db_and_tables()
|
create_db_and_tables()
|
||||||
faker()
|
|
||||||
yield
|
yield
|
||||||
#shutdown
|
#shutdown
|
||||||
|
|
||||||
app = FastAPI(lifespan=lifespan)
|
app = FastAPI(lifespan=lifespan)
|
||||||
|
app.include_router(router)
|
||||||
@app.get("/")
|
|
||||||
async def root():
|
|
||||||
return {"message": "Hello World"}
|
|
||||||
Reference in New Issue
Block a user