Update achievement schema (#3542)

## Description:

Update the schema for achievements

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
This commit is contained in:
Evan
2026-03-30 12:18:04 -07:00
committed by GitHub
parent 73016bb56b
commit fabd1a5fa9
2 changed files with 4 additions and 16 deletions
+1 -8
View File
@@ -144,14 +144,7 @@ export class SinglePlayerModal extends BaseModal {
return;
}
const achievements = Array.isArray(userMe.player.achievements)
? userMe.player.achievements
: [];
const completions =
achievements.find(
(achievement) => achievement?.type === "singleplayer-map",
)?.data ?? [];
const completions = userMe.player.achievements.singleplayerMap;
const winsMap = new Map<GameMapType, Set<Difficulty>>();
for (const entry of completions) {
+3 -8
View File
@@ -56,14 +56,9 @@ export const UserMeResponseSchema = z.object({
publicId: z.string(),
roles: z.string().array().optional(),
flares: z.string().array().optional(),
achievements: z
.array(
z.object({
type: z.literal("singleplayer-map"), // TODO: change the shape to be more flexible when we have more achievements
data: z.array(SingleplayerMapAchievementSchema),
}),
)
.optional(),
achievements: z.object({
singleplayerMap: z.array(SingleplayerMapAchievementSchema),
}),
leaderboard: z
.object({
oneVone: z