Skip to content
Open
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 @@ -23,6 +23,9 @@ public class Achievement {
@NotNullColumn
private String userId;

@NotNullColumn
private String leaderboardId;

@NotNullColumn
private AchievementPlaceEnum place;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public interface AchievementRepository {
* <li>title
* <li>description
* <li>isActive
* <li>leaderboardId
* </ul>
*/
void createAchievement(Achievement achievement);
Expand All @@ -29,6 +30,7 @@ public interface AchievementRepository {
* <li>description
* <li>isActive
* <li>deletedAt
* <li>leaderboardId
* </ul>
*
* @return updated achievement if successful
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class AchievementSqlRepository implements AchievementRepository {
var title = rs.getString("title");
var description = rs.getString("description");
var isActive = rs.getBoolean("isActive");
var leaderboardId = rs.getString("leaderboardId");
var createdAt = StandardizedOffsetDateTime.normalize(rs.getObject("createdAt", OffsetDateTime.class));
OffsetDateTime deletedAt =
StandardizedOffsetDateTime.normalize(rs.getObject("deletedAt", OffsetDateTime.class));
Expand All @@ -34,6 +35,7 @@ public class AchievementSqlRepository implements AchievementRepository {
.userId(userId)
.place(place)
.leaderboard(leaderboard)
.leaderboardId(leaderboardId)
.title(title)
.description(description)
.isActive(isActive)
Expand All @@ -53,9 +55,9 @@ public void createAchievement(final Achievement achievement) {
achievement.setId(UUID.randomUUID().toString());
String sql = """
INSERT INTO "Achievement"
(id, "userId", place, leaderboard, title, description, "isActive", "deletedAt")
(id, "userId", place, leaderboard, title, description, "isActive", "deletedAt", "leaderboardId")
VALUES
(:id, :userId, :place, :leaderboard, :title, :description, :isActive, :deletedAt)
(:id, :userId, :place, :leaderboard, :title, :description, :isActive, :deletedAt, :leaderboardId)
RETURNING
"createdAt"
""";
Expand All @@ -71,6 +73,7 @@ public void createAchievement(final Achievement achievement) {
.map(Enum::name)
.orElse(null),
Types.OTHER)
.param("leaderboardId", achievement.getLeaderboardId())
.param("title", achievement.getTitle())
.param("description", achievement.getDescription())
.param("isActive", achievement.isActive())
Expand All @@ -94,7 +97,8 @@ public Achievement updateAchievement(final Achievement achievement) {
title = :title,
description = :description,
"isActive" = :isActive,
"deletedAt" = :deletedAt
"deletedAt" = :deletedAt,
"leaderboardId" = :leaderboardId
WHERE
id = :id
""";
Expand All @@ -108,6 +112,7 @@ public Achievement updateAchievement(final Achievement achievement) {
.map(Enum::name)
.orElse(null),
Types.OTHER)
.param("leaderboardId", achievement.getLeaderboardId())
.param("title", achievement.getTitle())
.param("description", achievement.getDescription())
.param("isActive", achievement.isActive())
Expand Down Expand Up @@ -150,7 +155,8 @@ public Achievement getAchievementById(final String id) {
description,
"isActive",
"createdAt",
"deletedAt"
"deletedAt",
"leaderboardId"
FROM
"Achievement"
WHERE
Expand Down Expand Up @@ -178,7 +184,8 @@ public List<Achievement> getAchievementsByUserId(final String userId) {
description,
"isActive",
"createdAt",
"deletedAt"
"deletedAt",
"leaderboardId"
FROM
"Achievement"
WHERE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ public class AchievementDto {
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, nullable = true)
private Tag leaderboard;

@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
private String leaderboardId;

@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
private String title;

Expand All @@ -52,6 +55,7 @@ public static AchievementDto fromAchievement(final Achievement achievement) {
.leaderboard(achievement.getLeaderboard())
.place(achievement.getPlace())
.title(achievement.getTitle())
.leaderboardId(achievement.getLeaderboardId())
.description(achievement.getDescription())
.isActive(achievement.isActive())
.createdAt(achievement.getCreatedAt())
Expand Down
Loading