# tenant_manager/tenant_cache.py
 
import time
 
class TenantCache:
    """
    In-memory cache for tenant DB info.
    Only stores: { tenant_id: { "db_name": "...", "expires": ... } }
    """
 
    _cache = {}
    TTL = 300  
 
    @classmethod
    def get(cls, tenant_id: str):
        item = cls._cache.get(tenant_id)
        if not item:
            return None
 
        if item["expires"] < time.time():
            cls._cache.pop(tenant_id, None)
            return None
 
        return item["db_name"]
 
    @classmethod
    def set(cls, tenant_id: str, db_name: str):
        cls._cache[tenant_id] = {
            "db_name": db_name,
            "expires": time.time() + cls.TTL
        }
 
 
 