Skip to content
This repository was archived by the owner on Aug 21, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ public class FunixBotUserExperienceDTO extends ApiDTO {
@NotBlank
private String twitchUserId;

@NotBlank
private String twitchUsername;

@NotNull
private Integer xp;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ public class FunixBotUserExperience extends ApiEntity {
@Column(name = "twitch_user_id", nullable = false, updatable = false, unique = true)
private String twitchUserId;

@Column(name = "twitch_username", nullable = false, unique = true, columnDefinition = "varchar(200) DEFAULT ''")
private String twitchUsername;

@Column(nullable = false)
private Integer xp;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ALTER TABLE funixbot_users_experience
ADD COLUMN twitch_username VARCHAR(200) DEFAULT '' NOT NULL,
ADD CONSTRAINT uk_funixbot_users_experience_twitch_username UNIQUE (twitch_username);
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,31 @@ class TestFunixBotUserExperience extends ResourceTestHandler {
first.setLevel(100);
first.setXp(900);
first.setXpNextLevel(1000);
first.setTwitchUsername(UUID.randomUUID().toString());
first.setLastMessageDate(Date.from(Instant.now()));

final FunixBotUserExperience second = new FunixBotUserExperience();
second.setTwitchUserId("2");
second.setLevel(100);
second.setXp(200);
second.setXpNextLevel(1000);
second.setTwitchUsername(UUID.randomUUID().toString());
second.setLastMessageDate(Date.from(Instant.now()));

final FunixBotUserExperience third = new FunixBotUserExperience();
third.setTwitchUserId("3");
third.setLevel(90);
third.setXp(200);
third.setXpNextLevel(1000);
third.setTwitchUsername(UUID.randomUUID().toString());
third.setLastMessageDate(Date.from(Instant.now()));

final FunixBotUserExperience fourth = new FunixBotUserExperience();
fourth.setTwitchUserId("4");
fourth.setLevel(10);
fourth.setXp(200);
fourth.setXpNextLevel(1000);
fourth.setTwitchUsername(UUID.randomUUID().toString());
fourth.setLastMessageDate(Date.from(Instant.now()));

this.first = repository.save(first);
Expand Down Expand Up @@ -109,6 +113,7 @@ void testAccessAdminRouteWithModeratorUser() throws Exception {
funixBotUserExperienceDTO.setXp(10);
funixBotUserExperienceDTO.setLevel(10);
funixBotUserExperienceDTO.setXpNextLevel(10);
funixBotUserExperienceDTO.setTwitchUsername(UUID.randomUUID().toString());
funixBotUserExperienceDTO.setLastMessageDateSeconds(10L);

mockMvc.perform(post("/funixbot/user/exp")
Expand All @@ -127,6 +132,7 @@ void testAccessAdminRouteWithAdminUser() throws Exception {
funixBotUserExperienceDTO.setXp(10);
funixBotUserExperienceDTO.setLevel(10);
funixBotUserExperienceDTO.setXpNextLevel(10);
funixBotUserExperienceDTO.setTwitchUsername(UUID.randomUUID().toString());
funixBotUserExperienceDTO.setLastMessageDateSeconds(10L);

mockMvc.perform(post("/funixbot/user/exp")
Expand All @@ -145,6 +151,7 @@ void testPostWithUserClassic() throws Exception {
funixBotUserExperienceDTO.setXp(10);
funixBotUserExperienceDTO.setLevel(10);
funixBotUserExperienceDTO.setXpNextLevel(10);
funixBotUserExperienceDTO.setTwitchUsername(UUID.randomUUID().toString());
funixBotUserExperienceDTO.setLastMessageDateSeconds(10L);

mockMvc.perform(post("/funixbot/user/exp")
Expand Down