Skip to content

Commit

Permalink
fix(GH-423): add emote modifier type
Browse files Browse the repository at this point in the history
  • Loading branch information
Rakambda committed Feb 15, 2023
1 parent 1477bbb commit 28b9246
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,19 @@
@EqualsAndHashCode(callSuper = true)
@ToString
public class CommunityPointsEmoteModification extends GQLType{
@JsonProperty("id")
private String id;
@JsonProperty("emote")
private CommunityPointsEmote emote;
@JsonProperty("modifierIconDark")
private CommunityPointsImage modifierIconDark;
@JsonProperty("modifierIconLight")
private CommunityPointsImage modifierIconLight;
@JsonProperty("title")
private String title;
@JsonProperty("globallyUpdatedForIndicatorAt")
@JsonDeserialize(using = ISO8601ZonedDateTimeDeserializer.class)
private ZonedDateTime globallyUpdatedForIndicatorAt;
@JsonProperty("id")
private String id;
@JsonProperty("emote")
private CommunityPointsEmote emote;
@JsonProperty("modifierIconDark")
private CommunityPointsImage modifierIconDark;
@JsonProperty("modifierIconLight")
private CommunityPointsImage modifierIconLight;
@JsonProperty("title")
private String title;
@JsonProperty("globallyUpdatedForIndicatorAt")
@JsonDeserialize(using = ISO8601ZonedDateTimeDeserializer.class)
private ZonedDateTime globallyUpdatedForIndicatorAt;
@JsonProperty("modifier")
private CommunityPointsEmoteModifier modifier;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

@JsonTypeName("CommunityPointsEmoteModifier")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
@ToString
public class CommunityPointsEmoteModifier extends GQLType{
@JsonProperty("id")
private String id;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,56 +8,57 @@
@Getter
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "__typename")
@JsonSubTypes(value = {
@JsonSubTypes.Type(value = BroadcastSettings.class, name = "BroadcastSettings"),
@JsonSubTypes.Type(value = Channel.class, name = "Channel"),
@JsonSubTypes.Type(value = ChannelSelfEdge.class, name = "ChannelSelfEdge"),
@JsonSubTypes.Type(value = CommunityPointsAutomaticReward.class, name = "CommunityPointsAutomaticReward"),
@JsonSubTypes.Type(value = CommunityPointsChannelEarningSettings.class, name = "CommunityPointsChannelEarningSettings"),
@JsonSubTypes.Type(value = CommunityPointsChannelSettings.class, name = "CommunityPointsChannelSettings"),
@JsonSubTypes.Type(value = CommunityPointsCommunityGoal.class, name = "CommunityPointsCommunityGoal"),
@JsonSubTypes.Type(value = CommunityPointsCustomReward.class, name = "CommunityPointsCustomReward"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardGlobalCooldownSetting.class, name = "CommunityPointsCustomRewardGlobalCooldownSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardMaxPerStreamSetting.class, name = "CommunityPointsCustomRewardMaxPerStreamSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardMaxPerUserPerStreamSetting.class, name = "CommunityPointsCustomRewardMaxPerUserPerStreamSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardUserRedemption.class, name = "CommunityPointsCustomRewardUserRedemption"),
@JsonSubTypes.Type(value = CommunityPointsEmote.class, name = "CommunityPointsEmote"),
@JsonSubTypes.Type(value = CommunityPointsEmoteModification.class, name = "CommunityPointsEmoteModification"),
@JsonSubTypes.Type(value = CommunityPointsEmoteVariant.class, name = "CommunityPointsEmoteVariant"),
@JsonSubTypes.Type(value = CommunityPointsImage.class, name = "CommunityPointsImage"),
@JsonSubTypes.Type(value = CommunityPointsLastViewedContentByType.class, name = "CommunityPointsLastViewedContentByType"),
@JsonSubTypes.Type(value = CommunityPointsLastViewedContentByTypeAndID.class, name = "CommunityPointsLastViewedContentByTypeAndID"),
@JsonSubTypes.Type(value = CommunityPointsMultiplier.class, name = "CommunityPointsMultiplier"),
@JsonSubTypes.Type(value = CommunityPointsProperties.class, name = "CommunityPointsProperties"),
@JsonSubTypes.Type(value = CommunityPointsUserProperties.class, name = "CommunityPointsUserProperties"),
@JsonSubTypes.Type(value = CommunityPointsWatchStreakEarningSettings.class, name = "CommunityPointsWatchStreakEarningSettings"),
@JsonSubTypes.Type(value = Game.class, name = "Game"),
@JsonSubTypes.Type(value = RequestInfo.class, name = "RequestInfo"),
@JsonSubTypes.Type(value = Stream.class, name = "Stream"),
@JsonSubTypes.Type(value = Tag.class, name = "Tag"),
@JsonSubTypes.Type(value = User.class, name = "User"),
@JsonSubTypes.Type(value = UserSelfConnection.class, name = "UserSelfConnection"),
@JsonSubTypes.Type(value = Inventory.class, name = "Inventory"),
@JsonSubTypes.Type(value = DropCampaign.class, name = "DropCampaign"),
@JsonSubTypes.Type(value = TimeBasedDrop.class, name = "TimeBasedDrop"),
@JsonSubTypes.Type(value = DropBenefitEdge.class, name = "DropBenefitEdge"),
@JsonSubTypes.Type(value = DropBenefit.class, name = "DropBenefit"),
@JsonSubTypes.Type(value = CommunityPointsClaim.class, name = "CommunityPointsClaim"),
@JsonSubTypes.Type(value = ClaimCommunityPointsPayload.class, name = "ClaimCommunityPointsPayload"),
@JsonSubTypes.Type(value = JoinRaidPayload.class, name = "JoinRaidPayload"),
@JsonSubTypes.Type(value = DropCampaignSelfEdge.class, name = "DropCampaignSelfEdge"),
@JsonSubTypes.Type(value = DropCampaignACL.class, name = "DropCampaignACL"),
@JsonSubTypes.Type(value = TimeBasedDropSelfEdge.class, name = "TimeBasedDropSelfEdge"),
@JsonSubTypes.Type(value = ClaimDropRewardsPayload.class, name = "ClaimDropRewardsPayload"),
@JsonSubTypes.Type(value = UserDropReward.class, name = "UserDropReward"),
@JsonSubTypes.Type(value = MakePredictionPayload.class, name = "MakePredictionPayload"),
@JsonSubTypes.Type(value = MakePredictionError.class, name = "MakePredictionError"),
@JsonSubTypes.Type(value = FollowConnection.class, name = "FollowConnection"),
@JsonSubTypes.Type(value = PageInfo.class, name = "PageInfo"),
@JsonSubTypes.Type(value = FollowEdge.class, name = "FollowEdge"),
@JsonSubTypes.Type(value = FollowerEdge.class, name = "FollowerEdge"),
@JsonSubTypes.Type(value = ChatRoomBanStatus.class, name = "ChatRoomBanStatus"),
@JsonSubTypes.Type(value = ClaimCommunityMomentPayload.class, name = "ClaimCommunityMomentPayload"),
@JsonSubTypes.Type(value = CommunityMoment.class, name = "CommunityMoment"),
@JsonSubTypes.Type(value = BroadcastSettings.class, name = "BroadcastSettings"),
@JsonSubTypes.Type(value = Channel.class, name = "Channel"),
@JsonSubTypes.Type(value = ChannelSelfEdge.class, name = "ChannelSelfEdge"),
@JsonSubTypes.Type(value = CommunityPointsAutomaticReward.class, name = "CommunityPointsAutomaticReward"),
@JsonSubTypes.Type(value = CommunityPointsChannelEarningSettings.class, name = "CommunityPointsChannelEarningSettings"),
@JsonSubTypes.Type(value = CommunityPointsChannelSettings.class, name = "CommunityPointsChannelSettings"),
@JsonSubTypes.Type(value = CommunityPointsCommunityGoal.class, name = "CommunityPointsCommunityGoal"),
@JsonSubTypes.Type(value = CommunityPointsCustomReward.class, name = "CommunityPointsCustomReward"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardGlobalCooldownSetting.class, name = "CommunityPointsCustomRewardGlobalCooldownSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardMaxPerStreamSetting.class, name = "CommunityPointsCustomRewardMaxPerStreamSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardMaxPerUserPerStreamSetting.class, name = "CommunityPointsCustomRewardMaxPerUserPerStreamSetting"),
@JsonSubTypes.Type(value = CommunityPointsCustomRewardUserRedemption.class, name = "CommunityPointsCustomRewardUserRedemption"),
@JsonSubTypes.Type(value = CommunityPointsEmote.class, name = "CommunityPointsEmote"),
@JsonSubTypes.Type(value = CommunityPointsEmoteModification.class, name = "CommunityPointsEmoteModification"),
@JsonSubTypes.Type(value = CommunityPointsEmoteVariant.class, name = "CommunityPointsEmoteVariant"),
@JsonSubTypes.Type(value = CommunityPointsImage.class, name = "CommunityPointsImage"),
@JsonSubTypes.Type(value = CommunityPointsLastViewedContentByType.class, name = "CommunityPointsLastViewedContentByType"),
@JsonSubTypes.Type(value = CommunityPointsLastViewedContentByTypeAndID.class, name = "CommunityPointsLastViewedContentByTypeAndID"),
@JsonSubTypes.Type(value = CommunityPointsMultiplier.class, name = "CommunityPointsMultiplier"),
@JsonSubTypes.Type(value = CommunityPointsProperties.class, name = "CommunityPointsProperties"),
@JsonSubTypes.Type(value = CommunityPointsUserProperties.class, name = "CommunityPointsUserProperties"),
@JsonSubTypes.Type(value = CommunityPointsWatchStreakEarningSettings.class, name = "CommunityPointsWatchStreakEarningSettings"),
@JsonSubTypes.Type(value = Game.class, name = "Game"),
@JsonSubTypes.Type(value = RequestInfo.class, name = "RequestInfo"),
@JsonSubTypes.Type(value = Stream.class, name = "Stream"),
@JsonSubTypes.Type(value = Tag.class, name = "Tag"),
@JsonSubTypes.Type(value = User.class, name = "User"),
@JsonSubTypes.Type(value = UserSelfConnection.class, name = "UserSelfConnection"),
@JsonSubTypes.Type(value = Inventory.class, name = "Inventory"),
@JsonSubTypes.Type(value = DropCampaign.class, name = "DropCampaign"),
@JsonSubTypes.Type(value = TimeBasedDrop.class, name = "TimeBasedDrop"),
@JsonSubTypes.Type(value = DropBenefitEdge.class, name = "DropBenefitEdge"),
@JsonSubTypes.Type(value = DropBenefit.class, name = "DropBenefit"),
@JsonSubTypes.Type(value = CommunityPointsClaim.class, name = "CommunityPointsClaim"),
@JsonSubTypes.Type(value = ClaimCommunityPointsPayload.class, name = "ClaimCommunityPointsPayload"),
@JsonSubTypes.Type(value = JoinRaidPayload.class, name = "JoinRaidPayload"),
@JsonSubTypes.Type(value = DropCampaignSelfEdge.class, name = "DropCampaignSelfEdge"),
@JsonSubTypes.Type(value = DropCampaignACL.class, name = "DropCampaignACL"),
@JsonSubTypes.Type(value = TimeBasedDropSelfEdge.class, name = "TimeBasedDropSelfEdge"),
@JsonSubTypes.Type(value = ClaimDropRewardsPayload.class, name = "ClaimDropRewardsPayload"),
@JsonSubTypes.Type(value = UserDropReward.class, name = "UserDropReward"),
@JsonSubTypes.Type(value = MakePredictionPayload.class, name = "MakePredictionPayload"),
@JsonSubTypes.Type(value = MakePredictionError.class, name = "MakePredictionError"),
@JsonSubTypes.Type(value = FollowConnection.class, name = "FollowConnection"),
@JsonSubTypes.Type(value = PageInfo.class, name = "PageInfo"),
@JsonSubTypes.Type(value = FollowEdge.class, name = "FollowEdge"),
@JsonSubTypes.Type(value = FollowerEdge.class, name = "FollowerEdge"),
@JsonSubTypes.Type(value = ChatRoomBanStatus.class, name = "ChatRoomBanStatus"),
@JsonSubTypes.Type(value = ClaimCommunityMomentPayload.class, name = "ClaimCommunityMomentPayload"),
@JsonSubTypes.Type(value = CommunityMoment.class, name = "CommunityMoment"),
@JsonSubTypes.Type(value = CommunityPointsEmoteModifier.class, name = "CommunityPointsEmoteModifier"),
})
@EqualsAndHashCode
public abstract class GQLType{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsClaim;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsEmote;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsEmoteModification;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsEmoteModifier;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsEmoteVariant;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsImage;
import fr.rakambda.channelpointsminer.miner.api.gql.gql.data.types.CommunityPointsLastViewedContentByType;
Expand Down Expand Up @@ -246,6 +247,9 @@ void nominalWithClaim(UnirestMock unirest) throws MalformedURLException{
.build())
.modifierIconDark(communityPointsImage)
.modifierIconLight(communityPointsImage)
.modifier(CommunityPointsEmoteModifier.builder()
.id("MOD_BW")
.build())
.title("Greyscale")
.globallyUpdatedForIndicatorAt(ZonedDateTime.of(2019, 9, 3, 21, 0, 0, 0, UTC))
.build()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@
"token": "emotetoken_BW",
"__typename": "CommunityPointsEmote"
},
"modifier": {
"id": "MOD_BW",
"__typename": "CommunityPointsEmoteModifier"
},
"modifierIconDark": {
"url": "https://image",
"url2x": "https://image2x",
Expand Down

0 comments on commit 28b9246

Please sign in to comment.