@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
589 lines (588 loc) • 19.1 kB
JavaScript
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,
});
},
};