in internal/subscriber/subscribe.go [209:227]
func (s *SubscriberService) handleDelete(inMetadata *model.Metadata) error {
// Check if metadata exists
existingMetadata, err := s.metadataRepo.Get(inMetadata.Bucket, inMetadata.Name)
if err != nil {
return err
}
// Skip if existing metadata is newer
if existingMetadata.Updated.After(inMetadata.Updated) {
return nil
}
if err := s.metadataRepo.Delete(inMetadata.Bucket, inMetadata.Name); err != nil {
return err
}
return s.directoryRepo.UpsertParentDirs(repo.StorageClass(inMetadata.StorageClass), inMetadata.Bucket,
inMetadata.Name, -inMetadata.Size, -1)
}