website refactor
This commit is contained in:
@@ -1,26 +1,24 @@
|
||||
import { DashboardStats } from '@/lib/api/admin/AdminApiClient';
|
||||
import { AdminDashboardViewData } from '@/lib/view-data/AdminDashboardViewData';
|
||||
import type { DashboardStats } from '@/lib/api/admin/AdminApiClient';
|
||||
import type { AdminDashboardViewData } from '@/lib/view-data/AdminDashboardViewData';
|
||||
|
||||
/**
|
||||
* AdminDashboardViewDataBuilder
|
||||
*
|
||||
* Server-side builder that transforms API DashboardStats DTO
|
||||
* directly into ViewData for the AdminDashboardTemplate.
|
||||
*
|
||||
* Deterministic, side-effect free.
|
||||
*
|
||||
* Transforms DashboardStats API DTO into AdminDashboardViewData for server-side rendering.
|
||||
* Deterministic; side-effect free; no HTTP calls.
|
||||
*/
|
||||
export class AdminDashboardViewDataBuilder {
|
||||
static build(apiStats: DashboardStats): AdminDashboardViewData {
|
||||
static build(apiDto: DashboardStats): AdminDashboardViewData {
|
||||
return {
|
||||
stats: {
|
||||
totalUsers: apiStats.totalUsers,
|
||||
activeUsers: apiStats.activeUsers,
|
||||
suspendedUsers: apiStats.suspendedUsers,
|
||||
deletedUsers: apiStats.deletedUsers,
|
||||
systemAdmins: apiStats.systemAdmins,
|
||||
recentLogins: apiStats.recentLogins,
|
||||
newUsersToday: apiStats.newUsersToday,
|
||||
totalUsers: apiDto.totalUsers,
|
||||
activeUsers: apiDto.activeUsers,
|
||||
suspendedUsers: apiDto.suspendedUsers,
|
||||
deletedUsers: apiDto.deletedUsers,
|
||||
systemAdmins: apiDto.systemAdmins,
|
||||
recentLogins: apiDto.recentLogins,
|
||||
newUsersToday: apiDto.newUsersToday,
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user