Files
Aislo/A09_Security/A09_Security_Schema.py

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)