dak.c2s/backend/app/schemas/disclosure.py
CCS Admin 3496e4acfe feat: add disclosure schemas and case response masking helper
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 16:03:58 +00:00

38 lines
982 B
Python

"""Pydantic schemas for disclosure request endpoints."""
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class DisclosureRequestCreate(BaseModel):
"""Payload for creating a disclosure request."""
reason: str
class DisclosureRequestResponse(BaseModel):
"""Response for a single disclosure request."""
id: int
case_id: int
requester_id: int
requester_username: Optional[str] = None
fall_id: Optional[str] = None
reason: str
status: str
reviewed_by: Optional[int] = None
reviewed_at: Optional[datetime] = None
expires_at: Optional[datetime] = None
created_at: datetime
model_config = {"from_attributes": True}
class DisclosureRequestUpdate(BaseModel):
"""Payload for approving/rejecting a disclosure request."""
status: str # "approved" or "rejected"
class DisclosureCountResponse(BaseModel):
"""Count of pending disclosure requests."""
pending_count: int