@trophyso/node
Version:
NodeJS SDK for the Trophy API
39 lines (38 loc) • 1.93 kB
TypeScript
import type * as TrophyApi from "../index";
/**
* A leaderboard update object. `id` is required. Once a leaderboard has been activated, the dashboard-imposed restrictions on ranking configuration and scheduling changes still apply.
*/
export interface UpdateLeaderboardRequestItem {
/** The UUID of the leaderboard to update. */
id: string;
/** The updated leaderboard name. */
name?: string;
/** The updated leaderboard key. This can only be changed while the leaderboard is inactive. */
key?: string;
/** The updated leaderboard description. */
description?: string;
/** The target user-facing status. `scheduled` activates a leaderboard whose start date is in the future. `finished` behaves like the dashboard finish action. */
status?: TrophyApi.UpdateLeaderboardRequestItemStatus;
/** The updated ranking criterion. This can only be changed while the leaderboard is inactive. */
rankBy?: TrophyApi.UpdateLeaderboardRequestItemRankBy;
/** The metric ID to use when `rankBy` is `metric`. */
metricId?: string;
/** The points system ID to use when `rankBy` is `points`. */
pointsSystemId?: string;
/** The updated maximum number of participants. */
maxParticipants?: number;
/** The updated start date in YYYY-MM-DD format. */
start?: string;
/** The updated end date in YYYY-MM-DD format, or `null` to clear it. */
end?: string;
/** The updated start of the daily ranking time window in HH:mm format, or `null` to clear it. */
startTime?: string;
/** The updated end of the daily ranking time window in HH:mm format, or `null` to clear it. */
endTime?: string;
/** The updated breakdown attribute UUIDs. */
breakdownAttributes?: string[];
/** The updated recurrence unit. */
runUnit?: TrophyApi.UpdateLeaderboardRequestItemRunUnit;
/** The updated recurrence interval. */
runInterval?: number;
}