@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
97 lines (96 loc) • 2.88 kB
JavaScript
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,
});
},
};