@trophyso/node
Version:
NodeJS SDK for the Trophy API
37 lines (36 loc) • 1.9 kB
TypeScript
import type * as TrophyApi from "../index";
/**
* A leaderboard to create.
*/
export interface CreateLeaderboardRequestItem {
/** The leaderboard name. */
name: string;
/** The leaderboard key. Only alphanumeric characters, hyphens, and underscores are permitted. */
key: string;
/** The leaderboard description. */
description?: string;
/** The initial user-facing status. Defaults to `inactive`. Use `scheduled` for leaderboards that should be active in the future and `finished` only when creating a leaderboard with an end date in the past. */
status?: TrophyApi.CreateLeaderboardRequestItemStatus;
/** What the leaderboard ranks by. */
rankBy: TrophyApi.CreateLeaderboardRequestItemRankBy;
/** The metric ID to rank by when `rankBy` is `metric`. */
metricId?: string;
/** The points system ID to rank by when `rankBy` is `points`. */
pointsSystemId?: string;
/** The maximum number of participants. Defaults to `1000`. */
maxParticipants?: number;
/** The leaderboard start date in YYYY-MM-DD format. Defaults to today when omitted. */
start?: string;
/** The optional leaderboard end date in YYYY-MM-DD format. */
end?: 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 UUIDs of the active user attributes to break rankings down by. */
breakdownAttributes?: string[];
/** How often the leaderboard repeats. Omit for a non-recurring leaderboard. Streak leaderboards cannot repeat. */
runUnit?: TrophyApi.CreateLeaderboardRequestItemRunUnit;
/** The number of `runUnit`s between repeats. Required when `runUnit` is set. */
runInterval?: number;
}