29 lines
787 B
TypeScript
29 lines
787 B
TypeScript
/**
|
|
* League Page Detail View Model
|
|
*
|
|
* View model for league page details.
|
|
*/
|
|
import { ViewModel } from "../contracts/view-models/ViewModel";
|
|
import type { LeaguePageDetailViewData } from "../view-data/LeaguePageDetailViewData";
|
|
|
|
export class LeaguePageDetailViewModel extends ViewModel {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
ownerId: string;
|
|
ownerName: string;
|
|
isAdmin: boolean;
|
|
mainSponsor: { name: string; logoUrl: string; websiteUrl: string } | null;
|
|
|
|
constructor(data: LeaguePageDetailViewData) {
|
|
super();
|
|
this.id = data.id;
|
|
this.name = data.name;
|
|
this.description = data.description;
|
|
this.ownerId = data.ownerId;
|
|
this.ownerName = data.ownerName;
|
|
this.isAdmin = data.isAdmin;
|
|
this.mainSponsor = data.mainSponsor;
|
|
}
|
|
}
|