if there is an error, "user" does not exist, and user.isAdmin will make node crash because it's accessing a property on `undefined`