From 35f7738160ce40e61c048facc4b22608ee643f6e Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 17 Feb 2026 09:33:31 +0000 Subject: [PATCH] implement handler --- backend/categorisation/handler/handler.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/backend/categorisation/handler/handler.py b/backend/categorisation/handler/handler.py index e74bfeb5..20076613 100644 --- a/backend/categorisation/handler/handler.py +++ b/backend/categorisation/handler/handler.py @@ -1,4 +1,9 @@ +import json from typing import Any, Mapping +from backend.categorisation.categorisation_trigger_request import ( + CategorisationTriggerRequest, +) +from backend.categorisation.processor import process_portfolio from utils.logger import setup_logger @@ -7,4 +12,15 @@ logger = setup_logger() def handler(event: Mapping[str, Any], context: Any) -> None: - pass + for record in event.get("Records", []): + try: + body_dict = json.loads(record["body"]) + logger.debug("Validating request body") + payload = CategorisationTriggerRequest.model_validate(body_dict) + + logger.debug("Successfully validated request body") + + process_portfolio(payload.portfolio_id) + + except Exception as e: + logger.error(f"Failed to process record: {e}")