@haechi-labs/henesis-cli
Version:
🚀 Command Line Interface tool to Utilize henesis
53 lines • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const class_transformer_1 = require("class-transformer");
const wretch_1 = require("../wretch");
const url_1 = require("./url");
const utils_1 = require("../../utils");
const types_1 = require("../../types");
const url_2 = require("./url");
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
const utc_1 = tslib_1.__importDefault(require("dayjs/plugin/utc"));
class NFTRpc {
constructor(server, version) {
this.server = server + '/nft/' + version + '/stats';
this.rpcVersion = version;
}
async dailyUsage() {
const clientId = utils_1.getUserProperty('clientId');
// Date Setting
dayjs_1.default.extend(utc_1.default);
let now = dayjs_1.default().utc();
const startDate = now
.startOf('month')
.add(1, 'day')
.format('YYYY-MM-DD');
const nowDate = now.format('YYYY-MM-DD');
const json = await wretch_1.getWretcher()
.url(`${this.server}/jsonRpcDailyStats?clientId=${clientId}&start=${startDate}&end=${nowDate}&size=31&page=0&order_by=date&order_direction=DESC`)
.get()
.error(401, err => {
throw new Error('You are not registered at NFT API.');
})
.error(404, err => {
if (err.json.error.message === 'stats does not exist') {
return {
data: [],
};
}
})
.json()
.catch((err) => {
throw err;
});
if (!Array.isArray(json['data'])) {
throw new Error(`Expected dailyUsage to return an array but it returned ${json['data']}`);
}
return class_transformer_1.plainToClass(types_1.NFTDailyStat, json['data']);
}
}
exports.NFTRpc = NFTRpc;
const url = url_2.nftBaseUrl();
exports.default = new NFTRpc(url, url_1.rpcVersion);
//# sourceMappingURL=nft.js.map