diff --git a/geomagio/api/secure/login.py b/geomagio/api/secure/login.py index b4c8f5cd0890d1ac4e3dfb7ac4506a3d827ebc06..9bab1d8d7877449a8dff11bef03f3fe94539641c 100644 --- a/geomagio/api/secure/login.py +++ b/geomagio/api/secure/login.py @@ -150,10 +150,11 @@ oauth.register( router = APIRouter() -@router.get("/authorize") +@router.get( + "/authorize", + description="Authorize callback after authenticating using OpenID", +) async def authorize(request: Request): - """Authorize callback after authenticating using OpenID""" - # finish login token = await oauth.openid.authorize_access_token(request) @@ -171,9 +172,11 @@ async def authorize(request: Request): ) -@router.get("/login") +@router.get( + "/login", + description="Redirect to OpenID provider.", +) async def login(request: Request): - """Redirect to OpenID provider.""" redirect_uri = request.url_for("authorize") if "127.0.0.1" not in redirect_uri: # 127.0.0.1 used for local dev, all others use https @@ -185,9 +188,11 @@ async def login(request: Request): return await oauth.openid.authorize_redirect(request, redirect_uri) -@router.get("/logout") +@router.get( + "/logout", + description="Clear session and redirect to index page.", +) async def logout(request: Request): - """Clear session and redirect to index page.""" request.session.pop("token", None) request.session.pop("user", None) return RedirectResponse( @@ -199,7 +204,9 @@ async def logout(request: Request): ) -@router.get("/user") +@router.get( + "/user", + description="Get currently logged in user.", +) async def user(request: Request, user: User = Depends(require_user())) -> User: - """Get currently logged in user.""" return user diff --git a/geomagio/api/secure/metadata.py b/geomagio/api/secure/metadata.py index 755948d12afa590d377ee034ebd0b77bf3bddc11..ac8113acf98b353f8ef306ae727349527c209665 100644 --- a/geomagio/api/secure/metadata.py +++ b/geomagio/api/secure/metadata.py @@ -59,7 +59,11 @@ def get_metadata_query( ) -@router.post("/metadata", response_model=Metadata) +@router.post( + "/metadata", + description="Save metadata in database", + response_model=Metadata, +) async def create_metadata( request: Request, metadata: Metadata, @@ -71,13 +75,22 @@ async def create_metadata( return Response(metadata.json(), status_code=201, media_type="application/json") -@router.get("/metadata", response_model=List[Metadata]) +@router.get( + "/metadata", + description="Search metadata by query parameters", + name="Request metadata", + response_model=List[Metadata], +) async def get_metadata(query: MetadataQuery = Depends(get_metadata_query)): metas = await MetadataDatabaseFactory(database=database).get_metadata(params=query) return metas -@router.get("/metadata/history", response_model=List[Metadata]) +@router.get( + "/metadata/history", + description="Search historical metadata by query parameters", + response_model=List[Metadata], +) async def get_metadata_history(query: MetadataQuery = Depends(get_metadata_query)): metas = await MetadataDatabaseFactory(database=database).get_metadata( params=query, history=True @@ -85,12 +98,20 @@ async def get_metadata_history(query: MetadataQuery = Depends(get_metadata_query return metas -@router.get("/metadata/{id}", response_model=Metadata) +@router.get( + "/metadata/{id}", + description="Search metadata by database id", + response_model=Metadata, +) async def get_metadata_by_id(id: int): return await MetadataDatabaseFactory(database=database).get_metadata_by_id(id=id) -@router.get("/metadata/{metadata_id}/history", response_model=List[Metadata]) +@router.get( + "/metadata/{metadata_id}/history", + description="Search metadata version history by database id", + response_model=List[Metadata], +) async def get_metadata_history_by_metadata_id( metadata_id: int, ): @@ -101,7 +122,11 @@ async def get_metadata_history_by_metadata_id( ) -@router.get("/metadata/history/{id}", response_model=Metadata) +@router.get( + "/metadata/history/{id}", + description="Search historical metadata by database id", + response_model=Metadata, +) async def get_metadata_history_by_id(id: int): metadata = await MetadataDatabaseFactory( database=database @@ -111,7 +136,11 @@ async def get_metadata_history_by_id(id: int): return metadata -@router.put("/metadata/{id}", response_model=Metadata) +@router.put( + "/metadata/{id}", + description="Edit metadata from older version", + response_model=Metadata, +) async def update_metadata( id: int, metadata: Metadata = Body(...),