30 lines
666 B
TypeScript
30 lines
666 B
TypeScript
import { ViewData } from '@/lib/contracts/view-data/ViewData';
|
|
|
|
/**
|
|
* AdminUsersViewData
|
|
*
|
|
* ViewData for AdminUsersTemplate.
|
|
* Template-ready data structure with only primitives.
|
|
*/
|
|
|
|
export interface AdminUsersViewData extends ViewData {
|
|
users: Array<{
|
|
id: string;
|
|
email: string;
|
|
displayName: string;
|
|
roles: string[];
|
|
status: string;
|
|
isSystemAdmin: boolean;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
lastLoginAt?: string;
|
|
primaryDriverId?: string;
|
|
}>;
|
|
total: number;
|
|
page: number;
|
|
limit: number;
|
|
totalPages: number;
|
|
// Pre-computed derived values for template
|
|
activeUserCount: number;
|
|
adminCount: number;
|
|
} |