Skip to main content

RevocationReasons

Encodes the sentinel values written to benecaster_tokens.revocation_reason, and answers the one question the token lifecycle needs from them: may a later subscription activation event bring this token back?

The distinction is between a token that lapsed and one a podcaster removed. Automated pathways are recoverable — a subscriber whose bridge subscription ended and who then resubscribes should simply get their feed back. An admin revoke is not: a membership plugin must never be able to undo a podcaster’s deliberate decision, and before this class existed it could.

When reactivation is refused, TokenManager::generate_or_reactivate() fires benecaster_token_reactivation_blocked instead of benecaster_token_reactivated.