UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

285 lines (284 loc) 8.82 kB
import { dashboardBaseUrl, makeRequest } from '../../../common/index.js'; /** * Method information for dashboard location menu concept endpoints */ export const LocationMenuConceptMethods = { list: { description: 'List menu concepts for a store location', method: 'get', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, ], queryParams: [ { name: 'page', type: 'number', description: 'Page number', required: false, }, { name: 'limit', type: 'number', description: 'Items per page', required: false, }, { name: 'filter', type: 'object', description: 'Filter parameters', required: false, }, ], requestType: 'ListLocationMenuConceptsRequest', isMultipart: false, originalName: 'list', isWrite: false, permissions: ['store-menu-management:api:read'], }, create: { description: 'Create a new menu concept', method: 'post', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, ], queryParams: [], requestType: 'CreateLocationMenuConceptRequest', isMultipart: false, originalName: 'create', isWrite: true, permissions: ['store-menu-management:api:create'], }, get: { description: 'Get a specific menu concept by unique name', method: 'get', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Menu concept unique name', required: true, }, ], queryParams: [], requestType: 'GetLocationMenuConceptRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['store-menu-management:api:read'], }, update: { description: 'Update a menu concept', method: 'put', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Menu concept unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationMenuConceptRequest', isMultipart: false, originalName: 'update', isWrite: true, permissions: ['store-menu-management:api:update'], }, patch: { description: 'Partially update a menu concept', method: 'patch', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Menu concept unique name', required: true, }, ], queryParams: [], requestType: 'PatchLocationMenuConceptRequest', isMultipart: false, originalName: 'patch', isWrite: true, permissions: ['store-menu-management:api:update'], }, delete: { description: 'Delete a menu concept', method: 'delete', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Menu concept unique name', required: true, }, ], queryParams: [], requestType: 'DeleteLocationMenuConceptRequest', isMultipart: false, originalName: 'delete', isWrite: true, permissions: ['store-menu-management:api:delete'], }, updateItemSets: { description: 'Update item sets for a menu concept', method: 'put', path: '/storeItems/api/v2/merchants/{merchantId}/stores/{storeId}/menu-concepts/{uniqueName}/item-sets', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Menu concept unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationMenuConceptItemSetsRequest', isMultipart: false, originalName: 'updateItemSets', isWrite: true, permissions: ['store-menu-management:api:update'], }, }; /** * Handlers for dashboard location menu concept endpoints */ export const LocationMenuConceptHandlers = { list: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.list, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, create: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, get: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, update: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.update, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patch: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.patch, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, delete: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.delete, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateItemSets: async (accessToken, args) => { return makeRequest(LocationMenuConceptMethods.updateItemSets, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };