view data fixes
This commit is contained in:
@@ -1,22 +1,11 @@
|
||||
import { ViewData } from '@/lib/contracts/view-data/ViewData';
|
||||
import type { DashboardStats } from '@/lib/types/admin';
|
||||
'use client';
|
||||
|
||||
import type { DashboardStatsResponseDTO } from '@/lib/types/generated/DashboardStatsResponseDTO';
|
||||
import type { AdminDashboardViewData } from '@/lib/view-data/AdminDashboardViewData';
|
||||
import type { ViewDataBuilder } from '@/lib/contracts/builders/ViewDataBuilder';
|
||||
|
||||
/**
|
||||
* AdminDashboardViewDataBuilder
|
||||
*
|
||||
* Transforms DashboardStats API DTO into AdminDashboardViewData for server-side rendering.
|
||||
* Deterministic; side-effect free; no HTTP calls.
|
||||
*/
|
||||
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
|
||||
|
||||
export class AdminDashboardViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
build(input: any): any {
|
||||
return AdminDashboardViewDataBuilder.build(input);
|
||||
}
|
||||
|
||||
static build(
|
||||
static build(apiDto: DashboardStats): AdminDashboardViewData {
|
||||
export class AdminDashboardViewDataBuilder {
|
||||
public static build(apiDto: DashboardStatsResponseDTO): AdminDashboardViewData {
|
||||
return {
|
||||
stats: {
|
||||
totalUsers: apiDto.totalUsers,
|
||||
@@ -29,4 +18,6 @@ export class AdminDashboardViewDataBuilder implements ViewDataBuilder<any, any>
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AdminDashboardViewDataBuilder satisfies ViewDataBuilder<DashboardStatsResponseDTO, AdminDashboardViewData>;
|
||||
|
||||
Reference in New Issue
Block a user