magpie/app/services
Alan Weinstock dfdde692b8 feat(engagement): poll Reddit post metrics after posting (#6)
- Add RedditClient.fetch_stats() — fetches score/upvotes/comments/awards via by_id API
- Add Store.list_posts_needing_poll() — selects successful Reddit posts not checked within recheck window
- Add Store.list_posts() LEFT JOIN latest engagement snapshot (avoids N+1 on frontend)
- Add app/services/engagement.py — poll_recent_posts() async service with unauthenticated fallback
- Register hourly engagement poll job in APScheduler at startup
- Add POST /posts/poll-engagement for manual triggers
- Update Post interface with engagement fields (score, comment_count, awards, engagement_checked_at)
- Add Score/Comments columns and poll button to PostsView

Closes: #6
2026-06-13 22:02:07 -07:00
..
lemmy feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00
platforms feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00
reddit feat(engagement): poll Reddit post metrics after posting (#6) 2026-06-13 22:02:07 -07:00
__init__.py feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
directus.py feat: add Directus blog post publisher and MCP tool 2026-04-26 14:14:35 -07:00
engagement.py feat(engagement): poll Reddit post metrics after posting (#6) 2026-06-13 22:02:07 -07:00
poster.py feat: link_url variants, team accounts, session layout, menagerie route (#18 #19) 2026-05-27 15:31:58 -07:00
scheduler.py feat(engagement): poll Reddit post metrics after posting (#6) 2026-06-13 22:02:07 -07:00
scraper.py feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00