···
ListSubscriptions(ctx context.Context, userDID string, limit, offset int) ([]*Subscription, error)
ListSubscribers(ctx context.Context, communityDID string, limit, offset int) ([]*Subscription, error)
30
+
BlockCommunity(ctx context.Context, block *CommunityBlock) (*CommunityBlock, error)
31
+
UnblockCommunity(ctx context.Context, userDID, communityDID string) error
32
+
GetBlock(ctx context.Context, userDID, communityDID string) (*CommunityBlock, error)
33
+
GetBlockByURI(ctx context.Context, recordURI string) (*CommunityBlock, error) // For Jetstream delete operations
34
+
ListBlockedCommunities(ctx context.Context, userDID string, limit, offset int) ([]*CommunityBlock, error)
35
+
IsBlocked(ctx context.Context, userDID, communityDID string) (bool, error)
// Memberships (active participation with reputation)
CreateMembership(ctx context.Context, membership *Membership) (*Membership, error)
GetMembership(ctx context.Context, userDID, communityDID string) (*Membership, error)
···
UnsubscribeFromCommunity(ctx context.Context, userDID, userAccessToken, communityIdentifier string) error
GetUserSubscriptions(ctx context.Context, userDID string, limit, offset int) ([]*Subscription, error)
GetCommunitySubscribers(ctx context.Context, communityIdentifier string, limit, offset int) ([]*Subscription, error)
71
+
// Block operations (write-forward: creates record in user's PDS)
72
+
BlockCommunity(ctx context.Context, userDID, userAccessToken, communityIdentifier string) (*CommunityBlock, error)
73
+
UnblockCommunity(ctx context.Context, userDID, userAccessToken, communityIdentifier string) error
74
+
GetBlockedCommunities(ctx context.Context, userDID string, limit, offset int) ([]*CommunityBlock, error)
75
+
IsBlocked(ctx context.Context, userDID, communityIdentifier string) (bool, error)
// Membership operations (indexed from firehose, reputation managed internally)
GetMembership(ctx context.Context, userDID, communityIdentifier string) (*Membership, error)