@paddle/paddle-node-sdk
Version:
A Node.js SDK that you can use to integrate Paddle Billing with applications written in server-side JavaScript.
57 lines (56 loc) • 3.12 kB
JavaScript
import { BaseResource, QueryParameters } from '../../internal/base/index.js';
import { MetricsTimeseriesActiveSubscribers, MetricsTimeseriesChargebacks, MetricsTimeseriesCheckoutConversion, MetricsTimeseriesMonthlyRecurringRevenue, MetricsTimeseriesMonthlyRecurringRevenueChange, MetricsTimeseriesRefunds, MetricsTimeseriesRevenue, } from '../../entities/index.js';
const MetricsPaths = {
activeSubscribers: '/metrics/active-subscribers',
monthlyRecurringRevenue: '/metrics/monthly-recurring-revenue',
monthlyRecurringRevenueChange: '/metrics/monthly-recurring-revenue-change',
revenue: '/metrics/revenue',
refunds: '/metrics/refunds',
chargebacks: '/metrics/chargebacks',
checkoutConversion: '/metrics/checkout-conversion',
};
export * from './operations/index.js';
export class MetricsResource extends BaseResource {
async getActiveSubscribers(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.activeSubscribers, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesActiveSubscribers(data);
}
async getMonthlyRecurringRevenue(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.monthlyRecurringRevenue, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesMonthlyRecurringRevenue(data);
}
async getMonthlyRecurringRevenueChange(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.monthlyRecurringRevenueChange, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesMonthlyRecurringRevenueChange(data);
}
async getRevenue(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.revenue, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesRevenue(data);
}
async getRefunds(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.refunds, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesRefunds(data);
}
async getChargebacks(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.chargebacks, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesChargebacks(data);
}
async getCheckoutConversion(queryParams) {
const queryParameters = new QueryParameters(queryParams);
const response = await this.client.get(MetricsPaths.checkoutConversion, queryParameters);
const data = this.handleResponse(response);
return new MetricsTimeseriesCheckoutConversion(data);
}
}