from __future__ import annotations

import logging
from collections.abc import Mapping
from typing import Any

from .assembler import PayloadAssemblerMixin

logger = logging.getLogger("dscons.generation_payload.service")


class BienBanBanGiaoMatBangPayloadAssembler(PayloadAssemblerMixin):
    """Assembles template-compatible generation payload for biên bản bàn giao mặt bằng."""

    def __init__(self) -> None:
        pass


def assemble_bien_ban_ban_giao_mat_bang_generation_payload(
    project_payload: Mapping[str, Any],
    template_payload: Mapping[str, Any],
    supplemental_context: Mapping[str, Any] | None = None,
) -> dict[str, Any]:
    """Convenience functional interface for site handover payload generation."""
    assembler = BienBanBanGiaoMatBangPayloadAssembler()
    return assembler.assemble(
        project_payload=project_payload,
        template_payload=template_payload,
        supplemental_context=supplemental_context,
    )
