1package admin
2
3import (
4 "context"
5 "errors"
6
7 "tug/internal/storage"
8)
9
10func (s *Service) UnlinkGoogle(ctx context.Context, actor, id string) error {
11 if actor == id {
12 return ProblemSelf
13 }
14 _, _, err := s.store.UnlinkGoogleAudited(ctx, id, "", actor)
15 switch {
16 case err == nil:
17 return nil
18 case errors.Is(err, storage.ErrGoogleNotLinked):
19 return ProblemGoogleNotLinked
20 }
21 return target("unlink google account", err)
22}