1package admin
2
3import (
4 "context"
5
6 "tug/internal/storage"
7)
8
9func (s *Service) candidates(ctx context.Context, member []storage.Group) ([]string, error) {
10 all, err := s.store.ListGroups(ctx)
11 if err != nil {
12 return nil, failed("list groups", err)
13 }
14 in := map[string]bool{}
15 for _, g := range member {
16 in[g.ID] = true
17 }
18 var out []string
19 for _, g := range all {
20 if !in[g.ID] && g.Name != s.primaryGroup {
21 out = append(out, g.Name)
22 }
23 }
24 return out, nil
25}