@goparrot/franchise-mcp-server
Version:
MCP Server for Franchise API
154 lines (153 loc) • 4.61 kB
JavaScript
import { dashboardBaseUrl, makeRequest } from '../../common/index.js';
/**
* Method information for dashboard web store redirect endpoints
*/
export const WebStoreRedirectMethods = {
getByDomainUuid: {
description: 'Get web redirect by domain UUID',
method: 'get',
path: '/webstore/api/v2/web-redirects/{domainUuid}',
pathParams: [
{
name: 'domainUuid',
type: 'string',
description: 'Domain UUID',
required: true,
},
],
queryParams: [],
requestType: 'GetWebRedirectByDomainUuidRequest',
isMultipart: false,
originalName: 'getByDomainUuid',
isWrite: false,
permissions: ['merchant:api:read'],
},
get: {
description: 'Get web redirect by UUID',
method: 'get',
path: '/webstore/api/v2/merchants/{merchantId}/web-redirects/{uuid}',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
{
name: 'uuid',
type: 'string',
description: 'Redirect UUID',
required: true,
},
],
queryParams: [],
requestType: 'GetWebRedirectRequest',
isMultipart: false,
originalName: 'get',
isWrite: false,
permissions: ['merchant:api:read'],
},
list: {
description: 'List web redirects for a merchant',
method: 'get',
path: '/webstore/api/v2/merchants/{merchantId}/web-redirects',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'ListWebRedirectsRequest',
isMultipart: false,
originalName: 'list',
isWrite: false,
permissions: ['merchant:api:read'],
},
delete: {
description: 'Delete a web redirect',
method: 'delete',
path: '/webstore/api/v2/merchants/{merchantId}/web-redirects/{uuid}',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
{
name: 'uuid',
type: 'string',
description: 'Redirect UUID',
required: true,
},
],
queryParams: [],
requestType: 'DeleteWebRedirectRequest',
isMultipart: false,
originalName: 'delete',
isWrite: true,
permissions: ['merchant:api:delete'],
},
updateOrCreate: {
description: 'Create or update a web redirect',
method: 'put',
path: '/webstore/api/v2/merchants/{merchantId}/web-redirects',
pathParams: [
{
name: 'merchantId',
type: 'string',
description: 'Merchant ID',
required: true,
},
],
queryParams: [],
requestType: 'UpdateOrCreateWebRedirectRequest',
isMultipart: false,
originalName: 'updateOrCreate',
isWrite: true,
permissions: ['merchant:api:update'],
},
};
/**
* Handlers for dashboard web store redirect endpoints
*/
export const WebStoreRedirectHandlers = {
getByDomainUuid: async (accessToken, args) => {
return makeRequest(WebStoreRedirectMethods.getByDomainUuid, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
get: async (accessToken, args) => {
return makeRequest(WebStoreRedirectMethods.get, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
list: async (accessToken, args) => {
return makeRequest(WebStoreRedirectMethods.list, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
delete: async (accessToken, args) => {
return makeRequest(WebStoreRedirectMethods.delete, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
updateOrCreate: async (accessToken, args) => {
return makeRequest(WebStoreRedirectMethods.updateOrCreate, {
baseUrl: dashboardBaseUrl,
accessToken,
args,
});
},
};