diff --git a/src/_module_template/router.py b/src/_module_template/router.py index c81fc26..d96d7ee 100644 --- a/src/_module_template/router.py +++ b/src/_module_template/router.py @@ -3,19 +3,6 @@ Router endpoints for the module Exports: - router: fastapi.APIRouter - -### Router Guidelines ### -- Add responses to decorators -- Add status_codes to decorators -- All endpoints should either return a response object or 204 -- Ensure response_model is declared in the decorator -- All query and path params should have validation and descriptions -- All endpoints should have a docstring (this is used in place of a description) -- All endpoints should have a summary -- All modules should have metadata in main.py -- All exceptions should have a custom definition in exceptions.py -- Dependencies should be used for db model get and validation where possible -- Verify module level docstring is still accurate after updates """ from fastapi import APIRouter diff --git a/src/service/router.py b/src/service/router.py index 6c0bd41..e05a92e 100644 --- a/src/service/router.py +++ b/src/service/router.py @@ -26,15 +26,10 @@ router = APIRouter( prefix="/service", ) - -@router.get("/", - summary="Get all services", - status_code=status.HTTP_200_OK, - response_model=ServiceGetServiceResponse, - responses={ - status.HTTP_200_OK: {"description": "Successful retrieval from database"}, - status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, - }) +@router.get("/", status_code=status.HTTP_200_OK, response_model=ServiceGetServiceResponse, responses={ + status.HTTP_200_OK: {"description": "Successful retrieval from database"}, + status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, +}) async def get_all_services(db: db_dependency, org_model: org_model_root_claim_query_dependency): """ Returns the ID and name of all services registered to the hub. @@ -43,16 +38,11 @@ async def get_all_services(db: db_dependency, org_model: org_model_root_claim_qu return {"services": permission_models} - -@router.post("/", - summary="Register a new service.", - status_code=status.HTTP_200_OK, - response_model=ServicePostServiceResponse, - responses={ - status.HTTP_200_OK: {"description": "Successfully registered a new service"}, - status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, - status.HTTP_409_CONFLICT: {"description": "Service with this name already exists"}, - }) +@router.post("/", status_code=status.HTTP_200_OK, response_model=ServicePostServiceResponse, responses={ + status.HTTP_200_OK: {"description": "Successfully registered a new service"}, + status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, + status.HTTP_409_CONFLICT: {"description": "Service with this name already exists"}, +}) async def register_service(db: db_dependency, su: super_admin_dependency, request_model: ServicePostServiceRequest): """ Registers a new service to the hub, generating and returning an API key for it. @@ -71,17 +61,11 @@ async def register_service(db: db_dependency, su: super_admin_dependency, reques db.commit() return {"service": response} - -@router.patch("/key", - summary="Regenerate service API key.", - status_code=status.HTTP_200_OK, - response_model=ServicePatchKeyResponse, - responses={ - status.HTTP_200_OK: {"description": "Successful update of API key"}, - status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, - }) -async def regenerate_api_key(db: db_dependency, su: super_admin_dependency, - service_model: service_model_body_dependency, request_model: ServicePatchKeyRequest): +@router.patch("/key", status_code=status.HTTP_200_OK, response_model=ServicePatchKeyResponse, responses={ + status.HTTP_200_OK: {"description": "Successful update of API key"}, + status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, +}) +async def regenerate_api_key(db: db_dependency, su: super_admin_dependency, service_model: service_model_body_dependency, request_model: ServicePatchKeyRequest): """ Generates and returns a new API key for the service to access the hub. """ @@ -93,16 +77,11 @@ async def regenerate_api_key(db: db_dependency, su: super_admin_dependency, db.commit() return {"service": response} - -@router.delete("/", - summary="Remove a service.", - status_code=status.HTTP_204_NO_CONTENT, - responses={ - status.HTTP_204_NO_CONTENT: {"description": "Successfully removed service from db"}, - status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, - }) -async def remove_service(db: db_dependency, service_model: service_model_body_dependency, su: super_admin_dependency, - request_model: ServiceDeleteServiceRequest): +@router.delete("/", status_code=status.HTTP_204_NO_CONTENT, responses={ + status.HTTP_204_NO_CONTENT: {"description": "Successfully removed service from db"}, + status.HTTP_401_UNAUTHORIZED: {"description": "Unauthorized"}, +}) +async def remove_service(db: db_dependency, service_model: service_model_body_dependency, su: super_admin_dependency, request_model: ServiceDeleteServiceRequest): """ Removes a service from the hub. """