from components.database import IN_MEMORY_DB from components.models import UUID, validate_call from components.utils import ensure_list @validate_call def buster(bust_uuid: UUID | list[UUID]): bust_uuids = ensure_list(bust_uuid) for bust_uuid in bust_uuids: bust_uuid = str(bust_uuid) for user_id in IN_MEMORY_DB["CACHE"]["MODELS"]: cached_keys = list(IN_MEMORY_DB["CACHE"]["MODELS"][user_id].keys()) if bust_uuid in cached_keys: if bust_uuid in IN_MEMORY_DB["CACHE"]["MODELS"][user_id]: del IN_MEMORY_DB["CACHE"]["MODELS"][user_id][bust_uuid] for user_id in IN_MEMORY_DB["CACHE"]["FORMS"]: for option in IN_MEMORY_DB["CACHE"]["FORMS"][user_id].copy(): if any( d["value"] == bust_uuid for d in IN_MEMORY_DB["CACHE"]["FORMS"][user_id][option] ): del IN_MEMORY_DB["CACHE"]["FORMS"][user_id][option]