33 template <
typename UserInfoType>
36 return std::make_tuple
38 make_field<RequiredField>(
"_id", info.userId),
39 make_field<RequiredField>(
"name", info.userName),
43 make_field<DateSchema, OptionalField>(
"created_at", info.createdTimestamp)
51 template <
typename ChannelInfoType>
56 return std::make_tuple
58 make_field<RequiredField>(
"_id", channelInfo.channelId),
59 make_field<OptionalField>(
"broadcaster_language", channelInfo.broadcasterLanguage),
60 make_field<OptionalField>(
"broadcaster_type", channelInfo.broadcasterType),
61 make_field<DateSchema, OptionalField>(
"created_at", channelInfo.createdAtTimestamp),
62 make_field<OptionalField>(
"description", channelInfo.description),
63 make_field<OptionalField>(
"display_name", channelInfo.displayName),
64 make_field<OptionalField>(
"followers", channelInfo.numFollowers),
65 make_field<OptionalField>(
"game", channelInfo.game),
66 make_field<OptionalField>(
"language", channelInfo.language),
67 make_field<OptionalField>(
"logo", channelInfo.logoImageUrl),
68 make_field<OptionalField>(
"mature", channelInfo.mature),
69 make_field<OptionalField>(
"name", channelInfo.name),
70 make_field<OptionalField>(
"partner", channelInfo.partner),
71 make_field<OptionalField>(
"profile_banner", channelInfo.profileBannerImageUrl),
72 make_field<ColorSchema, OptionalField>(
"profile_banner_background_color", channelInfo.profileBannerBackgroundColor),
73 make_field<OptionalField>(
"status", channelInfo.status),
74 make_field<DateSchema, OptionalField>(
"updated_at", channelInfo.updatedAtTimestamp),
75 make_field<OptionalField>(
"url", channelInfo.channelUrl),
76 make_field<OptionalField>(
"video_banner", channelInfo.videoBannerImageUrl),
77 make_field<OptionalField>(
"views", channelInfo.numViews)
89 return std::make_tuple
106 template <
typename StreamInfoType>
111 return std::make_tuple
113 make_field<RequiredField>(
"_id", streamInfo.streamId),
114 make_field<OptionalField>(
"average_fps", streamInfo.averageFPS),
115 make_field<OptionalField>(
"broadcast_platform", streamInfo.broadcastPlatform),
116 make_field<OptionalField>(
"channel", streamInfo.channelInfo),
117 make_field<OptionalField>(
"community_ids", streamInfo.communityIds),
118 make_field<DateSchema, OptionalField>(
"created_at", streamInfo.createdAtTimestamp),
119 make_field<OptionalField>(
"delay", streamInfo.delay),
120 make_field<OptionalField>(
"game", streamInfo.game),
121 make_field<OptionalField>(
"is_playlist", streamInfo.isPlaylist),
122 make_field<OptionalField>(
"delay", streamInfo.delay),
123 make_field<OptionalField>(
"preview", streamInfo.previewImages),
124 make_field<OptionalField>(
"stream_type", streamInfo.streamType),
125 make_field<OptionalField>(
"video_height", streamInfo.videoHeight),
126 make_field<OptionalField>(
"viewers", streamInfo.viewerCount)
134 template <
typename PreviewImagesType>
139 return std::make_tuple
141 make_field<RequiredField>(
"large", images.largeUrl),
142 make_field<OptionalField>(
"medium", images.mediumUrl),
143 make_field<OptionalField>(
"small", images.smallUrl),
144 make_field<OptionalField>(
"template", images.templateUrl)
156 return std::make_tuple
182 return std::make_tuple
Definition: jsonobjectdescriptions.h:83
BroadcasterType
Definition: coretypes.h:47
Definition: jsonobjectdescriptions.h:176
Definition: jsonserialization.h:127
auto make_enum_mapping(const char *string, EnumType value)
Definition: jsonserialization.h:657
StreamType
Definition: coretypes.h:117
Definition: coretypes.h:32
auto make_field(const char *key, ObjectType &field)
Definition: jsonserialization.h:874
Definition: coretypes.h:130
static auto BindFields(StreamInfoType &streamInfo)
Definition: jsonobjectdescriptions.h:107
static auto GetFallbackValue()
Definition: jsonobjectdescriptions.h:97
Definition: jsonserialization.h:235
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
If neither Partner nor Affiliate.
Definition: jsonserialization.h:165
Definition: coretypes.h:89
static auto EnumMap()
Definition: jsonobjectdescriptions.h:85
Definition: jsonobjectdescriptions.h:132
static auto BindFields(UserInfoType &info)
Definition: jsonobjectdescriptions.h:34
static auto BindFields(ChannelInfoType &channelInfo)
Definition: jsonobjectdescriptions.h:52
Definition: jsonobjectdescriptions.h:104
static auto EnumMap()
Definition: jsonobjectdescriptions.h:178
Definition: coretypes.h:58
static auto GetFallbackValue()
Definition: jsonobjectdescriptions.h:192
BroadcastPlatform
Definition: coretypes.h:100
Definition: jsonobjectdescriptions.h:49
Definition: jsonobjectdescriptions.h:31
static auto BindFields(PreviewImagesType &images)
Definition: jsonobjectdescriptions.h:135