basis/components/cache.py
apeters 3f3a7ba2d5 -
Signed-off-by: apeters <apeters@korves.net>
2025-05-27 07:25:27 +00:00

25 lines
997 B
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(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]