@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
167 lines (166 loc) • 4.79 kB
JavaScript
import { dashboardBaseUrl, makeRequest } from '../../../common/index.js';
/**
* Method information for dashboard store item tax endpoints
*/
export const StoreItemTaxMethods = {
list: {
description: 'List taxes for a store',
method: 'get',
path: '/storeItems/api/v2/stores/{storeId}/taxes',
pathParams: [
{
name: 'storeId',
type: 'string',
description: 'Store ID',
required: true,
},
],
queryParams: [
{
name: 'defaultOnly',
type: 'boolean',
description: 'Filter for default taxes only',
required: false,
},
],
requestType: 'ListTaxesRequest',
isMultipart: false,
originalName: 'list',
isWrite: false,
permissions: ['store-service-charges:api:read'],
},
create: {
description: 'Create a new tax for a store',
method: 'post',
path: '/storeItems/api/v2/stores/{storeId}/taxes',
pathParams: [
{
name: 'storeId',
type: 'string',
description: 'Store ID',
required: true,
},
],
queryParams: [],
requestType: 'CreateTaxRequest',
isMultipart: false,
originalName: 'create',
isWrite: true,
permissions: ['store-service-charges:api:create'],
},
get: {
description: 'Get a specific tax by UUID',
method: 'get',
path: '/storeItems/api/v2/stores/{storeId}/taxes/{uuid}',
pathParams: [
{
name: 'storeId',
type: 'string',
description: 'Store ID',
required: true,
},
{
name: 'uuid',
type: 'string',
description: 'Tax UUID',
required: true,
},
],
queryParams: [],
requestType: 'GetTaxRequest',
isMultipart: false,
originalName: 'get',
isWrite: false,
permissions: ['store-service-charges:api:read'],
},
patch: {
description: 'Update a tax using JSON Patch operations',
method: 'patch',
path: '/storeItems/api/v2/stores/{storeId}/taxes/{uuid}',
pathParams: [
{
name: 'storeId',
type: 'string',
description: 'Store ID',
required: true,
},
{
name: 'uuid',
type: 'string',
description: 'Tax UUID',
required: true,
},
],
queryParams: [],
requestType: 'PatchTaxRequest',
isMultipart: false,
originalName: 'patch',
isWrite: true,
permissions: ['store-service-charges:api:update'],
},
delete: {
description: 'Delete a tax',
method: 'delete',
path: '/storeItems/api/v2/stores/{storeId}/taxes/{uuid}',
pathParams: [
{
name: 'storeId',
type: 'string',
description: 'Store ID',
required: true,
},
{
name: 'uuid',
type: 'string',
description: 'Tax UUID',
required: true,
},
],
queryParams: [],
requestType: 'DeleteTaxRequest',
isMultipart: false,
originalName: 'delete',
isWrite: true,
permissions: ['store-service-charges:api:delete'],
},
};
/**
* Handlers for dashboard store item tax endpoints
*/
export const StoreItemTaxHandlers = {
list: async (accessToken, args) => {
return makeRequest(StoreItemTaxMethods.list, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
create: async (accessToken, args) => {
return makeRequest(StoreItemTaxMethods.create, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
get: async (accessToken, args) => {
return makeRequest(StoreItemTaxMethods.get, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
patch: async (accessToken, args) => {
return makeRequest(StoreItemTaxMethods.patch, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
delete: async (accessToken, args) => {
return makeRequest(StoreItemTaxMethods.delete, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
};