UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

589 lines (588 loc) 19.1 kB
import { dashboardBaseUrl, makeRequest } from '../../../common/index.js'; /** * Method information for dashboard location store item group endpoints */ export const LocationStoreItemGroupMethods = { list: { description: 'List store item groups for a store location', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group', 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: 'ListLocationStoreItemGroupsRequest', isMultipart: false, originalName: 'list', isWrite: false, permissions: ['store-menu-management:api:read'], }, get: { description: 'Get a specific store item group by unique name', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{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: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'GetLocationStoreItemGroupRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['store-menu-management:api:read'], }, getParents: { description: 'Get parent categories for a store item group', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/parents', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'GetLocationStoreItemGroupParentsRequest', isMultipart: false, originalName: 'getParents', isWrite: false, permissions: ['store-menu-management:api:read'], }, getChildren: { description: 'Get child entities for a store item group', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/children', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'GetLocationStoreItemGroupChildrenRequest', isMultipart: false, originalName: 'getChildren', isWrite: false, permissions: ['store-menu-management:api:read'], }, getItemOptions: { description: 'Get item options for a store item group', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/item-options', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'GetLocationStoreItemGroupItemOptionsRequest', isMultipart: false, originalName: 'getItemOptions', isWrite: false, permissions: ['store-menu-management:api:read'], }, create: { description: 'Create a new store item group', method: 'post', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, ], queryParams: [], requestType: 'CreateLocationStoreItemGroupRequest', isMultipart: false, originalName: 'create', isWrite: true, permissions: ['store-menu-management:api:create'], }, update: { description: 'Update a store item group', method: 'put', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{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: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupRequest', isMultipart: false, originalName: 'update', isWrite: true, permissions: ['store-menu-management:api:update'], }, patch: { description: 'Partially update a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{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: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'PatchLocationStoreItemGroupRequest', isMultipart: false, originalName: 'patch', isWrite: true, permissions: ['store-menu-management:api:update'], }, delete: { description: 'Delete a store item group', method: 'delete', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{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: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'DeleteLocationStoreItemGroupRequest', isMultipart: false, originalName: 'delete', isWrite: true, permissions: ['store-menu-management:api:delete'], }, clone: { description: 'Clone a store item group', method: 'post', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/clone', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'CloneLocationStoreItemGroupRequest', isMultipart: false, originalName: 'clone', isWrite: true, permissions: ['store-menu-management:api:create'], }, updateProperties: { description: 'Update properties for a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/properties', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupPropertiesRequest', isMultipart: false, originalName: 'updateProperties', isWrite: true, permissions: ['store-menu-management:api:update'], }, updateItemOptions: { description: 'Update item options for a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/item-options', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupItemOptionsRequest', isMultipart: false, originalName: 'updateItemOptions', isWrite: true, permissions: ['store-menu-management:api:update'], }, updateStoreItemGroupCategories: { description: 'Update categories for a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/categories', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupCategoriesRequest', isMultipart: false, originalName: 'updateStoreItemGroupCategories', isWrite: true, permissions: ['store-menu-management:api:update'], }, updatePropertiesShowOrder: { description: 'Update show order for properties in a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/properties/show-order', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupPropertiesShowOrderRequest', isMultipart: false, originalName: 'updatePropertiesShowOrder', isWrite: true, permissions: ['store-menu-management:api:update'], }, updateItemOptionsShowOrder: { description: 'Update show order for item options in a store item group', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/store/{storeId}/store-item-group/{uniqueName}/item-options/show-order', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'storeId', type: 'string', description: 'Store ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Group unique name', required: true, }, ], queryParams: [], requestType: 'UpdateLocationStoreItemGroupItemOptionsShowOrderRequest', isMultipart: false, originalName: 'updateItemOptionsShowOrder', isWrite: true, permissions: ['store-menu-management:api:update'], }, }; /** * Handlers for dashboard location store item group endpoints */ export const LocationStoreItemGroupHandlers = { list: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.list, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, get: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getParents: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.getParents, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getChildren: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.getChildren, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getItemOptions: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.getItemOptions, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, create: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, update: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.update, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patch: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.patch, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, delete: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.delete, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, clone: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.clone, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateProperties: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.updateProperties, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateItemOptions: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.updateItemOptions, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateStoreItemGroupCategories: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.updateStoreItemGroupCategories, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updatePropertiesShowOrder: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.updatePropertiesShowOrder, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateItemOptionsShowOrder: async (accessToken, args) => { return makeRequest(LocationStoreItemGroupMethods.updateItemOptionsShowOrder, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };