@parcl-finance/product-sdk
Version:
TypeScript SDK for interacting with Parcl's product APIs
102 lines • 3.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PerpetualPoints = void 0;
const httpClient_1 = require("./httpClient");
const constants_1 = require("./constants");
class PerpetualPoints {
_baseUrl;
user;
headers;
client;
expressClient;
constructor({ baseUrl, user, accessToken, env }) {
const headers = {};
if (accessToken !== undefined) {
headers["Authorization"] = "Bearer " + accessToken;
}
this.headers = headers;
this._baseUrl = baseUrl.concat("/perpetual-points");
this.user = user;
this.client = new httpClient_1.HttpClient(this._baseUrl, this.headers);
this.expressClient = new httpClient_1.HttpClient((0, constants_1.getDefaultExpressApiUrl)(env), this.headers);
}
setUser(user) {
this.user = user;
}
async status() {
const userPointsWidgetData = await this.client.get({
path: `/user/${this.user}/status`,
});
return userPointsWidgetData;
}
async getLeaderboard() {
return await this.client.get({
path: "/leaderboard",
});
}
async pointsSummary() {
const userPointsSummary = await this.client.get({
path: `/user/${this.user}/points-summary`,
});
return userPointsSummary;
}
async boostedTotalPoints() {
const grandTotalPoints = await this.client.get({
path: `/user/${this.user}/grand-total-points`,
});
return grandTotalPoints;
}
async generateReferralCode(user, referralCode, accessToken) {
if (referralCode.length > 20) {
throw new Error("The referral code cannot be longer than 20 characters");
}
const { referralsUser } = await this.client.post({
path: "referrals/generate-code",
params: { user },
body: { referralCode },
accessToken,
});
return referralsUser;
}
async useReferralCode(user, referralCode, accessToken) {
if (referralCode.length > 20) {
throw new Error("Referral codes cannot be longer than 20 characters");
}
const { referralsUser } = await this.client.post({
path: "referrals/use-code",
params: { user },
body: { referralCode },
accessToken,
});
return referralsUser;
}
async getReferralsUserInfo(user, accessToken) {
const referralsInfo = await this.client.get({
path: "referrals/user-info",
params: { user },
accessToken,
});
return referralsInfo;
}
async getUserReferredByCode(user) {
const { referredByCode } = await this.client.get({
path: "referrals/user-referred-by",
params: { user },
});
return referredByCode ?? undefined;
}
async getPPPS1FinalLeaderboard() {
const { leaderboard } = await this.expressClient.get({
path: "/points/ppps1-final",
});
return leaderboard;
}
async getPPPS1UserAllocation(address) {
const { result } = await this.expressClient.get({
path: `/user/${address}/ppps1`,
});
return result;
}
}
exports.PerpetualPoints = PerpetualPoints;
//# sourceMappingURL=perpetualPoints.js.map