25 lines
727 B
Python
25 lines
727 B
Python
"""조직 승인 및 시스템 관리자 변경 요청 스키마."""
|
|
|
|
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)
|