view models
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { SponsorSponsorshipsDto } from '../dtos';
|
||||
import type { SponsorSponsorshipsDTO } from '../types/generated/SponsorSponsorshipsDTO';
|
||||
import { SponsorshipDetailViewModel } from './SponsorshipDetailViewModel';
|
||||
|
||||
/**
|
||||
@@ -6,17 +6,19 @@ import { SponsorshipDetailViewModel } from './SponsorshipDetailViewModel';
|
||||
*
|
||||
* View model for sponsor sponsorships data with UI-specific transformations.
|
||||
*/
|
||||
export class SponsorSponsorshipsViewModel {
|
||||
export class SponsorSponsorshipsViewModel implements SponsorSponsorshipsDTO {
|
||||
sponsorId: string;
|
||||
sponsorName: string;
|
||||
sponsorships: SponsorshipDetailViewModel[];
|
||||
|
||||
constructor(dto: SponsorSponsorshipsDto) {
|
||||
constructor(dto: SponsorSponsorshipsDTO) {
|
||||
this.sponsorId = dto.sponsorId;
|
||||
this.sponsorName = dto.sponsorName;
|
||||
this.sponsorships = dto.sponsorships.map(s => new SponsorshipDetailViewModel(s));
|
||||
}
|
||||
|
||||
// Note: The generated DTO doesn't have sponsorships array
|
||||
// This will need to be added when the OpenAPI spec is updated
|
||||
sponsorships: SponsorshipDetailViewModel[] = [];
|
||||
|
||||
/** UI-specific: Total sponsorships count */
|
||||
get totalCount(): number {
|
||||
return this.sponsorships.length;
|
||||
|
||||
Reference in New Issue
Block a user