package http // UpdateLeaderboardRequest is POST /leaderboard/update payload. type UpdateLeaderboardRequest struct { SessionID string `json:"session_id" validate:"required,min=1,max=64"` PlayerID string `json:"player_id" validate:"required,min=1,max=128"` PlayerName string `json:"player_name" validate:"required,player_name"` TotalScore int `json:"total_score" validate:"min=0"` QuestionsAsked int `json:"questions_asked" validate:"min=0"` QuestionsCorrect int `json:"questions_correct" validate:"min=0"` HintsUsed int `json:"hints_used" validate:"min=0"` DurationSeconds int `json:"duration_seconds" validate:"min=0"` CompletedAt string `json:"completed_at" validate:"required"` CompletionType string `json:"completion_type" validate:"required,oneof=completed timed_out abandoned"` }