feat: Community Patreon campaign association
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 2h 52m
- Merged PRs (30d)
- 85
Description
Context
Community owners need to designate which Patreon campaign their community corresponds to. This is separate from a user linking their own Patreon account — here the community owner authenticates as the creator so the platform can access the campaign's patron list on their behalf.
Acceptance Criteria
- Community Settings page has a "Patreon Integration" section
- Community owner clicks "Connect Patreon Campaign" → Patreon OAuth flow (as creator,
campaigns+campaigns.membersscopes) - On success, store
campaign_id, creatoraccess_token/refresh_token(encrypted) against the community - Community settings display linked campaign name, URL, and patron count
- Community owner can disconnect the campaign (tokens deleted, patron sync disabled)
- Disconnecting clears sponsor status for all members (or schedules a grace-period sweep — team decision)
- Optionally: surface a "Supported on Patreon" link/badge on the community public page
Technical Notes
- Patreon OAuth scopes needed:
campaigns(read campaign metadata),campaigns.members(read patron list with emails) - DB migration: add
patreon_campaign_id,patreon_creator_access_token(encrypted),patreon_creator_refresh_token(encrypted),patreon_token_expires_attocommunitiestable (or newcommunity_patreon_campaignstable if a community could have multiple) - Reuse
PATREON_CLIENT_ID/PATREON_CLIENT_SECRETfrom the user-linking issue, but this OAuth flow is performed as the creator role
Dependencies
- Shares Patreon OAuth infrastructure with user account linking issue (implement together or after)
Future Scope
Patreon tier metadata (tier names, amounts) should be synced here in a future pass to enable tier-gated features.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the community settings page, the communities schema, and the existing user Patreon OAuth infrastructure referenced in the issue. Map the creator OAuth flow, encrypted token storage, campaign and patron display, and disconnect behavior. Done means the acceptance criteria are implemented, with the grace-period decision resolved and the dependency available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication, backend, database, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100