refactor(eventsub): enforce static error categories (#5903)

This commit is contained in:
nerix
2025-02-07 16:37:53 +01:00
committed by GitHub
parent 9260e72a0b
commit f37676fe1c
20 changed files with 374 additions and 1049 deletions
@@ -1,6 +1,6 @@
// WARNING: This file is automatically generated. Any changes will be lost.
#include "twitch-eventsub-ws/chrono.hpp" // IWYU pragma: keep
#include "twitch-eventsub-ws/errors.hpp"
#include "twitch-eventsub-ws/detail/errors.hpp"
#include "twitch-eventsub-ws/payloads/channel-moderate-v2.hpp"
#include <boost/json.hpp>
@@ -12,9 +12,7 @@ boost::json::result_for<Action, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_string())
{
static const error::ApplicationErrorCategory errorMustBeString{
"Action must be a string"};
return boost::system::error_code{129, errorMustBeString};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedString);
}
std::string_view eString(jvRoot.get_string());
@@ -156,9 +154,7 @@ boost::json::result_for<Action, boost::json::value>::type tag_invoke(
return Action::SharedChatDelete;
}
static const error::ApplicationErrorCategory errorEnumNameDidNotExist{
"Action did not have a constant that matched this string"};
return boost::system::error_code{129, errorEnumNameDidNotExist};
EVENTSUB_BAIL_HERE(error::Kind::UnknownEnumValue);
}
boost::json::result_for<Followers, boost::json::value>::type tag_invoke(
@@ -166,9 +162,7 @@ boost::json::result_for<Followers, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Followers must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
@@ -176,11 +170,7 @@ boost::json::result_for<Followers, boost::json::value>::type tag_invoke(
root.if_contains("follow_duration_minutes");
if (jvfollowDurationMinutes == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_followDurationMinutes{
"Missing required key follow_duration_minutes"};
return boost::system::error_code{
129, error_missing_field_followDurationMinutes};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto followDurationMinutes =
@@ -201,20 +191,14 @@ boost::json::result_for<Slow, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Slow must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvwaitTimeSeconds = root.if_contains("wait_time_seconds");
if (jvwaitTimeSeconds == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_waitTimeSeconds{
"Missing required key wait_time_seconds"};
return boost::system::error_code{129,
error_missing_field_waitTimeSeconds};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto waitTimeSeconds = boost::json::try_value_to<int>(*jvwaitTimeSeconds);
@@ -234,18 +218,14 @@ boost::json::result_for<Vip, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Vip must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<String>(*jvuserID);
@@ -258,9 +238,7 @@ boost::json::result_for<Vip, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<String>(*jvuserLogin);
@@ -273,9 +251,7 @@ boost::json::result_for<Vip, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<String>(*jvuserName);
@@ -297,18 +273,14 @@ boost::json::result_for<Unvip, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Unvip must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<String>(*jvuserID);
@@ -321,9 +293,7 @@ boost::json::result_for<Unvip, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<String>(*jvuserLogin);
@@ -336,9 +306,7 @@ boost::json::result_for<Unvip, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<String>(*jvuserName);
@@ -360,18 +328,14 @@ boost::json::result_for<Mod, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Mod must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -384,9 +348,7 @@ boost::json::result_for<Mod, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -399,9 +361,7 @@ boost::json::result_for<Mod, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -423,18 +383,14 @@ boost::json::result_for<Unmod, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Unmod must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -447,9 +403,7 @@ boost::json::result_for<Unmod, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -462,9 +416,7 @@ boost::json::result_for<Unmod, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -486,18 +438,14 @@ boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Ban must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -510,9 +458,7 @@ boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -525,9 +471,7 @@ boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -540,9 +484,7 @@ boost::json::result_for<Ban, boost::json::value>::type tag_invoke(
const auto *jvreason = root.if_contains("reason");
if (jvreason == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_reason{
"Missing required key reason"};
return boost::system::error_code{129, error_missing_field_reason};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto reason = boost::json::try_value_to<std::string>(*jvreason);
@@ -565,18 +507,14 @@ boost::json::result_for<Unban, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Unban must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -589,9 +527,7 @@ boost::json::result_for<Unban, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -604,9 +540,7 @@ boost::json::result_for<Unban, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -628,18 +562,14 @@ boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Timeout must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -652,9 +582,7 @@ boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -667,9 +595,7 @@ boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -682,9 +608,7 @@ boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
const auto *jvreason = root.if_contains("reason");
if (jvreason == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_reason{
"Missing required key reason"};
return boost::system::error_code{129, error_missing_field_reason};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto reason = boost::json::try_value_to<std::string>(*jvreason);
@@ -697,9 +621,7 @@ boost::json::result_for<Timeout, boost::json::value>::type tag_invoke(
const auto *jvexpiresAt = root.if_contains("expires_at");
if (jvexpiresAt == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_expiresAt{"Missing required key expires_at"};
return boost::system::error_code{129, error_missing_field_expiresAt};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto expiresAt = boost::json::try_value_to<std::string>(*jvexpiresAt);
@@ -723,18 +645,14 @@ boost::json::result_for<Untimeout, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Untimeout must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -747,9 +665,7 @@ boost::json::result_for<Untimeout, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -762,9 +678,7 @@ boost::json::result_for<Untimeout, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -786,18 +700,14 @@ boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Raid must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -810,9 +720,7 @@ boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -825,9 +733,7 @@ boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -840,10 +746,7 @@ boost::json::result_for<Raid, boost::json::value>::type tag_invoke(
const auto *jvviewerCount = root.if_contains("viewer_count");
if (jvviewerCount == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_viewerCount{
"Missing required key viewer_count"};
return boost::system::error_code{129, error_missing_field_viewerCount};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto viewerCount = boost::json::try_value_to<int>(*jvviewerCount);
@@ -866,18 +769,14 @@ boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Unraid must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -890,9 +789,7 @@ boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -905,9 +802,7 @@ boost::json::result_for<Unraid, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -929,18 +824,14 @@ boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Delete must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -953,9 +844,7 @@ boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -968,9 +857,7 @@ boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -983,9 +870,7 @@ boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
const auto *jvmessageID = root.if_contains("message_id");
if (jvmessageID == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_messageID{"Missing required key message_id"};
return boost::system::error_code{129, error_missing_field_messageID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto messageID = boost::json::try_value_to<std::string>(*jvmessageID);
@@ -998,10 +883,7 @@ boost::json::result_for<Delete, boost::json::value>::type tag_invoke(
const auto *jvmessageBody = root.if_contains("message_body");
if (jvmessageBody == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_messageBody{
"Missing required key message_body"};
return boost::system::error_code{129, error_missing_field_messageBody};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto messageBody = boost::json::try_value_to<std::string>(*jvmessageBody);
@@ -1026,18 +908,14 @@ boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"AutomodTerms must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvaction = root.if_contains("action");
if (jvaction == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_action{
"Missing required key action"};
return boost::system::error_code{129, error_missing_field_action};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto action = boost::json::try_value_to<std::string>(*jvaction);
@@ -1050,9 +928,7 @@ boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
const auto *jvlist = root.if_contains("list");
if (jvlist == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_list{
"Missing required key list"};
return boost::system::error_code{129, error_missing_field_list};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto list = boost::json::try_value_to<std::string>(*jvlist);
@@ -1065,9 +941,7 @@ boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
const auto *jvterms = root.if_contains("terms");
if (jvterms == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_terms{
"Missing required key terms"};
return boost::system::error_code{129, error_missing_field_terms};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
const auto terms =
boost::json::try_value_to<std::vector<std::string>>(*jvterms);
@@ -1079,10 +953,7 @@ boost::json::result_for<AutomodTerms, boost::json::value>::type tag_invoke(
const auto *jvfromAutomod = root.if_contains("from_automod");
if (jvfromAutomod == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_fromAutomod{
"Missing required key from_automod"};
return boost::system::error_code{129, error_missing_field_fromAutomod};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto fromAutomod = boost::json::try_value_to<bool>(*jvfromAutomod);
@@ -1106,18 +977,14 @@ boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"UnbanRequest must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvisApproved = root.if_contains("is_approved");
if (jvisApproved == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_isApproved{"Missing required key is_approved"};
return boost::system::error_code{129, error_missing_field_isApproved};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto isApproved = boost::json::try_value_to<bool>(*jvisApproved);
@@ -1130,9 +997,7 @@ boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -1145,9 +1010,7 @@ boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -1160,9 +1023,7 @@ boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -1175,11 +1036,7 @@ boost::json::result_for<UnbanRequest, boost::json::value>::type tag_invoke(
const auto *jvmoderatorMessage = root.if_contains("moderator_message");
if (jvmoderatorMessage == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_moderatorMessage{
"Missing required key moderator_message"};
return boost::system::error_code{129,
error_missing_field_moderatorMessage};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto moderatorMessage =
@@ -1204,18 +1061,14 @@ boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Warn must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvuserID = root.if_contains("user_id");
if (jvuserID == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_userID{
"Missing required key user_id"};
return boost::system::error_code{129, error_missing_field_userID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userID = boost::json::try_value_to<std::string>(*jvuserID);
@@ -1228,9 +1081,7 @@ boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
const auto *jvuserLogin = root.if_contains("user_login");
if (jvuserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userLogin{"Missing required key user_login"};
return boost::system::error_code{129, error_missing_field_userLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userLogin = boost::json::try_value_to<std::string>(*jvuserLogin);
@@ -1243,9 +1094,7 @@ boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
const auto *jvuserName = root.if_contains("user_name");
if (jvuserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_userName{"Missing required key user_name"};
return boost::system::error_code{129, error_missing_field_userName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto userName = boost::json::try_value_to<std::string>(*jvuserName);
@@ -1258,9 +1107,7 @@ boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
const auto *jvreason = root.if_contains("reason");
if (jvreason == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_reason{
"Missing required key reason"};
return boost::system::error_code{129, error_missing_field_reason};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto reason = boost::json::try_value_to<std::string>(*jvreason);
@@ -1273,11 +1120,7 @@ boost::json::result_for<Warn, boost::json::value>::type tag_invoke(
const auto *jvchatRulesCited = root.if_contains("chat_rules_cited");
if (jvchatRulesCited == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_chatRulesCited{
"Missing required key chat_rules_cited"};
return boost::system::error_code{129,
error_missing_field_chatRulesCited};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
const auto chatRulesCited =
boost::json::try_value_to<std::vector<std::string>>(*jvchatRulesCited);
@@ -1300,20 +1143,14 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Event must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvbroadcasterUserID = root.if_contains("broadcaster_user_id");
if (jvbroadcasterUserID == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_broadcasterUserID{
"Missing required key broadcaster_user_id"};
return boost::system::error_code{129,
error_missing_field_broadcasterUserID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto broadcasterUserID =
@@ -1328,11 +1165,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
root.if_contains("broadcaster_user_login");
if (jvbroadcasterUserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_broadcasterUserLogin{
"Missing required key broadcaster_user_login"};
return boost::system::error_code{
129, error_missing_field_broadcasterUserLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto broadcasterUserLogin =
@@ -1347,11 +1180,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
root.if_contains("broadcaster_user_name");
if (jvbroadcasterUserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_broadcasterUserName{
"Missing required key broadcaster_user_name"};
return boost::system::error_code{
129, error_missing_field_broadcasterUserName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto broadcasterUserName =
@@ -1417,11 +1246,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
const auto *jvmoderatorUserID = root.if_contains("moderator_user_id");
if (jvmoderatorUserID == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_moderatorUserID{
"Missing required key moderator_user_id"};
return boost::system::error_code{129,
error_missing_field_moderatorUserID};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto moderatorUserID =
@@ -1435,11 +1260,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
const auto *jvmoderatorUserLogin = root.if_contains("moderator_user_login");
if (jvmoderatorUserLogin == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_moderatorUserLogin{
"Missing required key moderator_user_login"};
return boost::system::error_code{
129, error_missing_field_moderatorUserLogin};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto moderatorUserLogin =
@@ -1453,11 +1274,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
const auto *jvmoderatorUserName = root.if_contains("moderator_user_name");
if (jvmoderatorUserName == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_moderatorUserName{
"Missing required key moderator_user_name"};
return boost::system::error_code{129,
error_missing_field_moderatorUserName};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto moderatorUserName =
@@ -1471,9 +1288,7 @@ boost::json::result_for<Event, boost::json::value>::type tag_invoke(
const auto *jvaction = root.if_contains("action");
if (jvaction == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_action{
"Missing required key action"};
return boost::system::error_code{129, error_missing_field_action};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto action = boost::json::try_value_to<Action>(*jvaction);
@@ -1790,19 +1605,14 @@ boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
{
if (!jvRoot.is_object())
{
static const error::ApplicationErrorCategory errorMustBeObject{
"Payload must be an object"};
return boost::system::error_code{129, errorMustBeObject};
EVENTSUB_BAIL_HERE(error::Kind::ExpectedObject);
}
const auto &root = jvRoot.get_object();
const auto *jvsubscription = root.if_contains("subscription");
if (jvsubscription == nullptr)
{
static const error::ApplicationErrorCategory
error_missing_field_subscription{
"Missing required key subscription"};
return boost::system::error_code{129, error_missing_field_subscription};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto subscription =
@@ -1816,9 +1626,7 @@ boost::json::result_for<Payload, boost::json::value>::type tag_invoke(
const auto *jvevent = root.if_contains("event");
if (jvevent == nullptr)
{
static const error::ApplicationErrorCategory error_missing_field_event{
"Missing required key event"};
return boost::system::error_code{129, error_missing_field_event};
EVENTSUB_BAIL_HERE(error::Kind::FieldMissing);
}
auto event = boost::json::try_value_to<Event>(*jvevent);