import pathlib from functools import cache from pydantic.type_adapter import TypeAdapter from fansifter_common.legal_info.types import LegalEntity, PrivacyLink PrivacyLinkValidator = TypeAdapter(dict[str, dict[str, list[PrivacyLink]]]) LegalEntityValidator = TypeAdapter(dict[str, LegalEntity]) privacy_links_filepath = pathlib.Path(__file__).resolve().parent / "privacy_links.json" legal_entities_filepath = ( pathlib.Path(__file__).resolve().parent / "legal_entities.json" ) @cache def get_privacy_links() -> dict[str, dict[str, list[PrivacyLink]]]: return PrivacyLinkValidator.validate_json(privacy_links_filepath.read_bytes()) @cache def get_legal_entities() -> dict[str, LegalEntity]: return LegalEntityValidator.validate_json(legal_entities_filepath.read_bytes())