/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { metricsCreateDashboard } from "../funcs/metricsCreateDashboard.js"; import { metricsDeleteDashboard } from "../funcs/metricsDeleteDashboard.js"; import { ExportAcceptEnum, metricsExport } from "../funcs/metricsExport.js"; import { metricsGet } from "../funcs/metricsGet.js"; import { metricsGetDashboard } from "../funcs/metricsGetDashboard.js"; import { metricsLimits } from "../funcs/metricsLimits.js"; import { metricsListDashboards } from "../funcs/metricsListDashboards.js"; import { metricsUpdateDashboard } from "../funcs/metricsUpdateDashboard.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { MetricDashboardCreate } from "../models/components/metricdashboardcreate.js"; import { MetricDashboardSchema } from "../models/components/metricdashboardschema.js"; import { MetricsLimits } from "../models/components/metricslimits.js"; import { MetricsResponse } from "../models/components/metricsresponse.js"; import { MetricsDeleteDashboardRequest } from "../models/operations/metricsdeletedashboard.js"; import { MetricsExportRequest, MetricsExportResponse, } from "../models/operations/metricsexport.js"; import { MetricsGetRequest } from "../models/operations/metricsget.js"; import { MetricsGetDashboardRequest } from "../models/operations/metricsgetdashboard.js"; import { MetricsListDashboardsRequest } from "../models/operations/metricslistdashboards.js"; import { MetricsUpdateDashboardRequest } from "../models/operations/metricsupdatedashboard.js"; import { unwrapAsync } from "../types/fp.js"; export { ExportAcceptEnum } from "../funcs/metricsExport.js"; export class Metrics extends ClientSDK { /** * Get Metrics * * @remarks * Get metrics about your orders and subscriptions. * * Currency values are output in cents. * * **Scopes**: `metrics:read` */ async get( request: MetricsGetRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsGet( this, request, options, )); } /** * Export Metrics * * @remarks * Export metrics as a CSV file. * * **Scopes**: `metrics:read` */ async export( request: MetricsExportRequest, options?: RequestOptions & { acceptHeaderOverride?: ExportAcceptEnum }, ): Promise { return unwrapAsync(metricsExport( this, request, options, )); } /** * Get Metrics Limits * * @remarks * Get the interval limits for the metrics endpoint. * * **Scopes**: `metrics:read` */ async limits( options?: RequestOptions, ): Promise { return unwrapAsync(metricsLimits( this, options, )); } /** * List Metric Dashboards * * @remarks * List user-defined metric dashboards. * * **Scopes**: `metrics:read` */ async listDashboards( request: MetricsListDashboardsRequest, options?: RequestOptions, ): Promise> { return unwrapAsync(metricsListDashboards( this, request, options, )); } /** * Create Metric Dashboard * * @remarks * Create a user-defined metric dashboard. * * **Scopes**: `metrics:write` */ async createDashboard( request: MetricDashboardCreate, options?: RequestOptions, ): Promise { return unwrapAsync(metricsCreateDashboard( this, request, options, )); } /** * Get Metric Dashboard * * @remarks * Get a user-defined metric dashboard by ID. * * **Scopes**: `metrics:read` */ async getDashboard( request: MetricsGetDashboardRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsGetDashboard( this, request, options, )); } /** * Delete Metric Dashboard * * @remarks * Delete a user-defined metric dashboard. * * **Scopes**: `metrics:write` */ async deleteDashboard( request: MetricsDeleteDashboardRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsDeleteDashboard( this, request, options, )); } /** * Update Metric Dashboard * * @remarks * Update a user-defined metric dashboard. * * **Scopes**: `metrics:write` */ async updateDashboard( request: MetricsUpdateDashboardRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsUpdateDashboard( this, request, options, )); } }