@myria/leaderboard-ts-sdk
Version:
Myria Leaderboard typescripts SDK which will manage leaderboard for game developers
85 lines • 7.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RewardManager = void 0;
const LeaderboardAPI_1 = require("../core/apis/LeaderboardAPI");
class RewardManager {
constructor(env) {
this.env = env;
this.leaderboardAPI = new LeaderboardAPI_1.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;
}
}
exports.RewardManager = RewardManager;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV3YXJkTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL1Jld2FyZE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0VBQTZEO0FBVTdELE1BQU0sYUFBYTtJQUlqQixZQUFZLEdBQVc7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksK0JBQWMsQ0FBQyxJQUFJLENBQUMsR0FBZSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQ3JCLFlBQThCO1FBRTlCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLGNBQThCO1FBRTlCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNE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