diff --git a/backend/categorisation/handler/Dockerfile b/backend/categorisation/handler/Dockerfile new file mode 100644 index 00000000..46c8d477 --- /dev/null +++ b/backend/categorisation/handler/Dockerfile @@ -0,0 +1,47 @@ +FROM public.ecr.aws/lambda/python:3.11 +# For local running: +# FROM python:3.11.10-bullseye + +ARG DEV_DB_HOST +ARG DEV_DB_PORT +ARG DEV_DB_NAME + + +# Set working directory (Lambda task root) +WORKDIR /var/task + +# Environment +ENV DB_HOST=${DEV_DB_HOST} +ENV DB_PORT=${DEV_DB_PORT} +ENV DB_NAME=${DEV_DB_NAME} + +COPY backend/.env.test backend/.env + +# ----------------------------- +# Copy requirements FIRST (for Docker layer caching) +# ----------------------------- +COPY backend/categorisation/handler/requirements.txt . + +# Install dependencies into Lambda runtime +RUN pip install --no-cache-dir -r requirements.txt + +# ----------------------------- +# Copy application code +# ----------------------------- +COPY utils/ utils/ +COPY backend/categorisation/ backend/categorisation/ + +COPY backend/app/db/connection.py backend/app/db/connection.py +COPY backend/app/config.py backend/app/config.py + +COPY backend/__init__.py backend/__init__.py +COPY backend/app/__init__.py backend/app/__init__.py +COPY backend/app/db/__init__.py backend/app/db/__init__.py + + +# ----------------------------- +# Lambda handler +# ----------------------------- +CMD ["backend/categorisation/handler/handler.handler"] +# For local running +# CMD ["python", "-m", "backend.categorisation.handler.handler"] diff --git a/backend/categorisation/handler/handler.py b/backend/categorisation/handler/handler.py new file mode 100644 index 00000000..e74bfeb5 --- /dev/null +++ b/backend/categorisation/handler/handler.py @@ -0,0 +1,10 @@ +from typing import Any, Mapping +from utils.logger import setup_logger + + +logger = setup_logger() + + +def handler(event: Mapping[str, Any], context: Any) -> None: + + pass diff --git a/backend/categorisation/handler/requirements.txt b/backend/categorisation/handler/requirements.txt new file mode 100644 index 00000000..48e5b561 --- /dev/null +++ b/backend/categorisation/handler/requirements.txt @@ -0,0 +1,3 @@ +sqlmodel +pydantic-settings +psycopg2-binary==2.9.10 \ No newline at end of file