1
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class FasePaqueteInput(BaseModel):
|
||||
nombre: str = Field(..., min_length=1)
|
||||
orden: int = Field(0, ge=0)
|
||||
|
||||
|
||||
class PaqueteCreate(BaseModel):
|
||||
nombre: str = Field(..., min_length=1, description="Nombre del paquete")
|
||||
descripcion: str | None = None
|
||||
fases: list[FasePaqueteInput] = Field(default_factory=list)
|
||||
|
||||
|
||||
class PaqueteUpdate(BaseModel):
|
||||
nombre: str | None = Field(None, min_length=1)
|
||||
descripcion: str | None = None
|
||||
activo: bool | None = None
|
||||
|
||||
|
||||
class ManageAction(BaseModel):
|
||||
action: str = Field(..., description="Acción: addFase, updateFase, deleteFase, addServicio, removeServicio")
|
||||
faseId: str | None = None
|
||||
nombre: str | None = None
|
||||
orden: int | None = None
|
||||
servicioCatalogoId: str | None = None
|
||||
fasePaqueteId: str | None = None
|
||||
|
||||
|
||||
class FasePaqueteResponse(BaseModel):
|
||||
id: str
|
||||
paqueteId: str
|
||||
nombre: str
|
||||
orden: int
|
||||
createdAt: datetime
|
||||
updatedAt: datetime
|
||||
servicios: list[dict] | None = None
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class PaqueteResponse(BaseModel):
|
||||
id: str
|
||||
nombre: str
|
||||
descripcion: str | None
|
||||
activo: bool
|
||||
createdAt: datetime
|
||||
updatedAt: datetime
|
||||
fases: list[FasePaqueteResponse] | None = None
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
Reference in New Issue
Block a user