Skip to content

Sundayjob996 - #74

Merged
aji70 merged 3 commits into
MyFanss:mainfrom
sundayjob996:sundayjob996
Jul 29, 2026
Merged

Sundayjob996#74
aji70 merged 3 commits into
MyFanss:mainfrom
sundayjob996:sundayjob996

Conversation

@sundayjob996

Copy link
Copy Markdown
Contributor

closes #58

Implemented the core Fan Feed API with efficient cursor-based pagination and strict content visibility rules.

What was implemented

  • Added GET /api/v1/feed/subscriptions endpoint for authenticated fans.
  • Implemented cursor-based pagination with { data, nextCursor, hasMore } response format.
  • Added support for all, media, and text filters.
  • Enforced default and maximum page limits.
  • Returned posts only from active subscriptions.
  • Enforced visibility rules to include only public and subscribers posts accessible to the fan.
  • Excluded soft-deleted and unpublished posts.
  • Implemented stable ordering using publishedAt DESC, id DESC.
  • Used opaque Base64-encoded cursors ({ publishedAt, id }) for pagination.
  • Optimized query strategy to scale efficiently with large subscription lists, avoiding inefficient IN (...) queries.

sundayjob996 and others added 3 commits July 30, 2026 00:35
GET /api/v1/feed/subscriptions returns an aggregated, cursor-paginated
timeline of posts from a fan's actively-subscribed creators. Scoped via an
INNER JOIN against subscriptions (not a creatorId IN-list) so the query
plan stays index-driven regardless of how many creators a fan follows;
supports all/media/text filtering, opaque base64 cursors with stable
publishedAt+id ordering, and rejects malformed cursors as 400
VALIDATION_ERROR. Adds a feed-specific posts index, docs/feed.md, and unit
+ e2e test coverage.
GdprService referenced AuditAction.GDPR_DATA_EXPORTED and
USER_SELF_DELETED, which didn't exist on the enum — this broke
`npm run build` on main independent of the feed work, which would
have kept CI red regardless of the feed feature's correctness.
@aji70
aji70 merged commit 7b2cd80 into MyFanss:main Jul 29, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fan Subscription Feed API — Cursor, Visibility, Scale Path (Hard)

2 participants