Allowing to retrieve data only once
This commit is contained in:
parent
d2babe2567
commit
66acd51b6d
1 changed files with 13 additions and 2 deletions
|
@ -1,4 +1,5 @@
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
|
from fastapi.exceptions import HTTPException
|
||||||
|
|
||||||
from rectes.models import Secret, SecretSaveResult
|
from rectes.models import Secret, SecretSaveResult
|
||||||
from rectes.redis_db import redis
|
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):
|
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 {
|
return {
|
||||||
"data": await redis.get(secret_key),
|
"data": data,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue