in pkg/attestation/import.go [149:186]
func deleteNoteOccurrences(ctx context.Context, nr utils.NoteResource, resourceURL string) error {
c, err := ca.NewClient(ctx)
if err != nil {
return errors.Wrap(err, "error creating client")
}
defer c.Close()
// Delete Notes
dr := &g.DeleteNoteRequest{
Name: nr.Name(),
}
_ = c.GetGrafeasClient().DeleteNote(ctx, dr)
// Delete Occurrences
req := &g.ListOccurrencesRequest{
Parent: nr.Project,
Filter: fmt.Sprintf("resource_url=\"https://%s\"", resourceURL),
PageSize: 1000,
}
it := c.GetGrafeasClient().ListOccurrences(ctx, req)
for {
resp, err := it.Next()
if errors.Is(err, iterator.Done) {
break
}
if err != nil {
return err
}
dr := &g.DeleteOccurrenceRequest{
Name: resp.Name,
}
_ = c.GetGrafeasClient().DeleteOccurrence(ctx, dr)
}
return nil
}