UNPKG

@crazyrabbitltc/railway-mcp

Version:

Railway MCP Server - 146+ tools with 100% Railway API coverage, comprehensive MCP testing framework, and real infrastructure management through AI assistants. Enhanced version with enterprise features, based on original work by Jason Tan.

99 lines (98 loc) 2.71 kB
export class DomainRepository { client; constructor(client) { this.client = client; } async serviceDomainCreate(input) { const query = ` mutation serviceDomainCreate($input: ServiceDomainCreateInput!) { serviceDomainCreate(input: $input) { id createdAt deletedAt domain environmentId projectId serviceId suffix targetPort updatedAt } } `; const variables = { input }; const response = await this.client.request(query, variables); return response.serviceDomainCreate; } async serviceDomainDelete(id) { const query = ` mutation serviceDomainDelete($id: String!) { serviceDomainDelete(id: $id) } `; const variables = { id }; const response = await this.client.request(query, variables); return response.serviceDomainDelete; } async serviceDomainUpdate(input) { const query = ` mutation serviceDomainUpdate($input: ServiceDomainUpdateInput!) { serviceDomainUpdate(input: $input) } `; const variables = { input }; const response = await this.client.request(query, variables); return response.serviceDomainUpdate; } async domains(projectId, environmentId, serviceId) { const query = ` query domains($projectId: String!, $environmentId: String!, $serviceId: String!) { domains( projectId: $projectId environmentId: $environmentId serviceId: $serviceId ) { customDomains { id createdAt deletedAt domain environmentId projectId serviceId targetPort updatedAt } serviceDomains { id createdAt deletedAt domain environmentId projectId serviceId suffix targetPort updatedAt } } } `; const variables = { projectId, environmentId, serviceId }; const response = await this.client.request(query, variables); return response.domains; } async serviceDomainAvailable(domain) { const query = ` query serviceDomainAvailable($domain: String!) { serviceDomainAvailable(domain: $domain) { available message } } `; const variables = { domain }; const response = await this.client.request(query, variables); return response.serviceDomainAvailable; } }