fix(hosting): POC builder works with existing sites

The Build POC button on site detail now passes site_id to the POC
builder, which populates the existing site's store with CMS content
instead of trying to create a new site (which failed with duplicate
slug error).

- poc_builder_service.build_poc() accepts optional site_id param
- If site_id given: uses existing site, skips hosted_site_service.create()
- If not given: creates new site (standalone POC build)
- API schema: added site_id to BuildPocRequest
- Frontend: passes this.site.id in the build request

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 18:10:39 +02:00
parent 2a49e3d30f
commit 83af32eb88
3 changed files with 21 additions and 12 deletions

View File

@@ -75,6 +75,7 @@ class BuildPocRequest(BaseModel):
prospect_id: int
template_id: str
merchant_id: int | None = None
site_id: int | None = None # If set, populate existing site instead of creating new one
class BuildPocResponse(BaseModel):
@@ -100,6 +101,7 @@ def build_poc(
prospect_id=data.prospect_id,
template_id=data.template_id,
merchant_id=data.merchant_id,
site_id=data.site_id,
)
db.commit()
return BuildPocResponse(**result)