redis implemntations and api setup completed
This commit is contained in:
@@ -2,7 +2,7 @@ import arrow
|
||||
|
||||
from typing import Optional, List, Dict, Union
|
||||
|
||||
from AllConfigs.main import MainConfig
|
||||
from ApiLayers.AllConfigs.main import MainConfig
|
||||
|
||||
from Services.Redis.conn import redis_cli
|
||||
from Services.Redis.Models.base import RedisRow
|
||||
|
||||
30
Services/Redis/Models/access.py
Normal file
30
Services/Redis/Models/access.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from typing import Optional
|
||||
from uuid import UUID
|
||||
from pydantic import field_validator
|
||||
|
||||
from Services.Redis.Models.row import BaseRedisModel
|
||||
|
||||
|
||||
class AccessToken(BaseRedisModel):
|
||||
|
||||
accessToken: Optional[str] = None
|
||||
userUUID: Optional[str | UUID] = None
|
||||
|
||||
@field_validator("userUUID", mode="after")
|
||||
def validate_uuid(cls, v):
|
||||
"""Convert UUID to string during validation."""
|
||||
if v is None:
|
||||
return None
|
||||
return str(v)
|
||||
|
||||
def to_list(self):
|
||||
"""Convert to list for Redis storage."""
|
||||
return [self.accessToken, str(self.userUUID) if self.userUUID else None]
|
||||
|
||||
@property
|
||||
def count(self):
|
||||
return 2
|
||||
|
||||
@property
|
||||
def delimiter(self):
|
||||
return ":"
|
||||
17
Services/Redis/Models/cluster.py
Normal file
17
Services/Redis/Models/cluster.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from Services.Redis.Models.row import BaseRedisModel
|
||||
|
||||
|
||||
class RedisList(BaseRedisModel):
|
||||
redis_key: str
|
||||
|
||||
def to_list(self):
|
||||
"""Convert to list for Redis storage."""
|
||||
return [self.redis_key]
|
||||
|
||||
@property
|
||||
def count(self):
|
||||
return 1
|
||||
|
||||
@property
|
||||
def delimiter(self):
|
||||
return ":"
|
||||
@@ -1,28 +1,20 @@
|
||||
from typing import Optional, Literal
|
||||
from uuid import UUID
|
||||
from pydantic import BaseModel, field_validator
|
||||
from abc import abstractmethod
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class AccessToken(BaseModel):
|
||||
class BaseRedisModel(BaseModel):
|
||||
|
||||
accessToken: Optional[str] = None
|
||||
userUUID: Optional[str | UUID] = None
|
||||
|
||||
@field_validator("userUUID", mode="after")
|
||||
def validate_uuid(cls, v):
|
||||
"""Convert UUID to string during validation."""
|
||||
if v is None:
|
||||
return None
|
||||
return str(v)
|
||||
|
||||
def to_list(self):
|
||||
@abstractmethod
|
||||
def to_list(self) -> list:
|
||||
"""Convert to list for Redis storage."""
|
||||
return [self.accessToken, str(self.userUUID) if self.userUUID else None]
|
||||
pass
|
||||
|
||||
@property
|
||||
def count(self):
|
||||
return 2
|
||||
@abstractmethod
|
||||
def count(self) -> int:
|
||||
"""Return the number of elements in the list."""
|
||||
pass
|
||||
|
||||
@property
|
||||
def delimiter(self):
|
||||
return "*"
|
||||
@abstractmethod
|
||||
def delimiter(self) -> str:
|
||||
"""Return the delimiter for the list."""
|
||||
pass
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from Services.Redis.Actions.actions import RedisActions
|
||||
from Services.Redis.Models.row import AccessToken
|
||||
from Services.Redis.Models.access import AccessToken
|
||||
|
||||
|
||||
__all__ = [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from redis import Redis
|
||||
|
||||
from AllConfigs.Redis.configs import WagRedis
|
||||
from ApiLayers.AllConfigs.Redis.configs import WagRedis
|
||||
|
||||
|
||||
class RedisConn:
|
||||
|
||||
Reference in New Issue
Block a user