"""조직 승인 및 시스템 관리자 변경 요청 스키마.""" from typing import Literal from pydantic import BaseModel, Field class JoinDecisionRequest(BaseModel): approved: bool comment: str | None = Field(default=None, max_length=1000) class AdminStatusRequest(BaseModel): status: str = Field(min_length=3, max_length=20) reason: str = Field(min_length=1, max_length=500) class ActivityLogRequest(BaseModel): action_type: Literal[ "FILE_UPLOAD", "FILE_DOWNLOAD", "PROJECT_SAVE", "DATA_PROCESS", "PAGE_VIEW" ] resource_id: str | None = Field(default=None, max_length=255) status: Literal["SUCCESS", "FAILURE"] = "SUCCESS" details: dict = Field(default_factory=dict)