api-admim/app/schemas/papel_shemas.py

47 lines
907 B
Python

# Importações de bibliotecas padrão
from datetime import datetime
from typing import Optional, List
from uuid import UUID as UuidType
# Importações de bibliotecas de terceiros
from pydantic import BaseModel, ConfigDict
# Importações do seu próprio projeto
from .utils import UuidMixinSchema, TimestampMixinSchema, UuidsMixinSchema
class PermissaoModel(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
class Create(BaseModel):
model_config = ConfigDict(from_attributes=True)
nome: str
permissoes: List[PermissaoModel]
class Request(Create):
permissoes: List[PermissaoModel]
class UpdateSchema(BaseModel):
nome: Optional[str] = None
class IdRequest(UuidMixinSchema):
pass
class IdsRequest(UuidsMixinSchema):
pass
class UpdateRequest(UpdateSchema, IdRequest):
pass
class UpdateManyRequest(UpdateSchema, IdRequest):
pass