36 lines
978 B
Python
36 lines
978 B
Python
from pydantic import BaseModel, Field, PositiveInt
|
|
|
|
|
|
class PictureAsset(BaseModel):
|
|
id: str = Field(min_length=1)
|
|
name: str = Field(min_length=1)
|
|
image_path: str = Field(min_length=1)
|
|
|
|
|
|
class PictureContainer(BaseModel):
|
|
position: PositiveInt
|
|
quantity: PositiveInt
|
|
picture: PictureAsset
|
|
|
|
|
|
class NumberCard(BaseModel):
|
|
position: PositiveInt
|
|
value: PositiveInt
|
|
shows_blocks: bool = True
|
|
has_answer_box: bool = True
|
|
|
|
|
|
class JoinPicturesWithQuantityProblem(BaseModel):
|
|
instructions: str = "Cuenta las imágenes y une cada grupo con el número correcto."
|
|
left_containers: list[PictureContainer]
|
|
number_cards: list[NumberCard]
|
|
right_containers: list[PictureContainer]
|
|
|
|
|
|
class JoinPicturesWithQuantityRequest(BaseModel):
|
|
available_pictures: list[PictureAsset] = Field(min_length=1)
|
|
container_count_per_side: PositiveInt = 5
|
|
min_quantity: PositiveInt = 1
|
|
max_quantity: PositiveInt = 10
|
|
seed: int | None = None
|