UNPKG

@paddle/paddle-mcp

Version:
54 lines (53 loc) 2.07 kB
import { LogLevel, Paddle } from "@paddle/paddle-node-sdk"; import { createPrice, createProduct, createReport, listCustomers, listPrices, listProducts, listSubscriptions, listTransactions, } from "./functions.js"; class PaddleAPI { paddle; environment; constructor(apiKey, environment) { const paddle = new Paddle(apiKey, { environment: environment, logLevel: LogLevel.error, }); this.paddle = paddle; this.environment = environment; } // eslint-disable-next-line @typescript-eslint/no-explicit-any async run(method, arg) { if (method === "create_product") { const output = JSON.stringify(await createProduct(this.paddle, arg)); return output; } else if (method === "list_products") { const output = JSON.stringify(await listProducts(this.paddle, arg)); return output; } else if (method === "create_price") { const output = JSON.stringify(await createPrice(this.paddle, arg)); return output; } else if (method === "list_prices") { const output = JSON.stringify(await listPrices(this.paddle, arg)); return output; } else if (method === "list_customers") { const output = JSON.stringify(await listCustomers(this.paddle, arg)); return output; } else if (method === "list_transactions") { const output = JSON.stringify(await listTransactions(this.paddle, arg)); return output; } else if (method === "list_subscriptions") { const output = JSON.stringify(await listSubscriptions(this.paddle, arg)); return output; } else if (method === "create_report") { const output = JSON.stringify(await createReport(this.paddle, arg, this.environment)); return output; } else { throw new Error("Invalid method " + method); } } } export default PaddleAPI;