Files
geo/server/migrations/20260430120000_add_schedule_auto_publish.up.sql
T
root 6e6e19cccb feat(schedule-tasks): support auto-publish via media accounts
Replace the legacy target_platform string on schedule tasks with a
workspace-aware auto-publish payload (auto_publish + publish_account_ids
JSONB + cover_asset_url + cover_image_asset_id) and migrate the schema,
sqlc queries, generated models, domain struct, ScheduleTaskService DTOs,
and dispatch worker to round-trip the new fields. PromptRuleGeneration
gains a WithPublishJobService hook so executeGeneration can enqueue an
auto-publish job once the article is ready, and worker-generate wires
the publish-job service in. On the admin-web side, extract
PublishArticleModal's account-card builders into a shared
publish-account-cards module, rebuild GenerateTaskDrawer's schedule
mode around account selection plus a CoverPickerModal, and surface the
new "auto publish" column on ScheduleTaskTab. Shared types and i18n
strings cover the new fields.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 01:32:19 +08:00

15 lines
589 B
SQL

ALTER TABLE schedule_tasks
ADD COLUMN workspace_id BIGINT REFERENCES workspaces(id),
ADD COLUMN auto_publish BOOLEAN NOT NULL DEFAULT FALSE,
ADD COLUMN publish_account_ids JSONB NOT NULL DEFAULT '[]'::jsonb,
ADD COLUMN cover_asset_url TEXT,
ADD COLUMN cover_image_asset_id BIGINT;
ALTER TABLE schedule_tasks
ADD CONSTRAINT chk_schedule_tasks_publish_account_ids_json
CHECK (jsonb_typeof(publish_account_ids) = 'array');
CREATE INDEX idx_schedule_task_workspace
ON schedule_tasks(tenant_id, workspace_id, created_at DESC)
WHERE deleted_at IS NULL;