UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

97 lines (96 loc) 2.88 kB
import { dashboardBaseUrl, makeRequest } from '../../common/index.js'; /** * Method information for dashboard SaaS endpoints */ export const SaaSMethods = { getOrganizationTemplates: { description: 'Fetch all organization templates for a given merchant', method: 'get', path: '/api/v2/merchants/{merchantId}/saas/templates', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'GetOrganizationTemplatesRequest', isMultipart: false, originalName: 'getOrganizationTemplates', isWrite: false, permissions: [], }, getTemplate: { description: 'Get a specific template by ID for a merchant', method: 'get', path: '/api/v2/merchants/{merchantId}/saas/template', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [ { name: 'templateId', type: 'string', description: 'Template ID', required: true, }, ], requestType: 'GetTemplateRequest', isMultipart: false, originalName: 'getTemplate', isWrite: false, permissions: [], }, listMergedSubscriptions: { description: 'List all merged subscriptions for a merchant', method: 'get', path: '/api/v2/merchants/{merchantId}/saas/subscriptions', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'ListMergedSubscriptionsRequest', isMultipart: false, originalName: 'listMergedSubscriptions', isWrite: false, permissions: [], }, }; /** * Handlers for dashboard SaaS endpoints */ export const SaaSHandlers = { getOrganizationTemplates: async (accessToken, args) => { return makeRequest(SaaSMethods.getOrganizationTemplates, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getTemplate: async (accessToken, args) => { return makeRequest(SaaSMethods.getTemplate, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, listMergedSubscriptions: async (accessToken, args) => { return makeRequest(SaaSMethods.listMergedSubscriptions, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };