@myria/leaderboard-ts-sdk
Version:
Myria Leaderboard typescripts SDK which will manage leaderboard for game developers
42 lines (41 loc) • 2.72 kB
TypeScript
import { CreateLeaderboardParams, InitLeaderboardParams, LeaderboardData, IQueryScoreParams, IQueryScoreByPlayerParams, IScoreByUserResp, IPostScoreParams, IPostScoreResponse, IQueryScoresResp, IQueryLeaderboardsParams, GetLeaderboardDetailsInfo, SetGameMetadataParams, SetConfigMetadataParams, SetGlobalMetadataParams, IUpdateUserInfoParams, IUserLeaderboard } from '../types/ILeaderboard.types';
import { APIResponseType, RewardDistributionConfigParams, RewardDistributionData, RewardInCurrentPeriod, RewardInPeriod, GetRewardsByPeriod, RewardDistribution } from '../types';
import { CommonPaginateDataTypes } from '../types/ICommon.types';
declare class LeaderboardManager {
private env;
private apiKey;
private leaderboardAPI;
constructor(params: InitLeaderboardParams);
createLeaderboard(leaderboardParams: CreateLeaderboardParams): Promise<LeaderboardData | null>;
deleteLeaderboardById(leaderboardId: number): Promise<boolean>;
getLeaderboards(params: IQueryLeaderboardsParams): Promise<APIResponseType<CommonPaginateDataTypes<LeaderboardData[]>>>;
/**
*
* @param queryScoreParams
* limit
*/
queryScoresByLeaderboardId(queryScoreParams: IQueryScoreParams): Promise<APIResponseType<CommonPaginateDataTypes<IQueryScoresResp> | null>>;
/**
*
* @param queryScoreByUserIdParams
* limit
*/
getScoresByPlayerId(queryScoreByUserIdParams: IQueryScoreByPlayerParams): Promise<APIResponseType<IScoreByUserResp | null>>;
/**
*
* @param postScoreParams
* limit
*/
postPlayerScore(postScoreParams: IPostScoreParams): Promise<APIResponseType<IPostScoreResponse>>;
createOrUpdateRewardDistributionConfig(createRewardConfig: RewardDistributionConfigParams): Promise<RewardDistribution>;
getSimplifiedRewardConfig(getLeaderboardDetailsParams: GetLeaderboardDetailsInfo, period?: number): Promise<RewardDistribution>;
getRewardDistributionInfo(getLeaderboardDetailsParams: GetLeaderboardDetailsInfo): Promise<RewardDistributionData>;
getRewardsInCurrrentPeriod(getLeaderboardDetailsParams: GetLeaderboardDetailsInfo): Promise<RewardInCurrentPeriod>;
getRewardsWithPeriod(getRewardWithPeriod: GetRewardsByPeriod): Promise<RewardInPeriod>;
getLeaderboardDetailsInfo(getLeaderboardDetailsParams: GetLeaderboardDetailsInfo): Promise<LeaderboardData>;
setGameMetadata(params: SetGameMetadataParams): Promise<LeaderboardData>;
setConfigMetadata(params: SetConfigMetadataParams): Promise<LeaderboardData>;
setGlobalMetadata(params: SetGlobalMetadataParams): Promise<LeaderboardData>;
updateUserInfo(params: IUpdateUserInfoParams): Promise<IUserLeaderboard>;
}
export { LeaderboardManager };