spark-server/internal/module/favorite/logic/purge.go
2026-09-20 17:49:09 +08:00

29 lines
535 B
Go

package logic
import (
"context"
"errors"
"spark-server/internal/pkg/errs"
)
func (s *Service) PurgeUser(ctx context.Context, userID int64) error {
if s == nil || s.repo == nil || userID <= 0 {
return nil
}
rows, err := s.repo.ListAllByUser(ctx, userID)
if err != nil {
return err
}
for _, row := range rows {
if row == nil {
continue
}
if err := s.repo.Delete(ctx, userID, row.ID); err != nil && !errors.Is(err, errs.ErrNotFound) {
return err
}
s.deleteFavoriteMedia(ctx, row.Content)
}
return nil
}