feat(enterprise-site): add WordPress support and scheduled auto-publish to sites
Add WordPress as an enterprise-site CMS type alongside pbootcms, and let schedule tasks auto-publish generated articles to enterprise sites. - WordPress connection/publisher service and tests; register wordpress media platform and relax cms_type CHECK constraint - New publish_enterprise_site_targets JSONB column on schedule_tasks with array type constraint; thread targets through scheduler dispatch, prompt/KOL generation, and worker - Admin UI: enterprise-site targets in generate/schedule/publish flows, KOL package form, MediaView, and i18n strings Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,22 +39,23 @@ type KolGenerationSubmitResponse struct {
|
||||
}
|
||||
|
||||
type ScheduleKolGenerationInput struct {
|
||||
ScheduleTaskID int64
|
||||
OperatorID *int64
|
||||
TenantID int64
|
||||
WorkspaceID int64
|
||||
BrandID *int64
|
||||
SubscriptionPromptID int64
|
||||
Name string
|
||||
Variables map[string]any
|
||||
EnableWebSearch bool
|
||||
KnowledgeGroupIDs []int64
|
||||
AutoPublish bool
|
||||
PublishAccountIDs []string
|
||||
CoverAssetURL *string
|
||||
CoverImageAssetID *int64
|
||||
GenerateCount int
|
||||
ScheduledFor time.Time
|
||||
ScheduleTaskID int64
|
||||
OperatorID *int64
|
||||
TenantID int64
|
||||
WorkspaceID int64
|
||||
BrandID *int64
|
||||
SubscriptionPromptID int64
|
||||
Name string
|
||||
Variables map[string]any
|
||||
EnableWebSearch bool
|
||||
KnowledgeGroupIDs []int64
|
||||
AutoPublish bool
|
||||
PublishAccountIDs []string
|
||||
PublishEnterpriseSiteTargets []ScheduleEnterpriseSiteTarget
|
||||
CoverAssetURL *string
|
||||
CoverImageAssetID *int64
|
||||
GenerateCount int
|
||||
ScheduledFor time.Time
|
||||
}
|
||||
|
||||
type KolSubscriptionPromptSchemaResponse struct {
|
||||
@@ -465,6 +466,7 @@ func attachKolScheduleTaskInput(input map[string]any, schedule ScheduleKolGenera
|
||||
if schedule.AutoPublish {
|
||||
input["schedule_auto_publish"] = true
|
||||
input["schedule_publish_account_ids"] = schedule.PublishAccountIDs
|
||||
input["schedule_publish_enterprise_site_targets"] = schedule.PublishEnterpriseSiteTargets
|
||||
if schedule.CoverAssetURL != nil {
|
||||
input["schedule_cover_asset_url"] = strings.TrimSpace(*schedule.CoverAssetURL)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user