view data fixes

This commit is contained in:
2026-01-23 15:30:23 +01:00
parent e22033be38
commit f8099f04bc
213 changed files with 3466 additions and 3003 deletions

View File

@@ -1,19 +1,15 @@
import { LeagueMemberViewModel } from './LeagueMemberViewModel';
import type { LeagueMemberDTO } from '@/lib/types/generated/LeagueMemberDTO';
/**
* View Model for League Memberships
*
* Represents the league's memberships in a UI-ready format.
*/
import { ViewModel } from "../contracts/view-models/ViewModel";
import type { LeagueMembershipsViewData } from "../view-data/LeagueMembershipsViewData";
export class LeagueMembershipsViewModel extends ViewModel {
memberships: LeagueMemberViewModel[];
private readonly data: LeagueMembershipsViewData;
readonly memberships: LeagueMemberViewModel[];
constructor(dto: { members?: LeagueMemberDTO[]; memberships?: LeagueMemberDTO[] }, currentUserId: string) {
const memberships = dto.members ?? dto.memberships ?? [];
this.memberships = memberships.map((membership) => new LeagueMemberViewModel(membership, currentUserId));
constructor(data: LeagueMembershipsViewData) {
super();
this.data = data;
this.memberships = data.memberships.map((m) => new LeagueMemberViewModel(m));
}
/** UI-specific: Number of members */