import splitio from app.config import SPLIT_API_KEY, DEFAULT_FEATURE_FLAGS TREATMENT_ON = "on" def check_treatments(ids: list[str], feature_flags: list[str] = DEFAULT_FEATURE_FLAGS) -> dict[str, list[str]]: """Check treatments by identity IDs. Args: ids (list[str]): List of lists containing IDs and corresponding emails. feature_flags (list[str]): List of feature flags. Returns: dict[str, list[str]]: Dictionary where key is identity_id (with at least 1 FF and value active feature flags) """ factory = splitio.get_factory(SPLIT_API_KEY, config={"impressionsMode": 'none'}) factory.block_until_ready(60) splitio_client = factory.client() users_treatments = dict() for id_ in ids: treatments = splitio_client.get_treatments( key='identity_id', feature_flags=feature_flags, attributes={'identity_id': id_} ) users_treatments[id_] = [key for key, value in treatments.items() if value == TREATMENT_ON] return users_treatments