Files
rentman-clone/backend/app/schemas/role.py
T

32 lines
779 B
Python
Raw Normal View History

"""Pydantic schemas for role management."""
from pydantic import BaseModel, Field
class RoleCreateRequest(BaseModel):
"""Request body for creating a new role."""
name: str = Field(..., min_length=2, max_length=100)
description: str | None = None
permissions: list[str] = Field(default_factory=list)
class RoleUpdateRequest(BaseModel):
"""Request body for updating an existing role."""
name: str | None = Field(None, min_length=2, max_length=100)
description: str | None = None
permissions: list[str] | None = None
class RoleResponse(BaseModel):
"""Public role representation."""
id: str
account_id: str
name: str
description: str | None = None
permissions: list[str]
model_config = {"from_attributes": True}