26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
from components.database import IN_MEMORY_DB
|
|
from components.models import UUID, validate_call
|
|
from components.utils import ensure_list
|
|
|
|
|
|
@validate_call
|
|
def buster(object_id: UUID | list[UUID]):
|
|
object_ids = ensure_list(object_id)
|
|
for object_id in object_ids:
|
|
object_id = str(object_id)
|
|
|
|
for user_id in IN_MEMORY_DB["OBJECTS_CACHE"]:
|
|
cached_keys = list(IN_MEMORY_DB["OBJECTS_CACHE"][user_id].keys())
|
|
if object_id in cached_keys:
|
|
mapping_name = IN_MEMORY_DB["OBJECTS_CACHE"][user_id][object_id].name
|
|
if object_id in IN_MEMORY_DB["OBJECTS_CACHE"][user_id]:
|
|
del IN_MEMORY_DB["OBJECTS_CACHE"][user_id][object_id]
|
|
|
|
for user_id in IN_MEMORY_DB["FORM_OPTIONS_CACHE"]:
|
|
for option in IN_MEMORY_DB["FORM_OPTIONS_CACHE"][user_id].copy():
|
|
if any(
|
|
d["value"] == object_id
|
|
for d in IN_MEMORY_DB["FORM_OPTIONS_CACHE"][user_id][option]
|
|
):
|
|
del IN_MEMORY_DB["FORM_OPTIONS_CACHE"][user_id][option]
|