47 lines
907 B
Python
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
|