UNPKG

@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
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); } }