Skip to content

GCP.FirebaseDataConnect reference

Source: src/GCP/FirebaseDataConnect/ExecuteGraphql.ts

Runtime binding for Data Connect services.executeGraphql.

Executes any GraphQL query or mutation against the generated schema. Provide ExecuteGraphqlHttp.

const executeGraphql = yield* GCP.FirebaseDataConnect.ExecuteGraphql(
service,
);
const result = yield* executeGraphql({
body: { query: "{ __typename }" },
});

Source: src/GCP/FirebaseDataConnect/ExecuteGraphqlHttp.ts Kind: Layer · Provides: GCP.FirebaseDataConnect.ExecuteGraphql

HTTP implementation of ExecuteGraphql.

Source: src/GCP/FirebaseDataConnect/ExecuteGraphqlRead.ts

Runtime binding for Data Connect services.executeGraphqlRead.

Same as ExecuteGraphql but rejects mutations. Provide ExecuteGraphqlReadHttp.

const executeGraphqlRead =
yield* GCP.FirebaseDataConnect.ExecuteGraphqlRead(service);
const result = yield* executeGraphqlRead({
body: { query: "{ __typename }" },
});

Source: src/GCP/FirebaseDataConnect/ExecuteGraphqlReadHttp.ts Kind: Layer · Provides: GCP.FirebaseDataConnect.ExecuteGraphqlRead

HTTP implementation of ExecuteGraphqlRead.

Source: src/GCP/FirebaseDataConnect/ExecuteMutation.ts

Runtime binding for Data Connect connectors.executeMutation.

Runs a named mutation defined on a ServicesConnector. Provide ExecuteMutationHttp.

const executeMutation = yield* GCP.FirebaseDataConnect.ExecuteMutation(
connector,
);
const result = yield* executeMutation({
body: {
operationName: "CreateNote",
variables: { title: "hello" },
},
});

Source: src/GCP/FirebaseDataConnect/ExecuteMutationHttp.ts Kind: Layer · Provides: GCP.FirebaseDataConnect.ExecuteMutation

HTTP implementation of ExecuteMutation.

Source: src/GCP/FirebaseDataConnect/ExecuteQuery.ts

Runtime binding for Data Connect connectors.executeQuery.

Runs a named query defined on a ServicesConnector. Provide ExecuteQueryHttp.

const executeQuery = yield* GCP.FirebaseDataConnect.ExecuteQuery(
connector,
);
const result = yield* executeQuery({
body: { operationName: "ListNotes" },
});

Source: src/GCP/FirebaseDataConnect/ExecuteQueryHttp.ts Kind: Layer · Provides: GCP.FirebaseDataConnect.ExecuteQuery

HTTP implementation of ExecuteQuery.

Source: src/GCP/FirebaseDataConnect/Service.ts

A Firebase Data Connect service — the parent of a GraphQL schema and connectors.

Changing serviceId or location replaces the service. Display name, labels, and annotations update in place.

Generated name

const service = yield* GCP.FirebaseDataConnect.Service("App", {
labels: { env: "test" },
});

Explicit id

const service = yield* GCP.FirebaseDataConnect.Service("App", {
serviceId: "movies",
displayName: "movie tracker",
labels: { env: "prod" },
});
const service = yield* GCP.FirebaseDataConnect.Service("App", {
displayName: "movie tracker v2",
labels: { env: "prod", team: "data" },
});

Source: src/GCP/FirebaseDataConnect/ServicesConnector.ts

A Firebase Data Connect connector — a set of GraphQL queries and mutations compiled against the service’s active schema.

Changing connectorId, service, or location replaces the connector. Source, client cache, display name, labels, and annotations update in place. Create fails if the service has no schema or the operations are incompatible with it.

const schema = yield* GCP.FirebaseDataConnect.ServicesSchema("Main", {
service: service.name,
source: {
files: [{
path: "schema.gql",
content: "type Note @table { title: String! }",
}],
},
datasources: [{ postgresql: { unlinked: true } }],
});
const connector = yield* GCP.FirebaseDataConnect.ServicesConnector(
"Queries",
{
service: schema.service,
source: {
files: [{
path: "queries.gql",
content:
"query ListNotes @auth(level: PUBLIC) { notes { id title } }",
}],
},
labels: { env: "test" },
},
);
const connector = yield* GCP.FirebaseDataConnect.ServicesConnector(
"Queries",
{
service: schema.service,
source: {
files: [{
path: "queries.gql",
content:
"query ListNotes @auth(level: PUBLIC) { notes { id title } }",
}],
},
displayName: "notes queries v2",
labels: { env: "prod" },
},
);

Source: src/GCP/FirebaseDataConnect/ServicesSchema.ts

The application schema of a Firebase Data Connect service. Only schemas/main is supported — one schema per service.

Changing service, location, or schemaId replaces the schema. Source, datasources, display name, labels, and annotations update in place. Delete fails while connectors still exist; destroy connectors first (or delete the parent service with force).

Unlinked Postgres schema

const service = yield* GCP.FirebaseDataConnect.Service("App", {});
const schema = yield* GCP.FirebaseDataConnect.ServicesSchema("Main", {
service: service.name,
source: {
files: [{
path: "schema.gql",
content: "type Note @table { title: String! }",
}],
},
datasources: [{ postgresql: { unlinked: true } }],
labels: { env: "test" },
});

Cloud SQL Postgres

const schema = yield* GCP.FirebaseDataConnect.ServicesSchema("Main", {
service: service.name,
source: {
files: [{
path: "schema.gql",
content: "type Movie @table { title: String! }",
}],
},
datasources: [{
postgresql: {
database: "fdcdb",
cloudSql: { instance: sqlInstance.name },
schemaValidation: "NONE",
schemaMigration: "MIGRATE_COMPATIBLE",
},
}],
});
const schema = yield* GCP.FirebaseDataConnect.ServicesSchema("Main", {
service: service.name,
source: {
files: [{
path: "schema.gql",
content: "type Note @table { title: String! body: String }",
}],
},
datasources: [{ postgresql: { unlinked: true } }],
displayName: "notes v2",
});