typescript-typenfehler behoben.. npm run lint läuft nun fehlerfrei durch.
This commit is contained in:
@@ -160,32 +160,41 @@ export async function fetchAchievements(
|
||||
tasks: toNumber(personalRaw.tasks),
|
||||
likes: toNumber(personalRaw.likes),
|
||||
badges: Array.isArray(personalRaw.badges)
|
||||
? personalRaw.badges.map((badge: any): AchievementBadge => ({
|
||||
id: safeString(badge.id),
|
||||
title: safeString(badge.title),
|
||||
description: safeString(badge.description),
|
||||
earned: Boolean(badge.earned),
|
||||
progress: toNumber(badge.progress),
|
||||
target: toNumber(badge.target, 1),
|
||||
}))
|
||||
? personalRaw.badges.map((badge): AchievementBadge => {
|
||||
const record = badge as Record<string, unknown>;
|
||||
return {
|
||||
id: safeString(record.id),
|
||||
title: safeString(record.title),
|
||||
description: safeString(record.description),
|
||||
earned: Boolean(record.earned),
|
||||
progress: toNumber(record.progress),
|
||||
target: toNumber(record.target, 1),
|
||||
};
|
||||
})
|
||||
: [],
|
||||
}
|
||||
: null;
|
||||
|
||||
const uploadsBoard = Array.isArray(leaderboards.uploads)
|
||||
? leaderboards.uploads.map((row: any): LeaderboardEntry => ({
|
||||
guest: safeString(row.guest),
|
||||
photos: toNumber(row.photos),
|
||||
likes: toNumber(row.likes),
|
||||
}))
|
||||
? leaderboards.uploads.map((row): LeaderboardEntry => {
|
||||
const record = row as Record<string, unknown>;
|
||||
return {
|
||||
guest: safeString(record.guest),
|
||||
photos: toNumber(record.photos),
|
||||
likes: toNumber(record.likes),
|
||||
};
|
||||
})
|
||||
: [];
|
||||
|
||||
const likesBoard = Array.isArray(leaderboards.likes)
|
||||
? leaderboards.likes.map((row: any): LeaderboardEntry => ({
|
||||
guest: safeString(row.guest),
|
||||
photos: toNumber(row.photos),
|
||||
likes: toNumber(row.likes),
|
||||
}))
|
||||
? leaderboards.likes.map((row): LeaderboardEntry => {
|
||||
const record = row as Record<string, unknown>;
|
||||
return {
|
||||
guest: safeString(record.guest),
|
||||
photos: toNumber(record.photos),
|
||||
likes: toNumber(record.likes),
|
||||
};
|
||||
})
|
||||
: [];
|
||||
|
||||
const topPhotoRaw = highlights.top_photo ?? null;
|
||||
@@ -210,21 +219,27 @@ export async function fetchAchievements(
|
||||
: null;
|
||||
|
||||
const timeline = Array.isArray(highlights.timeline)
|
||||
? highlights.timeline.map((row: any): TimelinePoint => ({
|
||||
date: safeString(row.date),
|
||||
photos: toNumber(row.photos),
|
||||
guests: toNumber(row.guests),
|
||||
}))
|
||||
? highlights.timeline.map((row): TimelinePoint => {
|
||||
const record = row as Record<string, unknown>;
|
||||
return {
|
||||
date: safeString(record.date),
|
||||
photos: toNumber(record.photos),
|
||||
guests: toNumber(record.guests),
|
||||
};
|
||||
})
|
||||
: [];
|
||||
|
||||
const feed = feedRaw.map((row: any): FeedEntry => ({
|
||||
photoId: toNumber(row.photo_id),
|
||||
guest: safeString(row.guest),
|
||||
task: row.task ?? null,
|
||||
likes: toNumber(row.likes),
|
||||
createdAt: safeString(row.created_at),
|
||||
thumbnail: row.thumbnail ? safeString(row.thumbnail) : null,
|
||||
}));
|
||||
const feed = feedRaw.map((row): FeedEntry => {
|
||||
const record = row as Record<string, unknown>;
|
||||
return {
|
||||
photoId: toNumber(record.photo_id),
|
||||
guest: safeString(record.guest),
|
||||
task: (record as { task?: string }).task ?? null,
|
||||
likes: toNumber(record.likes),
|
||||
createdAt: safeString(record.created_at),
|
||||
thumbnail: record.thumbnail ? safeString(record.thumbnail) : null,
|
||||
};
|
||||
});
|
||||
|
||||
const payload: AchievementsPayload = {
|
||||
summary: {
|
||||
|
||||
Reference in New Issue
Block a user