88c37e50b2
Introduce a new enterprise-site publishing channel that lets tenants push articles to self-hosted PbootCMS sites alongside the existing media supply flow. Backend (server/internal/tenant): - enterprise_site_service: CRUD, ping, category sync, and article publish - enterprise_site_pbootcms: PbootCMS API client integration - enterprise_site_crypto: encrypt/decrypt stored site credentials - enterprise_site_handler + routes under /enterprise-sites - migrations for the enterprise site publisher tables - config: add SERVER_PUBLIC_BASE_URL (Server.PublicBaseURL) for callbacks - article/media services adjusted to support the publish flow Frontend (apps/admin-web): - PublishArticleModal & ArticlePublishStatus: enterprise-site publish UI - MediaView: manage enterprise sites and categories - api + shared-types: enterprise site endpoints and types - http-client: add PATCH method support Integrations: - pbootcms GeoPublisher controller plugin + install guide - docs/enterprise-site-publisher-v1.md design doc
21 lines
676 B
SQL
21 lines
676 B
SQL
DROP INDEX IF EXISTS idx_publish_records_enterprise_site_active;
|
|
DROP INDEX IF EXISTS uk_publish_records_batch_enterprise_site;
|
|
|
|
DELETE FROM publish_records
|
|
WHERE target_type = 'enterprise_site';
|
|
|
|
ALTER TABLE publish_records
|
|
DROP CONSTRAINT IF EXISTS ck_publish_records_target_ref,
|
|
DROP CONSTRAINT IF EXISTS ck_publish_records_target_type,
|
|
DROP COLUMN IF EXISTS target_connection_id,
|
|
DROP COLUMN IF EXISTS target_type;
|
|
|
|
ALTER TABLE publish_records
|
|
ALTER COLUMN platform_account_id SET NOT NULL;
|
|
|
|
DELETE FROM media_platforms
|
|
WHERE platform_id = 'pbootcms';
|
|
|
|
DROP TABLE IF EXISTS enterprise_site_categories;
|
|
DROP TABLE IF EXISTS enterprise_site_connections;
|