magpie/app/services/reddit
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
..
__init__.py feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
client.py feat(engagement): poll Reddit post metrics after posting (#6) 2026-06-13 22:02:07 -07:00
post.py feat: opportunities UI improvements, MCP tools, session refresh, migrations 013-014 2026-04-27 07:49:34 -07:00
session.py fix(session): pass REDDIT_SESSION_FILE env to post.py subprocess; fix status check path 2026-06-01 15:37:35 -07:00