from fastapi import FastAPI from rectes.models import Secret, SecretSaveResult from rectes.redis_db import redis from rectes.utils import get_new_key app = FastAPI() @app.post("/secret", response_model=SecretSaveResult) async def set_secret(data: Secret): new_key = await get_new_key() await redis.setex(new_key, 60 * 60 * 24, data.data) return { "status": "saved", "retrieval_url": f"/secret/{new_key}", } @app.get("/secret/{secret_key}", response_model=Secret) async def get_secret(secret_key): return { "data": await redis.get(secret_key), }