"""Collaborator schemas.""" from typing import Optional from pydantic import Field from collaborator.constants.split_type import SplitTypeId from collaborator.schemas import BaseSchema from collaborator.schemas.split import SplitSchema class CollaboratorIdsBody(BaseSchema): """Request body containing a non-empty list of collaborator IDs. Shared by the dataloader endpoints (``/collaborators/dataloader``, ``/collaborators/balances-dataloader`` and ``/collaborators/latest-reports-dataloader``). """ collaborator_ids: list[int] = Field(min_length=1) class GetCollaboratorSplitsRequestSchema(BaseSchema): """GET collaborator splits request schema.""" split_types: Optional[list[SplitTypeId]] = None class GetCollaboratorSplitsResponseSchema(BaseSchema): """GET collaborator splits response schema.""" splits: list[SplitSchema]