UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

192 lines (191 loc) 5.82 kB
import { dashboardBaseUrl, makeRequest } from '../../../common/index.js'; /** * Method information for dashboard menu sync config endpoints */ export const MenuSyncConfigMethods = { list: { description: 'List all menu sync configurations for a merchant', method: 'get', path: '/menuSync/api/v2/merchants/{merchantId}/configurations', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'ListMenuSyncConfigsRequest', isMultipart: false, originalName: 'list', isWrite: false, permissions: ['store-menu-management:api:read'], }, get: { description: 'Get a specific menu sync configuration', method: 'get', path: '/menuSync/api/v2/merchants/{merchantId}/configurations/{uuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uuid', type: 'string', description: 'Configuration UUID', required: true, }, ], queryParams: [], requestType: 'GetMenuSyncConfigRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['store-menu-management:api:read'], }, create: { description: 'Create a new menu sync configuration', method: 'post', path: '/menuSync/api/v2/merchants/{merchantId}/configurations', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'CreateMenuSyncConfigRequest', isMultipart: false, originalName: 'create', isWrite: true, permissions: ['store-menu-management:api:create'], }, put: { description: 'Update a menu sync configuration', method: 'put', path: '/menuSync/api/v2/merchants/{merchantId}/configurations/{uuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uuid', type: 'string', description: 'Configuration UUID', required: true, }, ], queryParams: [], requestType: 'UpdateMenuSyncConfigRequest', isMultipart: false, originalName: 'put', isWrite: true, permissions: ['store-menu-management:api:update'], }, patch: { description: 'Partially update a menu sync configuration', method: 'patch', path: '/menuSync/api/v2/merchants/{merchantId}/configurations/{uuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uuid', type: 'string', description: 'Configuration UUID', required: true, }, ], queryParams: [], requestType: 'PatchMenuSyncConfigRequest', isMultipart: false, originalName: 'patch', isWrite: true, permissions: ['store-menu-management:api:update'], }, delete: { description: 'Delete a menu sync configuration', method: 'delete', path: '/menuSync/api/v2/merchants/{merchantId}/configurations/{uuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uuid', type: 'string', description: 'Configuration UUID', required: true, }, ], queryParams: [], requestType: 'DeleteMenuSyncConfigRequest', isMultipart: false, originalName: 'delete', isWrite: true, permissions: ['store-menu-management:api:delete'], }, }; /** * Handlers for dashboard menu sync config endpoints */ export const MenuSyncConfigHandlers = { list: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.list, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, get: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, create: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, put: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.put, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patch: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.patch, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, delete: async (accessToken, args) => { return makeRequest(MenuSyncConfigMethods.delete, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };