Files
PecHub/backend/app/schemas/permission_preset.py
T

43 lines
1.3 KiB
Python

"""
Schema Pydantic per i preset di permessi (sottoruoli nominati).
"""
import uuid
from datetime import datetime
from pydantic import BaseModel, Field
class PermissionPresetCreate(BaseModel):
name: str = Field(..., min_length=1, max_length=100, description="Nome del preset")
description: str | None = Field(None, description="Descrizione opzionale")
can_read: bool = Field(True, description="Permesso lettura messaggi")
can_send: bool = Field(False, description="Permesso invio PEC")
can_manage: bool = Field(False, description="Permesso gestione casella")
can_conserve: bool = Field(False, description="Permesso conservazione documenti")
class PermissionPresetUpdate(BaseModel):
name: str | None = Field(None, min_length=1, max_length=100)
description: str | None = None
can_read: bool | None = None
can_send: bool | None = None
can_manage: bool | None = None
can_conserve: bool | None = None
class PermissionPresetResponse(BaseModel):
id: uuid.UUID
tenant_id: uuid.UUID
name: str
description: str | None
can_read: bool
can_send: bool
can_manage: bool
can_conserve: bool
created_by: uuid.UUID | None
created_at: datetime
updated_at: datetime
model_config = {"from_attributes": True}