"""Post-processing response schemas."""

from uuid import UUID
from .common import BaseResponse, Field


class MapFindingsRequest(BaseResponse):
    keys: list[str] = Field(
        description=(
            "List of finding key fields to use for mapping. If not provided, all "
            "available key fields will be used."
        ),
        min_length=1,
    )


class BucketFindingsResponse(BaseResponse):
    """Response schema for bucket-scoped findings operations."""

    bucket_id: UUID = Field(..., description="ID of the bucket")
    findings_processed: int = Field(..., description="Number of findings processed")


class BucketCommandsResponse(BaseResponse):
    """Response schema for bucket-scoped commands operations."""

    bucket_id: UUID = Field(..., description="ID of the bucket")
    commands_processed: int = Field(..., description="Number of commands processed")


class AlignmentFindingsResponse(BaseResponse):
    """Response schema for alignment-scoped findings operations."""

    alignment_id: UUID = Field(..., description="ID of the alignment")
    findings_processed: int = Field(..., description="Number of findings processed")


class AlignmentCommandsResponse(BaseResponse):
    """Response schema for alignment-scoped commands operations."""

    alignment_id: UUID = Field(..., description="ID of the alignment")
    commands_processed: int = Field(..., description="Number of commands processed")
