Basic implementation of creating new secret endpoint
This commit is contained in:
		
							parent
							
								
									d80db89989
								
							
						
					
					
						commit
						7266dd3cd5
					
				
					 2 changed files with 30 additions and 0 deletions
				
			
		|  | @ -1,8 +1,27 @@ | ||||||
| from fastapi import FastAPI | from fastapi import FastAPI | ||||||
|  | from pydantic import BaseModel | ||||||
|  | 
 | ||||||
|  | from rectes.redis_db import redis | ||||||
|  | from rectes.utils import get_new_key | ||||||
| 
 | 
 | ||||||
| app = FastAPI() | app = FastAPI() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class Secret(BaseModel): | ||||||
|  |     data: str | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @app.get("/") | @app.get("/") | ||||||
| def read_root(): | def read_root(): | ||||||
|     return {"Hello": "World"} |     return {"Hello": "World"} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @app.post("/secret") | ||||||
|  | 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}", | ||||||
|  |     } | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								src/rectes/utils.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/rectes/utils.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | from uuid import uuid4 | ||||||
|  | 
 | ||||||
|  | from rectes.redis_db import redis | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | async def get_new_key() -> str: | ||||||
|  |     while True: | ||||||
|  |         new_key = str(uuid4()) | ||||||
|  | 
 | ||||||
|  |         if not await redis.exists(new_key): | ||||||
|  |             return new_key | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue