@trophyso/node
Version:
NodeJS SDK for the Trophy API
50 lines (49 loc) • 2.73 kB
TypeScript
import type * as TrophyApi from "../index";
export interface MetricEventLeaderboardResponse {
/** The end date of the current run of the leaderboard, or null if the run never ends. */
end?: string;
/** The user's rank in the leaderboard, or null if the user is not on the leaderboard. */
rank?: number;
/** The user's rank in the leaderboard before the event, or null if the user was not on the leaderboard before the event. */
previousRank?: number;
/** The minimum value required to enter the leaderboard according to its current rankings. */
threshold: number;
/** Deprecated. For leaderboards with a single breakdown attribute, the value of that attribute for the user. */
breakdownAttributeValue?: string;
/** For leaderboards with breakdown attributes, the user's values for each breakdown attribute. */
breakdownAttributeValues?: TrophyApi.MetricEventLeaderboardResponseBreakdownAttributeValuesItem[];
/** The unique ID of the leaderboard. */
id: string;
/** The user-facing name of the leaderboard. */
name: string;
/** The unique key used to reference the leaderboard in APIs. */
key: string;
/** What the leaderboard ranks by. */
rankBy: TrophyApi.LeaderboardResponseRankBy;
/** Deprecated. The key of the attribute to break down this leaderboard by. */
breakdownAttribute?: string;
/** The user attribute keys that this leaderboard is broken down by. */
breakdownAttributes: string[];
/** The key of the metric to rank by, if rankBy is 'metric'. */
metricKey?: string;
/** The name of the metric to rank by, if rankBy is 'metric'. */
metricName?: string;
/** The key of the points system to rank by, if rankBy is 'points'. */
pointsSystemKey?: string;
/** The name of the points system to rank by, if rankBy is 'points'. */
pointsSystemName?: string;
/** The user-facing description of the leaderboard. */
description?: string;
/** The start date of the leaderboard in YYYY-MM-DD format. */
start: string;
/** When set, ranking only counts activity at or after this time of day in the user's timezone (HH:mm format). */
startTime?: string;
/** When set, ranking only counts activity before this time of day in the user's timezone (HH:mm format). */
endTime?: string;
/** The maximum number of participants in the leaderboard. */
maxParticipants?: number;
/** The repetition type for recurring leaderboards, or null for one-time leaderboards. */
runUnit?: TrophyApi.LeaderboardResponseRunUnit;
/** The interval between repetitions, relative to the start date and repetition type. Null for one-time leaderboards. */
runInterval?: number;
}