wgc
Version:
The official CLI tool to manage the GraphQL Federation Platform Cosmo
79 lines (78 loc) • 2.26 kB
TypeScript
import type { FederatedGraph, Subgraph } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
import type { BaseCommandOptions } from '../../core/types/types.js';
/**
* Retrieve user information [email] and [organization name]
*/
export declare function fetchUserInfo(client: BaseCommandOptions['client']): Promise<{
userInfo: import("@wundergraph/cosmo-connect/dist/platform/v1/platform_pb").WhoAmIResponse;
error: null;
} | {
userInfo: null;
error: Error;
}>;
/**
* Retrieve onboarding record. Provides information about allowed [status]:
* [error] | [not-allowed] | [ok]
* If record exists, returns [onboarding] metadata.
*/
export declare function checkExistingOnboarding(client: BaseCommandOptions['client']): Promise<{
readonly error: Error;
readonly status: "error";
readonly onboarding?: undefined;
} | {
readonly status: "not-allowed";
readonly error?: undefined;
readonly onboarding?: undefined;
} | {
readonly onboarding: {
readonly finishedAt: string | undefined;
};
readonly status: "ok";
readonly error?: undefined;
}>;
/**
* Retrieves federated graph by [name] *demo*. Missing federated graph
* is a valid state.
*/
export declare function fetchFederatedGraphByName(client: BaseCommandOptions['client'], { name, namespace }: {
name: string;
namespace: string;
}): Promise<{
data: {
graph: FederatedGraph | undefined;
subgraphs: Subgraph[];
};
error: null;
} | {
data: null;
error: null;
} | {
data: null;
error: Error;
}>;
/**
* Cleans up the federated graph by [name] _demo_ and its related
* subgraphs.
*/
export declare function cleanUpFederatedGraph(client: BaseCommandOptions['client'], graphData: {
graph: FederatedGraph;
subgraphs: Subgraph[];
}): Promise<{
error: Error;
} | {
error: null;
}>;
/**
* Creates federated graph using default [name] and [namespace], with pre-defined
* [labelMatcher] which identify the graph as _demo_.
*/
export declare function createFederatedGraph(client: BaseCommandOptions['client'], options: {
name: string;
namespace: string;
labelMatcher: string;
routingUrl: URL;
}): Promise<{
error: null;
} | {
error: Error;
}>;