Files
manolia-alpha/server/src/app/api/v1/knowledges.py
2026-02-23 14:26:02 +01:00

57 lines
1.7 KiB
Python

from fastapi import APIRouter
from src.app.models.knowledge import Knowledge
from src.app.models.question import Question
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, create_question
from src.app.services.language_generation import questions_generation
#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
@router.post("/knowledges/{id}/questions")
def create_questions(id: int):
knowledge = read_knowledge(id)
questions_raw = questions_generation(knowledge)
for q in questions_raw:
question = Question(question = q, knowledge=knowledge)
create_question(question)
return questions_raw
@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