multiple media upload and smartphone preview

This commit is contained in:
2026-02-11 23:21:43 +01:00
parent 64bf300677
commit 4bbaad0b4e
10 changed files with 1842 additions and 364 deletions

View File

@@ -0,0 +1,27 @@
-- Migration: Add multi-media support to generated_posts
-- Date: 2026-02-11
-- Description: Adds media_items JSONB array to support up to 3 images or 1 video per post
-- Add media_items column
ALTER TABLE generated_posts ADD COLUMN IF NOT EXISTS media_items JSONB DEFAULT '[]'::JSONB;
-- Add GIN index for performance on JSONB queries
CREATE INDEX IF NOT EXISTS idx_generated_posts_media_items ON generated_posts USING GIN (media_items);
-- Migrate existing image_url to media_items array
UPDATE generated_posts
SET media_items = jsonb_build_array(
jsonb_build_object(
'type', 'image',
'url', image_url,
'order', 0,
'content_type', 'image/jpeg',
'uploaded_at', NOW()
)
)
WHERE image_url IS NOT NULL AND media_items = '[]'::JSONB;
-- Note: image_url column is kept for backward compatibility
-- New code should use media_items, but existing code still works
COMMENT ON COLUMN generated_posts.media_items IS 'JSONB array of media items (images/videos). Max 3 items. Structure: [{type, url, order, content_type, uploaded_at, metadata}]';