@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
129 lines (128 loc) • 3.7 kB
JavaScript
import { dashboardBaseUrl, makeRequest } from '../../common/index.js';
/**
* Method information for dashboard web merchant endpoints
*/
export const WebMerchantMethods = {
get: {
description: 'Get web merchant configuration',
method: 'get',
path: '/webstore/api/v2/web-merchants/{merchantId}',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'GetWebMerchantRequest',
isMultipart: false,
originalName: 'get',
isWrite: false,
permissions: ['merchant:api:read'],
},
getUrls: {
description: 'Get web merchant URLs',
method: 'get',
path: '/webstore/api/v2/web-merchants/{merchantId}/urls',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [
{
name: 'userId',
type: 'string',
description: 'User ID',
required: false,
},
{
name: 'tag',
type: 'string',
description: 'Tag',
required: false,
},
],
requestType: 'GetWebMerchantUrlsRequest',
isMultipart: false,
originalName: 'getUrls',
isWrite: false,
permissions: ['merchant:api:read'],
},
getHostnames: {
description: 'Get web merchant hostnames',
method: 'get',
path: '/webstore/api/v2/web-merchants/{merchantId}/hostnames',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'GetWebMerchantHostnamesRequest',
isMultipart: false,
originalName: 'getHostnames',
isWrite: false,
permissions: ['merchant:api:read'],
},
patch: {
description: 'Update web merchant configuration',
method: 'patch',
path: '/webstore/api/v2/web-merchants/{merchantId}',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'PatchWebMerchantRequest',
isMultipart: false,
originalName: 'patch',
isWrite: true,
permissions: ['merchant:api:update'],
},
};
/**
* Handlers for dashboard web merchant endpoints
*/
export const WebMerchantHandlers = {
get: async (accessToken, args) => {
return makeRequest(WebMerchantMethods.get, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
getUrls: async (accessToken, args) => {
return makeRequest(WebMerchantMethods.getUrls, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
getHostnames: async (accessToken, args) => {
return makeRequest(WebMerchantMethods.getHostnames, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
patch: async (accessToken, args) => {
return makeRequest(WebMerchantMethods.patch, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
};