Changeset af2cc73 in Klonkt for src/services/PostAccessService.js
- Timestamp:
- 08/18/2026 06:50:08 PM (3 weeks ago)
- Branches:
- main
- Children:
- d85b66f
- Parents:
- 9da8027
- git-author:
- Bart <bart@…> (08/18/2026 06:05:22 PM)
- git-committer:
- Bart <bart@…> (08/18/2026 06:50:08 PM)
- File:
-
- 1 edited
-
src/services/PostAccessService.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/PostAccessService.js
r9da8027 raf2cc73 44 44 * 45 45 * @param post de rij uit `posts` 46 * @param viewer { user, site, unlockedSlug } -- unlockedSlug is de slug uit 47 * een vers ?u=-bewijs van /paid/unlock, al geverifieerd door de 48 * aanroeper. Deze module doet geen crypto. 46 * @param viewer { user, site, unlockedSlug, isFollower } -- unlockedSlug is de 47 * slug uit een vers ?u=-bewijs van /paid/unlock, al geverifieerd 48 * door de aanroeper; isFollower komt uit OpenWebAuthService en 49 * zegt dat een bewezen fedi-actor deze site volgt. Deze module 50 * doet geen crypto en raakt de database niet aan: ophalen doet 51 * de aanroeper, beslissen doet deze. 49 52 */ 50 export function postAccess(post, { user = null, site = null, unlockedSlug = null } = {}) {53 export function postAccess(post, { user = null, site = null, unlockedSlug = null, isFollower = false } = {}) { 51 54 if (!post) return 'forbidden'; 52 55 … … 62 65 63 66 if (post.paid && String(unlockedSlug || '') !== String(post.slug)) return 'paid'; 64 if (post.fan_only && !user) return 'fan'; 67 // `fan_only` betekende altijd al "mijn volgers op de fediverse", maar de poort 68 // vroeg om een lokaal account -- de verkeerde vraag, die juist de mensen 69 // buitensloot voor wie hij openstond. `isFollower` is het antwoord op de 70 // ECHTE vraag: een bezoeker die via OpenWebAuth bewees @iemand@ergens te zijn 71 // en die deze site volgt. Wie dat bewijs levert, komt binnen. 72 // 73 // Het lokale account blijft er ook door, zoals het altijd deed: dat is een 74 // andere manier om te weten wie iemand is, niet een mindere. 75 if (post.fan_only && !user && !isFollower) return 'fan'; 65 76 return 'full'; 66 77 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)