29 lines
689 B
Python
29 lines
689 B
Python
from typing import Optional, Literal
|
|
from uuid import UUID
|
|
from pydantic import BaseModel, field_validator
|
|
|
|
|
|
class AccessToken(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):
|
|
"""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 "*"
|