UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

111 lines (110 loc) 3.19 kB
import { dashboardBaseUrl, makeRequest } from '../../common/index.js'; /** * Method information for dashboard merchant endpoints */ export const MerchantMethods = { create: { description: 'Create a new merchant', method: 'post', path: '/store-v2/api/v2/merchants', pathParams: [], queryParams: [], requestType: 'CreateMerchantDto', isMultipart: false, originalName: 'create', isWrite: true, permissions: [], // No explicit permissions as this is handled by auth user check }, get: { description: 'Get merchant by ID', method: 'get', path: '/store-v2/api/v2/merchants/{merchantId}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID (auto-populated from auth context)', internal: true, required: true, populatedFrom: 'x-access-token', }, ], queryParams: [], requestType: 'GetMerchantRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['merchant:api:read'], }, patch: { description: 'Partially update merchant', method: 'patch', path: '/store-v2/api/v2/merchants/{merchantId}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'PatchMerchantDto', isMultipart: false, originalName: 'patch', isWrite: true, permissions: ['merchant:api:update'], }, update: { description: 'Update merchant', method: 'put', path: '/store-v2/api/v2/merchants/{merchantId}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'UpdateMerchantDto', isMultipart: false, originalName: 'update', isWrite: true, permissions: ['merchant:api:update'], }, }; /** * Handlers for dashboard merchant endpoints */ export const MerchantHandlers = { create: async (accessToken, args) => { return makeRequest(MerchantMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, get: async (accessToken, args) => { return makeRequest(MerchantMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patch: async (accessToken, args) => { return makeRequest(MerchantMethods.patch, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, update: async (accessToken, args) => { return makeRequest(MerchantMethods.update, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };