UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

167 lines (166 loc) 4.79 kB
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, }); }, };