mirror of
https://github.com/lorsanstand/Aether.git
synced 2026-06-19 12:05:16 +03:00
refractor structure project and add user endpoint
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import json
|
||||
import logging
|
||||
from functools import wraps
|
||||
|
||||
from fastapi import Request
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
|
||||
from app.utils.redis import get_redis
|
||||
from app.core.redis import get_redis
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
def cache(ttl: int = 10):
|
||||
if ttl <= 0:
|
||||
@@ -17,10 +20,12 @@ def cache(ttl: int = 10):
|
||||
request: Request = kwargs.get("request")
|
||||
response_cache = await redis.get(str(request.url))
|
||||
if response_cache is not None:
|
||||
log.debug("Getting from cache")
|
||||
return json.loads(response_cache)
|
||||
|
||||
response_cache = await func(*args, **kwargs)
|
||||
await redis.setex(str(request.url), ttl, json.dumps(response_cache))
|
||||
serializable_data = jsonable_encoder(response_cache)
|
||||
await redis.setex(str(request.url), ttl, json.dumps(serializable_data))
|
||||
return response_cache
|
||||
|
||||
return wrapper
|
||||
|
||||
Reference in New Issue
Block a user