fix: set creative_id nullable in placement creation
This commit is contained in:
@@ -90,17 +90,20 @@ async def create_placements(
|
|||||||
or (details.creative_id if details and details.creative_id else None)
|
or (details.creative_id if details and details.creative_id else None)
|
||||||
or input.creative_id
|
or input.creative_id
|
||||||
)
|
)
|
||||||
if not creative_id:
|
|
||||||
raise domain.CreativeNotFound()
|
# Если creative_id передан, ищем и валидируем креатив
|
||||||
|
creative: domain.Creative | None = None
|
||||||
|
if creative_id:
|
||||||
creative = creatives_by_id.get(creative_id)
|
creative = creatives_by_id.get(creative_id)
|
||||||
if not creative:
|
if not creative:
|
||||||
creative = await self.database.get_creative(workspace_id, creative_id)
|
creative = await self.database.get_creative(workspace_id, creative_id)
|
||||||
if not creative or creative.project_id != project.id:
|
if not creative or creative.project_id != project.id:
|
||||||
raise domain.CreativeNotFound(creative_id)
|
raise domain.CreativeNotFound(creative_id)
|
||||||
creatives_by_id[creative_id] = creative
|
creatives_by_id[creative_id] = creative
|
||||||
|
|
||||||
placement = domain.Placement(
|
placement = domain.Placement(
|
||||||
project_id=project.id,
|
project_id=project.id,
|
||||||
creative_id=creative.id,
|
creative_id=creative.id if creative else None,
|
||||||
channel_id=channel.id,
|
channel_id=channel.id,
|
||||||
invite_link=None,
|
invite_link=None,
|
||||||
invite_link_type=invite_link_type,
|
invite_link_type=invite_link_type,
|
||||||
|
|||||||
Reference in New Issue
Block a user