import logging from fansifter.hooks.lambda_function import FanSifterLambdaHook class CollectionHook: def __init__(self, collection_id, user_id, profile, workspace_schema=None, alliance_schema=None): self.collection_id = collection_id self.user_id = user_id self.profile = profile self.workspace_schema = workspace_schema self.alliance_schema = alliance_schema def change_status(self, status): payload = { "endpoint": "post_enrich/change_status", "arguments": {"user_id": self.user_id, "collection_id": self.collection_id, "status": status}, } if self.workspace_schema is not None: payload["arguments"].update({"workspace_schema": self.workspace_schema}) elif self.alliance_schema is not None: payload["arguments"].update({"alliance_schema": self.alliance_schema}) lambda_hook = FanSifterLambdaHook(function_name=f"frontend-api-{self.profile}-post-enrichment-requests") try: lambda_hook.invoke_lambda(payload) except Exception as e: logging.error(e) raise e