Skip to content
Snippets Groups Projects
Commit f074ea52 authored by Adrian Block's avatar Adrian Block
Browse files

🏗️ replaced broker and removed deprecated interfaces

parent c5d89586
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,6 @@ from fastapi.openapi.utils import get_openapi ...@@ -3,7 +3,6 @@ from fastapi.openapi.utils import get_openapi
from starlette.middleware.cors import CORSMiddleware from starlette.middleware.cors import CORSMiddleware
from app.config import api_settings from app.config import api_settings
from app import routes
from app.routes.api_v1.api import api_router from app.routes.api_v1.api import api_router
app = FastAPI( app = FastAPI(
...@@ -41,5 +40,4 @@ def custom_openapi(): ...@@ -41,5 +40,4 @@ def custom_openapi():
app.openapi = custom_openapi app.openapi = custom_openapi
app.include_router(routes.courses_router, deprecated=True, tags=["courses"])
app.include_router(api_router, prefix=api_settings.API_V1_STR) app.include_router(api_router, prefix=api_settings.API_V1_STR)
...@@ -4,7 +4,7 @@ from cachetools import TTLCache, cached ...@@ -4,7 +4,7 @@ from cachetools import TTLCache, cached
from fastapi import APIRouter, Depends, Query, Path, HTTPException from fastapi import APIRouter, Depends, Query, Path, HTTPException
from app import schemas from app import schemas
from app.data.brokers import Broker, DatabaseBroker from app.data.brokers import DatabaseBroker
from app.routes.dependencies import get_database_broker from app.routes.dependencies import get_database_broker
router = APIRouter() router = APIRouter()
...@@ -13,7 +13,7 @@ router = APIRouter() ...@@ -13,7 +13,7 @@ router = APIRouter()
@router.get("/search", response_model=List[schemas.CourseWithoutAppointments]) @router.get("/search", response_model=List[schemas.CourseWithoutAppointments])
def list_and_search_courses_by_name(semesterId: int = Query(..., example=1), def list_and_search_courses_by_name(semesterId: int = Query(..., example=1),
title: str = Query(..., example="Systemsoftware und"), title: str = Query(..., example="Systemsoftware und"),
broker: Broker = Depends(get_database_broker)): broker: DatabaseBroker = Depends(get_database_broker)):
""" """
List and search courses by name. List and search courses by name.
""" """
...@@ -33,7 +33,7 @@ def list_all_courses_of_semester(semesterId: int = Query(..., example=1), ...@@ -33,7 +33,7 @@ def list_all_courses_of_semester(semesterId: int = Query(..., example=1),
@router.get("/{courseId}", response_model=schemas.Course, responses={404: {"model": schemas.DetailMessage}}) @router.get("/{courseId}", response_model=schemas.Course, responses={404: {"model": schemas.DetailMessage}})
def retrieve_information_of_a_course(semesterId: int = Query(..., example=1), def retrieve_information_of_a_course(semesterId: int = Query(..., example=1),
courseId: str = Path(..., example="L.079.05401"), courseId: str = Path(..., example="L.079.05401"),
broker: Broker = Depends(get_database_broker)): broker: DatabaseBroker = Depends(get_database_broker)):
""" """
Querries course by id with all small groups and appointments. Querries course by id with all small groups and appointments.
""" """
......
...@@ -4,14 +4,14 @@ from typing import List ...@@ -4,14 +4,14 @@ from typing import List
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from app import schemas from app import schemas
from app.data.brokers import Broker, DatabaseBroker from app.data.brokers import DatabaseBroker
from app.routes.dependencies import get_database_broker from app.routes.dependencies import get_database_broker
router = APIRouter() router = APIRouter()
@router.get("/available", response_model=List[schemas.SemesterWithoutCoursesButId]) @router.get("/available", response_model=List[schemas.SemesterWithoutCoursesButId])
def see_all_available_semesters(broker: Broker = Depends(get_database_broker)): def see_all_available_semesters(broker: DatabaseBroker = Depends(get_database_broker)):
""" """
Returns all available semesters. Returns all available semesters.
""" """
......
from typing import List
from fastapi import APIRouter, Depends, HTTPException
from app import schemas
from app.data.brokers import Broker
from app.routes.dependencies import get_database_broker
courses_router = APIRouter()
@courses_router.get("/courses", response_model=List[schemas.CourseWithoutAppointments])
def list_and_search_courses(semester: str, title: str = "", broker: Broker = Depends(get_database_broker)):
return broker.find_courses_by_name(semester, title)
@courses_router.get("/course", response_model=schemas.Course)
def get_course(semester: str, course_id: str, broker: Broker = Depends(get_database_broker)):
course = broker.find_course_by_id(semester, course_id)
if course:
return course
else:
raise HTTPException(status_code=404, detail="Course not found")
@courses_router.get("/courses/all", response_model=List[schemas.Course])
def get_all_courses(semester: str, broker: Broker = Depends(get_database_broker)):
return broker.get_courses(semester)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment