mirror-chatterino2/src/providers/twitch/TwitchUser.cpp
2018-06-26 16:37:59 +02:00

31 lines
692 B
C++

#include "providers/twitch/TwitchUser.hpp"
#include "util/RapidjsonHelpers.hpp"
namespace chatterino {
TwitchUser TwitchUser::fromJSON(const rapidjson::Value &value)
{
TwitchUser user;
if (!value.IsObject()) {
throw std::runtime_error("JSON value is not an object");
}
if (!rj::getSafe(value, "_id", user.id)) {
throw std::runtime_error("Missing ID key");
}
if (!rj::getSafe(value, "name", user.name)) {
throw std::runtime_error("Missing name key");
}
if (!rj::getSafe(value, "display_name", user.displayName)) {
throw std::runtime_error("Missing display name key");
}
return user;
}
} // namespace chatterino