креативы

This commit is contained in:
Artem Tsyrulnikov
2026-01-03 16:11:05 +03:00
parent 841a8b5aaa
commit c04faf8132
15 changed files with 597 additions and 59 deletions

View File

@@ -22,6 +22,7 @@ __all__ = (
'GetPurchasesInput',
'GetPurchasesOutput',
'GetPurchaseInput',
'CreativeButton',
'CreativeOutput',
'GetCreativesInput',
'GetCreativesOutput',
@@ -95,6 +96,7 @@ from .channel import (
)
from .creative import (
CreateCreativeInput,
CreativeButton,
CreativeOutput,
DeleteCreativeInput,
GetCreativeInput,

View File

@@ -6,10 +6,18 @@ import pydantic
from src import domain
class CreativeButton(pydantic.BaseModel):
text: str
url: str
class CreativeOutput(pydantic.BaseModel):
id: uuid.UUID
name: str
text: str
media_type: str | None
media_file_id: str | None
buttons: list[CreativeButton]
project_id: uuid.UUID
project_channel_title: str
created_at: datetime.datetime
@@ -37,11 +45,19 @@ class GetCreativeInput(pydantic.BaseModel):
class CreateCreativeInput(pydantic.BaseModel):
name: str
text: str
media_type: str | None = None
media_file_id: str | None = None
media_data: bytes | None = None
buttons: list[CreativeButton] = pydantic.Field(default_factory=list)
class UpdateCreativeInput(pydantic.BaseModel):
name: str | None = None
text: str | None = None
media_type: str | None = None
media_file_id: str | None = None
media_data: bytes | None = None
buttons: list[CreativeButton] | None = None
status: domain.CreativeStatus | None = None