Add role-based filtering and imporve code
This commit is contained in:
@@ -11,7 +11,7 @@ import structlog
|
||||
|
||||
from app.models import DemoSession, DemoSessionStatus
|
||||
from app.services.data_cloner import DemoDataCloner
|
||||
from app.core import RedisClient
|
||||
from app.core.redis_wrapper import DemoRedisWrapper
|
||||
|
||||
logger = structlog.get_logger()
|
||||
|
||||
@@ -19,7 +19,7 @@ logger = structlog.get_logger()
|
||||
class DemoCleanupService:
|
||||
"""Handles cleanup of expired demo sessions"""
|
||||
|
||||
def __init__(self, db: AsyncSession, redis: RedisClient):
|
||||
def __init__(self, db: AsyncSession, redis: DemoRedisWrapper):
|
||||
self.db = db
|
||||
self.redis = redis
|
||||
self.data_cloner = DemoDataCloner(db, redis)
|
||||
|
||||
@@ -9,7 +9,8 @@ import httpx
|
||||
import structlog
|
||||
import uuid
|
||||
|
||||
from app.core import RedisClient, settings
|
||||
from app.core.redis_wrapper import DemoRedisWrapper
|
||||
from app.core import settings
|
||||
|
||||
logger = structlog.get_logger()
|
||||
|
||||
@@ -17,7 +18,7 @@ logger = structlog.get_logger()
|
||||
class DemoDataCloner:
|
||||
"""Clones demo data for isolated sessions"""
|
||||
|
||||
def __init__(self, db: AsyncSession, redis: RedisClient):
|
||||
def __init__(self, db: AsyncSession, redis: DemoRedisWrapper):
|
||||
self.db = db
|
||||
self.redis = redis
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ import secrets
|
||||
import structlog
|
||||
|
||||
from app.models import DemoSession, DemoSessionStatus, CloningStatus
|
||||
from app.core import RedisClient, settings
|
||||
from app.core.redis_wrapper import DemoRedisWrapper
|
||||
from app.core import settings
|
||||
from app.services.clone_orchestrator import CloneOrchestrator
|
||||
|
||||
logger = structlog.get_logger()
|
||||
@@ -21,7 +22,7 @@ logger = structlog.get_logger()
|
||||
class DemoSessionManager:
|
||||
"""Manages demo session lifecycle"""
|
||||
|
||||
def __init__(self, db: AsyncSession, redis: RedisClient):
|
||||
def __init__(self, db: AsyncSession, redis: DemoRedisWrapper):
|
||||
self.db = db
|
||||
self.redis = redis
|
||||
self.orchestrator = CloneOrchestrator()
|
||||
@@ -367,7 +368,8 @@ class DemoSessionManager:
|
||||
}
|
||||
|
||||
import json as json_module
|
||||
await self.redis.client.setex(
|
||||
client = await self.redis.get_client()
|
||||
await client.setex(
|
||||
status_key,
|
||||
7200, # Cache for 2 hours
|
||||
json_module.dumps(status_data) # Convert to JSON string
|
||||
@@ -385,7 +387,8 @@ class DemoSessionManager:
|
||||
"""
|
||||
# Try Redis cache first
|
||||
status_key = f"session:{session_id}:status"
|
||||
cached = await self.redis.client.get(status_key)
|
||||
client = await self.redis.get_client()
|
||||
cached = await client.get(status_key)
|
||||
|
||||
if cached:
|
||||
import json
|
||||
|
||||
Reference in New Issue
Block a user