magpie/app/db/migrations
Alan Weinstock e9b4cdd88e feat: link_url variants, team accounts, session layout, menagerie route (#18 #19)
#19 — link_url on campaign variants (migration 019)
- ADD COLUMN link_url TEXT on campaign_variants
- create_variant, upsert_variant, update_variant all carry link_url
- RedditClient.post() supports kind=link when link_url set + body empty
- RedditPostStrategy passes link_url from extra dict
- poster.py merges link_url from variant into extra (same as slug/tags)
- API VariantCreate/VariantUpdate schemas include link_url
- CampaignDetail: link_url field in Add Variant form with copy button;
  link_url shown in variant list with clickable link + copy button
- Variant button disabled if neither body nor link_url is set

#18 — Multi-user team accounts (migrations 020-022)
- 020: team_accounts table (display_name, platform, username, session_file)
- 021: opportunities.assigned_to + post_as FK → team_accounts
- 022: posts.posted_by_account_id FK → team_accounts
- Store: list/get/get_by_username/create_team_account, assign_opportunity
- API: GET/POST /api/v1/team; POST /api/v1/team/{id}/assign
- config.py: sessions_dir added; reddit_session_file now points to
  sessions/alan_reddit.json (backward compat path kept)
- scripts/migrate_sessions.py: one-shot move session.json →
  sessions/alan_reddit.json + creates placeholder files for future accounts
- manage.sh: build (VITE_BASE_URL=/magpie/ npm build), serve (static),
  migrate-sessions subcommands added; login updated to new session path
- Caddy: @magpie_no_session gate + handle /magpie/api* and /magpie*
  blocks added to menagerie.circuitforge.tech site block
2026-05-27 15:31:58 -07:00
..
001_campaigns.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
002_campaign_variants.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
003_campaign_subs.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
004_posts.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
005_sub_rules.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
006_engagement.sql feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
007_opportunities.sql feat(#9): opportunities queue — manual posting workflow UI and API 2026-04-21 16:51:34 -07:00
010_signal_rules.sql feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00
011_signals.sql feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00
012_signal_scrape_state.sql feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00
013_sub_rules_post_url.sql feat: opportunities UI improvements, MCP tools, session refresh, migrations 013-014 2026-04-27 07:49:34 -07:00
014_posts_opportunity_link.sql feat: opportunities UI improvements, MCP tools, session refresh, migrations 013-014 2026-04-27 07:49:34 -07:00
015_campaign_type.sql feat: add type column to campaigns (default reddit_post) 2026-04-27 07:53:54 -07:00
016_campaign_subs_comment_config.sql feat: add comment config columns to campaign_subs (thread_title_pattern, thread_url_override, occurrence) 2026-04-27 10:43:05 -07:00
017_posts_campaign_nullable.sql feat(db): migration 017 — make campaign_id nullable on posts for manual opportunity posts 2026-05-06 08:52:33 -07:00
017_variant_blog_fields.sql feat: add slug, tags, seo_description columns to campaign_variants for blog posts 2026-04-27 14:50:18 -07:00
018_campaign_subs_max_posts.sql feat(dupe-guard): add max_posts per-sub cap to prevent one-shot intro campaigns from re-posting 2026-05-06 08:52:21 -07:00
019_variant_link_url.sql feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00
020_team_accounts.sql feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00
021_opportunities_assignment.sql feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00
022_posts_account_tracking.sql feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00