This repository has no description
1package spindle
2
3import (
4 "context"
5
6 "github.com/bluesky-social/indigo/atproto/syntax"
7)
8
9func (s *Spindle) AllowMember(ctx context.Context, did syntax.DID) error {
10 if err := s.db.UpsertMember(ctx, did, false); err != nil {
11 return err
12 }
13 s.jc.AddDid(did.String())
14 // tap is best-effort: jetstream carries sh.tangled.repo too, and onConnect re-declares
15 if err := s.tap.tap.AddRepos(ctx, []syntax.DID{did}); err != nil {
16 s.l.Warn("tap: failed to add member did", "did", did, "err", err)
17 }
18 return nil
19}
20
21func (s *Spindle) BlockMember(ctx context.Context, did syntax.DID) error {
22 if err := s.db.UpsertMember(ctx, did, true); err != nil {
23 return err
24 }
25 s.jc.RemoveDid(did.String())
26 if err := s.tap.tap.RemoveRepos(ctx, []syntax.DID{did}); err != nil {
27 s.l.Warn("tap: failed to remove member did", "did", did, "err", err)
28 }
29 return nil
30}