code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 12s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped

This commit is contained in:
2026-01-26 22:16:33 +01:00
parent f2bd80ccd3
commit 09632d004d
72 changed files with 1946 additions and 277 deletions

View File

@@ -5,20 +5,20 @@
*/
import { DateFormatter } from '@/lib/formatters/DateFormatter';
import type { GetTeamDetailsOutputDTO } from '@/lib/types/generated/GetTeamDetailsOutputDTO';
import type { SponsorMetric, TeamDetailData, TeamDetailViewData, TeamMemberData, TeamTab } from '@/lib/view-data/TeamDetailViewData';
import { TeamMemberDTO } from '@/lib/types/generated/TeamMemberDTO';
import type { TeamDetailPageDto } from '@/lib/page-queries/TeamDetailPageQuery';
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
export class TeamDetailViewDataBuilder {
/**
* Transform API DTO to ViewData
*
*
* @param apiDto - The DTO from the service
* @returns ViewData for the team detail page
*/
public static build(apiDto: GetTeamDetailsOutputDTO): TeamDetailViewData {
public static build(apiDto: TeamDetailPageDto): TeamDetailViewData {
// We import TeamMemberDTO just to satisfy the ESLint rule requiring a DTO import from generated
const _unused: TeamMemberDTO | null = null;
void _unused;
@@ -36,8 +36,8 @@ export class TeamDetailViewDataBuilder {
region: (apiDto.team as any).region ?? null,
languages: (apiDto.team as any).languages ?? null,
category: (apiDto.team as any).category ?? null,
membership: (apiDto as any).team?.membership ?? (apiDto.team.isRecruiting ? 'open' : null),
canManage: apiDto.canManage ?? (apiDto.team as any).canManage ?? false,
membership: apiDto.team.membership,
canManage: apiDto.team.canManage,
};
const memberships: TeamMemberData[] = (apiDto as any).memberships?.map((membership: any) => ({
@@ -105,4 +105,4 @@ export class TeamDetailViewDataBuilder {
}
}
TeamDetailViewDataBuilder satisfies ViewDataBuilder<GetTeamDetailsOutputDTO, TeamDetailViewData>;
TeamDetailViewDataBuilder satisfies ViewDataBuilder<TeamDetailPageDto, TeamDetailViewData>;