func ExecuteMediaDeletion(media entity.Media, mediaManager *media.Manager, db *sql.DB) (int, error) { count, err := repository.CountMediaUsageById(db, media.Filename) if err != nil { return 0, err } else if count < 1 { return 0, nil } // We only want to delete the file from storage if we are to delete the last link to it if count == 1 { filename, extension := splitFilename(media.Filename) mediaManager.Delete(filename, extension) } _, err = repository.DeleteMedium(db, media.Id) if err != nil { return 0, err } return 0, nil }