T-HUB/apps/api/migrations
glass beadian 71db0a08b2 feat: media attachments backend + producer job intake (t1+t3)
Rich media (t1): media_assets (migration 038) + /media module — multipart
upload with magic-byte sniffing, size caps, auth-scoped serve with
ETag/same-origin; the publishing 'text only' gate lifted to accept
0..4 validated mediaAssetIds with optional positional altTexts.

Producer intake (t3): video_processing_jobs gains kind compose|mix +
input_json + produced_asset_id (migration 039), video_assets.derived_from;
POST /video/:id/produce validates overlays/voiceover strictly and queues
the job for the media-worker runner (landing separately).
2026-10-14 20:00:31 +00:00
..
001_tenants.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
002_rbac_seed.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
003_app_role.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
004_policy_nullif.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
005_epoch_fix.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
006_publishing.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
007_auth.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
008_groups.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
009_video.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
010_audit_hash_v2.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
012_live_sources.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
013_production.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
014_live_chat.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
015_archive.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
016_username_auth.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
017_invite_links.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
018_publishing_execution.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
019_publishing_integration.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
020_analytics.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
021_stream_columns.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
022_live_destinations.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
023_virtual_channel_import.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
024_chatgov.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
025_archive_search.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
025_chatgov_p2.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
026_columns_p1.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
027_intake.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
028_instance_settings.sql Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
029_group_files.sql Integrate group files: nullable room for uploads, archive class, claim idempotency, upload route 2026-10-11 10:09:24 +00:00
030_collectives.sql Collectives P1: participation landing (ES/EN), group tree, room provisioning APIs 2026-10-12 13:53:40 +00:00
031_personal_workspaces.sql P1 flow fix: register makes a solo user by default, collective creation is an opt-in flag, post-login menu for collective-less accounts 2026-10-12 16:19:08 +00:00
032_room_id_bare_form.sql 032: accept bare room IDs (tuwunel 1.9.4 mints and serves them without :server) 2026-10-12 23:10:59 +00:00
033_publish_governance.sql feat: per-connection publish governance — auto, 1-admin, majority, consensus 2026-10-14 08:04:56 +00:00
034_auth_sessions_oidc_refresh.sql feat: OIDC phase 2 — session-bound refresh tokens, server-side logout 2026-10-14 11:33:47 +00:00
035_submissions.sql feat: anonymous group submission boxes — public intake, CC licence, moderation 2026-10-14 13:32:00 +00:00
036_branding.sql feat: POST /auth/workspaces — create an additional collective from an existing account 2026-10-14 17:16:17 +00:00
037_chat_display.sql feat: POST /auth/workspaces — create an additional collective from an existing account 2026-10-14 17:16:17 +00:00
038_media_assets.sql feat: media attachments backend + producer job intake (t1+t3) 2026-10-14 20:00:31 +00:00
039_producer.sql feat: media attachments backend + producer job intake (t1+t3) 2026-10-14 20:00:31 +00:00