Update User and UserRepository to match interface and serialise all properties