@@ -26,6 +26,7 @@ public class AchievementSqlRepository implements AchievementRepository {
2626 var title = rs .getString ("title" );
2727 var description = rs .getString ("description" );
2828 var isActive = rs .getBoolean ("isActive" );
29+ var leaderboardId = rs .getString ("leaderboardId" );
2930 var createdAt = StandardizedOffsetDateTime .normalize (rs .getObject ("createdAt" , OffsetDateTime .class ));
3031 OffsetDateTime deletedAt =
3132 StandardizedOffsetDateTime .normalize (rs .getObject ("deletedAt" , OffsetDateTime .class ));
@@ -34,6 +35,7 @@ public class AchievementSqlRepository implements AchievementRepository {
3435 .userId (userId )
3536 .place (place )
3637 .leaderboard (leaderboard )
38+ .leaderboardId (leaderboardId )
3739 .title (title )
3840 .description (description )
3941 .isActive (isActive )
@@ -53,9 +55,9 @@ public void createAchievement(final Achievement achievement) {
5355 achievement .setId (UUID .randomUUID ().toString ());
5456 String sql = """
5557 INSERT INTO "Achievement"
56- (id, "userId", place, leaderboard, title, description, "isActive", "deletedAt")
58+ (id, "userId", place, leaderboard, title, description, "isActive", "deletedAt", "leaderboardId" )
5759 VALUES
58- (:id, :userId, :place, :leaderboard, :title, :description, :isActive, :deletedAt)
60+ (:id, :userId, :place, :leaderboard, :title, :description, :isActive, :deletedAt, :leaderboardId )
5961 RETURNING
6062 "createdAt"
6163 """ ;
@@ -71,6 +73,7 @@ public void createAchievement(final Achievement achievement) {
7173 .map (Enum ::name )
7274 .orElse (null ),
7375 Types .OTHER )
76+ .param ("leaderboardId" , achievement .getLeaderboardId ())
7477 .param ("title" , achievement .getTitle ())
7578 .param ("description" , achievement .getDescription ())
7679 .param ("isActive" , achievement .isActive ())
@@ -94,7 +97,8 @@ public Achievement updateAchievement(final Achievement achievement) {
9497 title = :title,
9598 description = :description,
9699 "isActive" = :isActive,
97- "deletedAt" = :deletedAt
100+ "deletedAt" = :deletedAt,
101+ "leaderboardId" = :leaderboardId
98102 WHERE
99103 id = :id
100104 """ ;
@@ -108,6 +112,7 @@ public Achievement updateAchievement(final Achievement achievement) {
108112 .map (Enum ::name )
109113 .orElse (null ),
110114 Types .OTHER )
115+ .param ("leaderboardId" , achievement .getLeaderboardId ())
111116 .param ("title" , achievement .getTitle ())
112117 .param ("description" , achievement .getDescription ())
113118 .param ("isActive" , achievement .isActive ())
@@ -150,7 +155,8 @@ public Achievement getAchievementById(final String id) {
150155 description,
151156 "isActive",
152157 "createdAt",
153- "deletedAt"
158+ "deletedAt",
159+ "leaderboardId"
154160 FROM
155161 "Achievement"
156162 WHERE
@@ -178,7 +184,8 @@ public List<Achievement> getAchievementsByUserId(final String userId) {
178184 description,
179185 "isActive",
180186 "createdAt",
181- "deletedAt"
187+ "deletedAt",
188+ "leaderboardId"
182189 FROM
183190 "Achievement"
184191 WHERE
0 commit comments