package dev.lions.user.manager.dto.common;

import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.eclipse.microprofile.openapi.annotations.media.Schema;

import java.io.Serializable;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
@Schema(description = "Statistiques de sessions et d'utilisateurs en ligne pour un realm")
public class UserSessionStatsDTO implements Serializable {

    @Schema(description = "Nom du realm concerné")
    private String realmName;

    @Schema(description = "Nombre total d'utilisateurs dans le realm")
    private long totalUsers;

    @Schema(description = "Nombre total de sessions actives (approximation)")
    private long activeSessions;

    @Schema(description = "Nombre d'utilisateurs considérés comme en ligne (approximation)")
    private long onlineUsers;
}

