Source code for ska_oso_pdm.proposal_management.panel_decision

from typing import Annotated

from pydantic import AwareDatetime, Field

from ska_oso_pdm._shared import Metadata, PdmObject, ProposalID
from ska_oso_pdm._shared.atoms import TerseStrEnum


[docs] class PanelReviewStatus(TerseStrEnum): IN_PROGRESS = "in progress" DECIDED = "decided" TO_DO = "to do"
[docs] class PanelDecision(PdmObject): metadata: Metadata = Field( default_factory=Metadata, description="The metadata of this Panel Decision." ) cycle: str | None = None # Default to null, can be set later decision_id: str panel_id: str prsl_id: ProposalID rank: Annotated[int | None, Field(ge=0, le=9)] = None recommendation: str | None = None decided_by: str | None = None decided_on: AwareDatetime | None = None status: PanelReviewStatus = PanelReviewStatus.TO_DO