UNPKG

@parcl-finance/product-sdk

Version:

TypeScript SDK for interacting with Parcl's product APIs

102 lines 3.39 kB
"use strict"; 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