diff --git a/.gitignore b/.gitignore index f6c4a2c..b2c4cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ dist/ rectes.egg-info/ build/ conf/rectes.toml +__pycache__/ diff --git a/src/rectes/main.py b/src/rectes/main.py index 6f8d0fb..26d66b8 100644 --- a/src/rectes/main.py +++ b/src/rectes/main.py @@ -1,4 +1,5 @@ from fastapi import FastAPI +from fastapi.exceptions import HTTPException from rectes.models import Secret, SecretSaveResult from rectes.redis_db import redis @@ -18,8 +19,18 @@ async def set_secret(data: Secret): } -@app.get("/secret/{secret_key}", response_model=Secret) +@app.get( + "/secret/{secret_key}", + response_model=Secret, + responses={404: {"description": "The item was not found"}}, +) async def get_secret(secret_key): + data = await redis.get(secret_key) + + if data is None: + raise HTTPException(404) + + await redis.delete(secret_key) return { - "data": await redis.get(secret_key), + "data": data, }