@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
64 lines (63 loc) • 1.89 kB
JavaScript
import { dashboardBaseUrl, makeRequest } from '../../common/index.js';
/**
* Method information for dashboard grid layout endpoints
*/
export const GridLayoutMethods = {
getStatus: {
description: 'Get grid layout status for a merchant',
method: 'get',
path: '/menuOrchestrator/api/v1/merchants/{merchantId}/grid-layouts',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'GetGridLayoutStatusRequest',
isMultipart: false,
originalName: 'getStatus',
isWrite: false,
permissions: ['merchant-menu-management:api:read'],
},
sync: {
description: 'Synchronize grid layout for a merchant',
method: 'post',
path: '/menuOrchestrator/api/v1/merchants/{merchantId}/grid-layouts',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'SyncGridLayoutRequest',
isMultipart: false,
originalName: 'sync',
isWrite: true,
permissions: ['merchant-menu-management:api:create'],
},
};
/**
* Handlers for dashboard grid layout endpoints
*/
export const GridLayoutHandlers = {
getStatus: async (accessToken, args) => {
return makeRequest(GridLayoutMethods.getStatus, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
sync: async (accessToken, args) => {
return makeRequest(GridLayoutMethods.sync, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
};