UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

442 lines (441 loc) 13.8 kB
import { dashboardBaseUrl, makeRequest } from '../../../common/index.js'; /** * Method information for dashboard merchant category endpoints */ export const MerchantCategoryMethods = { list: { description: 'List categories for a merchant', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/category', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant 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: 'ListMerchantCategoriesRequest', isMultipart: false, originalName: 'list', isWrite: false, permissions: ['merchant-menu-management:api:read'], }, getVersions: { description: 'Get versions of a category', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/versions', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'GetMerchantCategoryVersionsRequest', isMultipart: false, originalName: 'getVersions', isWrite: false, permissions: ['merchant-menu-management:api:read'], }, getParents: { description: 'Get parent item sets for a category', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/parents', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'GetMerchantCategoryParentsRequest', isMultipart: false, originalName: 'getParents', isWrite: false, permissions: ['merchant-menu-management:api:read'], }, getChildren: { description: 'Get child entities for a category', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/children', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [ { name: 'filter', type: 'object', description: 'Filter parameters', required: false, }, ], requestType: 'GetMerchantCategoryChildrenRequest', isMultipart: false, originalName: 'getChildren', isWrite: false, permissions: ['merchant-menu-management:api:read'], }, get: { description: 'Get a specific category by unique name', method: 'get', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'GetMerchantCategoryRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['merchant-menu-management:api:read'], }, patch: { description: 'Partially update a category', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'PatchMerchantCategoryRequest', isMultipart: false, originalName: 'patch', isWrite: true, permissions: ['merchant-menu-management:api:update'], }, create: { description: 'Create a new category', method: 'post', path: '/storeItems/api/v2/merchant/{merchantId}/category', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'CreateMerchantCategoryRequest', isMultipart: false, originalName: 'create', isWrite: true, permissions: ['merchant-menu-management:api:create'], }, updateChildren: { description: 'Update children for a category', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/children', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'UpdateMerchantCategoryChildrenRequest', isMultipart: false, originalName: 'updateChildren', isWrite: true, permissions: ['merchant-menu-management:api:update'], }, updateChildrenShowOrder: { description: 'Update show order for children in a category', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/children/show-order', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'UpdateMerchantCategoryChildrenShowOrderRequest', isMultipart: false, originalName: 'updateChildrenShowOrder', isWrite: true, permissions: ['merchant-menu-management:api:update'], }, clone: { description: 'Clone a category', method: 'post', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/clone', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'CloneMerchantCategoryRequest', isMultipart: false, originalName: 'clone', isWrite: true, permissions: ['merchant-menu-management:api:create'], }, patchMod: { description: 'Patch mods for a category', method: 'patch', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}/mods', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'PatchMerchantCategoryModsRequest', isMultipart: false, originalName: 'patchMod', isWrite: true, permissions: ['merchant-menu-management:api:update'], }, update: { description: 'Update a category', method: 'put', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'UpdateMerchantCategoryRequest', isMultipart: false, originalName: 'update', isWrite: true, permissions: ['merchant-menu-management:api:update'], }, delete: { description: 'Delete a category', method: 'delete', path: '/storeItems/api/v2/merchant/{merchantId}/category/{uniqueName}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'uniqueName', type: 'string', description: 'Category unique name', required: true, }, ], queryParams: [], requestType: 'DeleteMerchantCategoryRequest', isMultipart: false, originalName: 'delete', isWrite: true, permissions: ['merchant-menu-management:api:delete'], }, }; /** * Handlers for dashboard merchant category endpoints */ export const MerchantCategoryHandlers = { list: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.list, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getVersions: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.getVersions, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getParents: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.getParents, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, getChildren: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.getChildren, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, get: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patch: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.patch, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, create: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateChildren: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.updateChildren, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, updateChildrenShowOrder: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.updateChildrenShowOrder, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, clone: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.clone, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, patchMod: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.patchMod, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, update: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.update, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, delete: async (accessToken, args) => { return makeRequest(MerchantCategoryMethods.delete, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };