@railway/mcp-server
Version:
Official Railway MCP server
43 lines (41 loc) • 1.71 kB
JavaScript
import { analyzeRailwayError } from "./error-handling-mxVa5oOu.js";
import { checkRailwayCliStatus, runRailwayCommand } from "./core-BMlc7cvF.js";
import { getLinkedProjectInfo } from "./projects-ENU6yIz7.js";
//#region src/cli/variables.ts
const listRailwayVariables = async ({ workspacePath, service, environment, kv, json }) => {
try {
await checkRailwayCliStatus();
const result = await getLinkedProjectInfo({ workspacePath });
if (!result.success) throw new Error(result.error);
let command = "railway variables";
if (service) command += ` --service ${service}`;
if (environment) command += ` --environment ${environment}`;
if (kv) command += " --kv";
if (json) command += " --json";
const { output } = await runRailwayCommand(command, workspacePath);
return output;
} catch (error) {
return analyzeRailwayError(error, "railway variables");
}
};
const setRailwayVariables = async ({ workspacePath, variables, service, environment, skipDeploys }) => {
try {
await checkRailwayCliStatus();
const result = await getLinkedProjectInfo({ workspacePath });
if (!result.success) throw new Error(result.error);
let command = "railway variables";
if (service) command += ` --service ${service}`;
if (environment) command += ` --environment ${environment}`;
if (skipDeploys) command += " --skip-deploys";
variables.forEach((variable) => {
command += ` --set "${variable}"`;
});
const { output } = await runRailwayCommand(command, workspacePath);
return output;
} catch (error) {
return analyzeRailwayError(error, "railway variables --set");
}
};
//#endregion
export { listRailwayVariables, setRailwayVariables };
//# sourceMappingURL=variables-BKzFECGf.js.map