UNPKG

@mseep/railway-mcp

Version:

Model Context Protocol server for Railway.app - Enables AI agents to manage Railway infrastructure through natural language

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; } }