package com.gcsc.connection.statistics.dto;

import java.util.List;

/**
 * 사용자별 통계 응답 DTO
 */
public record UserStatsResponse(
    long totalUsers,
    long usersWithActiveKey,
    long totalActiveUsers,
    List<UserRequestRank> topUsers,
    List<UserRoleDistribution> roleDistribution,
    List<DailyActiveUsers> dailyActiveUsers
) {

    public record UserRequestRank(
        Long userId,
        String userName,
        String role,
        long requestCount,
        double successRate
    ) {}

    public record UserRoleDistribution(
        String role,
        long userCount,
        long requestCount
    ) {}

    public record DailyActiveUsers(
        String date,
        long activeUsers
    ) {}
}
