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.

98 lines (97 loc) 2.71 kB
export class PluginRepository { client; constructor(client) { this.client = client; } async create(input) { const query = ` mutation pluginCreate($input: PluginCreateInput!) { pluginCreate(input: $input) { id name friendlyName status logsEnabled createdAt } } `; const data = await this.client.request(query, { input }); return data.pluginCreate; } async get(id) { const query = ` query plugin($id: String!) { plugin(id: $id) { id name friendlyName status logsEnabled migrationDatabaseServiceId createdAt deletedAt deprecatedAt } } `; const data = await this.client.request(query, { id }); return data.plugin; } async update(id, input) { const query = ` mutation pluginUpdate($id: String!, $input: PluginUpdateInput!) { pluginUpdate(id: $id, input: $input) { id name friendlyName status logsEnabled } } `; const data = await this.client.request(query, { id, input }); return data.pluginUpdate; } async delete(id, environmentId) { const query = ` mutation pluginDelete($id: String!, $environmentId: String) { pluginDelete(id: $id, environmentId: $environmentId) } `; const data = await this.client.request(query, { id, environmentId }); return data.pluginDelete; } async restart(id, environmentId) { const query = ` mutation pluginRestart($id: String!, $input: PluginRestartInput!) { pluginRestart(id: $id, input: $input) { id name friendlyName status } } `; const data = await this.client.request(query, { id, input: { environmentId } }); return data.pluginRestart; } async start(id, environmentId) { const query = ` mutation pluginStart($id: String!, $input: PluginRestartInput!) { pluginStart(id: $id, input: $input) } `; const data = await this.client.request(query, { id, input: { environmentId } }); return data.pluginStart; } async resetCredentials(id) { const query = ` mutation pluginResetCredentials($id: String!, $input: ResetPluginCredentialsInput!) { pluginResetCredentials(id: $id, input: $input) } `; const data = await this.client.request(query, { id, input: {} }); return data.pluginResetCredentials; } }