Files
LeDiscord/backend/schemas/settings.py
2025-08-27 18:34:38 +02:00

41 lines
1.2 KiB
Python
Executable File

from pydantic import BaseModel, Field
from typing import Optional, Dict, Any
from datetime import datetime
class SystemSettingBase(BaseModel):
key: str = Field(..., description="Clé unique du paramètre")
value: str = Field(..., description="Valeur du paramètre")
description: Optional[str] = Field(None, description="Description du paramètre")
category: str = Field(default="general", description="Catégorie du paramètre")
class SystemSettingCreate(SystemSettingBase):
pass
class SystemSettingUpdate(BaseModel):
value: str = Field(..., description="Nouvelle valeur du paramètre")
class SystemSettingResponse(SystemSettingBase):
id: int
is_editable: bool
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class SettingsCategoryResponse(BaseModel):
category: str
settings: list[SystemSettingResponse]
class Config:
from_attributes = True
class UploadLimitsResponse(BaseModel):
max_album_size_mb: int
max_vlog_size_mb: int
max_image_size_mb: int
max_video_size_mb: int
max_media_per_album: int
allowed_image_types: list[str]
allowed_video_types: list[str]