@myria/leaderboard-ts-sdk
Version:
Myria Leaderboard typescripts SDK which will manage leaderboard for game developers
82 lines • 7.28 kB
JavaScript
import { LeaderboardAPI } from '../core/apis/LeaderboardAPI';
class RewardManager {
constructor(env) {
this.env = env;
this.leaderboardAPI = new LeaderboardAPI(this.env);
}
async getRewards(rewardParams) {
if (!rewardParams.leaderboardId) {
throw new Error('Leaderboard ID is required');
}
if (!rewardParams.userId) {
throw new Error('User ID is required');
}
const rewardData = await this.leaderboardAPI.getRewardData(rewardParams);
if (rewardData.status !== 'success') {
throw new Error('There is an internal server error when fetching the rewards');
}
return rewardData.data;
}
async preClaimRewards(preClaimParams) {
if (!preClaimParams.leaderboardId) {
throw new Error('Leaderboard ID is required');
}
if (!preClaimParams.userId) {
throw new Error('User ID is required');
}
if (!preClaimParams.rewardIds ||
(preClaimParams.rewardIds && preClaimParams.rewardIds.length === 0)) {
throw new Error('Reward Ids are required');
}
if (!preClaimParams.xSignature ||
(preClaimParams.xSignature && preClaimParams.xSignature.length <= 1)) {
throw new Error('X-Signature is required');
}
if (!preClaimParams.xStarkKey ||
(preClaimParams.xStarkKey && preClaimParams.xStarkKey.length <= 1)) {
throw new Error('X-StarkKey is required');
}
if (!preClaimParams.xTimestamp ||
(preClaimParams.xTimestamp && preClaimParams.xTimestamp.length <= 1)) {
throw new Error('X-TimeStamp is required');
}
const rewardData = await this.leaderboardAPI.preClaim(preClaimParams);
if (rewardData.status !== 'success') {
throw new Error('There is an internal server error when trigger pre claim rewards');
}
return rewardData.data;
}
async postClaimRewards(postClaimParam) {
if (!postClaimParam.leaderboardId) {
throw new Error('Leaderboard ID is required');
}
if (!postClaimParam.userId) {
throw new Error('User ID is required');
}
if (!postClaimParam.xSignature ||
(postClaimParam.xSignature && postClaimParam.xSignature.length <= 1)) {
throw new Error('X-Signature is required');
}
if (!postClaimParam.xStarkKey ||
(postClaimParam.xStarkKey && postClaimParam.xStarkKey.length <= 1)) {
throw new Error('X-StarkKey is required');
}
if ((!postClaimParam.transactionHash ||
(postClaimParam.transactionHash &&
postClaimParam.transactionHash.length < 1)) &&
!postClaimParam.errorMessage) {
throw new Error('Either transaction hash or error message must be existed');
}
if (!postClaimParam.rewardIds ||
(postClaimParam.rewardIds && postClaimParam.rewardIds.length === 0)) {
throw new Error('Reward Ids are required');
}
const rewardData = await this.leaderboardAPI.postClaimReward(postClaimParam);
if (rewardData.status !== 'success') {
throw new Error('There is an internal server error when trigger pre claim rewards');
}
return rewardData.data;
}
}
export { RewardManager };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV3YXJkTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL1Jld2FyZE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBVTdELE1BQU0sYUFBYTtJQUlqQixZQUFZLEdBQVc7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFlLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FDckIsWUFBOEI7UUFFOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUU7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkRBQTZELENBQzlELENBQUM7U0FDSDtRQUVELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FDMUIsY0FBOEI7UUFFOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxx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