view data fixes
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user