in code/app/storage.go [122:144]
func (cs CloudStorage) Delete(id string) error {
bucket := cs.Client.Bucket(cs.Bucket)
query := &storage.Query{Prefix: fmt.Sprintf("processed/%s/", id)}
it := bucket.Objects(cs.ctx, query)
for {
i, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
return fmt.Errorf("error iterating over bucket query: %s", err)
}
obj := cs.Client.Bucket(cs.Bucket).Object(i.Name)
if err := obj.Delete(cs.ctx); err != nil {
return fmt.Errorf("error deleting %s: %s", i.Name, err)
}
}
return nil
}