UNPKG

@goparrot/franchise-mcp-server

Version:

MCP Server for Franchise API

160 lines (159 loc) 4.68 kB
import { dashboardBaseUrl, makeRequest } from '../../common/index.js'; /** * Method information for dashboard loyalty program endpoints */ export const LoyaltyMethods = { get: { description: 'Get a specific loyalty program by UUID', method: 'get', path: '/loyalty/api/v2/merchants/{merchantId}/programs/{programUuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'programUuid', type: 'string', description: 'Program UUID', required: true, }, ], queryParams: [], requestType: 'GetLoyaltyProgramRequest', isMultipart: false, originalName: 'get', isWrite: false, permissions: ['loyalty:api:read'], }, list: { description: 'List all loyalty programs for a merchant', method: 'get', path: '/loyalty/api/v2/merchants/{merchantId}/programs', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'ListLoyaltyProgramRequest', isMultipart: false, originalName: 'list', isWrite: false, permissions: ['loyalty:api:read'], }, create: { description: 'Create a new loyalty program', method: 'post', path: '/loyalty/api/v2/merchants/{merchantId}/programs', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, ], queryParams: [], requestType: 'CreateLoyaltyProgramRequest', isMultipart: false, originalName: 'create', isWrite: true, permissions: ['loyalty:api:create'], }, update: { description: 'Update an existing loyalty program', method: 'put', path: '/loyalty/api/v2/merchants/{merchantId}/programs/{programUuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'programUuid', type: 'string', description: 'Program UUID', required: true, }, ], queryParams: [], requestType: 'UpdateLoyaltyProgramRequest', isMultipart: false, originalName: 'update', isWrite: true, permissions: ['loyalty:api:update'], }, delete: { description: 'Delete a loyalty program', method: 'delete', path: '/loyalty/api/v2/merchants/{merchantId}/programs/{programUuid}', pathParams: [ { name: 'merchantId', type: 'string', description: 'Merchant ID', required: true, }, { name: 'programUuid', type: 'string', description: 'Program UUID', required: true, }, ], queryParams: [], requestType: 'DeleteLoyaltyProgramRequest', isMultipart: false, originalName: 'delete', isWrite: true, permissions: ['loyalty:api:delete'], }, }; /** * Handlers for dashboard loyalty program endpoints */ export const LoyaltyHandlers = { get: async (accessToken, args) => { return makeRequest(LoyaltyMethods.get, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, list: async (accessToken, args) => { return makeRequest(LoyaltyMethods.list, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, create: async (accessToken, args) => { return makeRequest(LoyaltyMethods.create, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, update: async (accessToken, args) => { return makeRequest(LoyaltyMethods.update, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, delete: async (accessToken, args) => { return makeRequest(LoyaltyMethods.delete, { baseUrl: dashboardBaseUrl, accessToken, args, }); }, };