I am so sorry this happened Suzanne.
I'll say what everyone else won't, and it pains me to do so, but here goes: You need to find Oli a new home. This was a serious attack, and your first priority is to your human son. If it was "resource guarding" or not, it's aggression, and that's always hard to resolve. And while you're making this attempt, consider how life would look, with you always being on guard yourself and worried, and kiddo confronted with the object of his trauma.
I am really sorry, but some dogs don't like small kids, and when stuff like this happens, it's usually best to find them anew home ASAP.