T-HUB/apps/api/migrations
hacklab 8f01765df3 feat: adapt T-HUB features — folders schema, Instagram connector, outreach contacts, media RLS force
From the hacklab/T-HUB fork (diverged at a6843e9):
- 046_file_folders: folder trees (group + personal scope, RLS forced,
  workspace-immutability trigger) + created_by on chat_media_archive
- Instagram connector wired into connect + publishing
- outreach contacts: per-collective DM tracking (todo/sent/replied/declined),
  RLS forced, role-scoped permissions, audit without message text,
  migration renumbered 041→047
- FORCE row-level security on media_assets
The J1 api agent's folder service/controller work continues separately.
2026-10-18 10:40:45 +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
040_produce_claim.sql fix: produce worker claim — SECURITY DEFINER fn fixes 08P01 poll crash + stale-lease reclaim (040) 2026-10-14 21:55:41 +00:00
041_archive_storage_key.sql feat: Files payloads move from oCIS WebDAV to R2 object storage 2026-10-15 22:11:07 +00:00
042_media_assets_rls.sql chore(db): force row-level security on media_assets 2026-10-18 10:35:33 +00:00
042_probe_jobs_claimable.sql feat: video direct-to-R2 ingest — browser seals, worker probes off R2 2026-10-16 10:52:47 +00:00
043_edl_projects.sql feat: editor-v2 S1 — EDL schema, strict validation, /video/edl API, edl_projects store 2026-10-16 21:22:00 +00:00
044_assemble_claim.sql feat: editor-v2 assemble lane — multi-clip/card timeline rendering in the worker 2026-10-16 21:12:55 +00:00
045_file_delete_setting.sql fix: logic-audit P0/P1 wave — CORS PUT, chunked cap, presign checksums, logout await, refresh rotation race 2026-10-18 10:18:02 +00:00
046_file_folders.sql fix: logic-audit P0/P1 wave — CORS PUT, chunked cap, presign checksums, logout await, refresh rotation race 2026-10-18 10:18:02 +00:00
047_outreach.sql feat: adapt T-HUB features — folders schema, Instagram connector, outreach contacts, media RLS force 2026-10-18 10:40:45 +00:00