GCP.FirebaseDataConnect reference
ExecuteGraphql
Section titled “ExecuteGraphql”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.
ExecuteGraphql: Executing GraphQL
Section titled “ExecuteGraphql: Executing GraphQL”const executeGraphql = yield* GCP.FirebaseDataConnect.ExecuteGraphql( service,);const result = yield* executeGraphql({ body: { query: "{ __typename }" },});ExecuteGraphqlHttp
Section titled “ExecuteGraphqlHttp”Source:
src/GCP/FirebaseDataConnect/ExecuteGraphqlHttp.tsKind: Layer · Provides:GCP.FirebaseDataConnect.ExecuteGraphql
HTTP implementation of ExecuteGraphql.
ExecuteGraphqlRead
Section titled “ExecuteGraphqlRead”Source:
src/GCP/FirebaseDataConnect/ExecuteGraphqlRead.ts
Runtime binding for Data Connect services.executeGraphqlRead.
Same as ExecuteGraphql but rejects mutations. Provide
ExecuteGraphqlReadHttp.
ExecuteGraphqlRead: Reading GraphQL
Section titled “ExecuteGraphqlRead: Reading GraphQL”const executeGraphqlRead = yield* GCP.FirebaseDataConnect.ExecuteGraphqlRead(service);const result = yield* executeGraphqlRead({ body: { query: "{ __typename }" },});ExecuteGraphqlReadHttp
Section titled “ExecuteGraphqlReadHttp”Source:
src/GCP/FirebaseDataConnect/ExecuteGraphqlReadHttp.tsKind: Layer · Provides:GCP.FirebaseDataConnect.ExecuteGraphqlRead
HTTP implementation of ExecuteGraphqlRead.
ExecuteMutation
Section titled “ExecuteMutation”Source:
src/GCP/FirebaseDataConnect/ExecuteMutation.ts
Runtime binding for Data Connect connectors.executeMutation.
Runs a named mutation defined on a ServicesConnector. Provide
ExecuteMutationHttp.
ExecuteMutation: Executing a Mutation
Section titled “ExecuteMutation: Executing a Mutation”const executeMutation = yield* GCP.FirebaseDataConnect.ExecuteMutation( connector,);const result = yield* executeMutation({ body: { operationName: "CreateNote", variables: { title: "hello" }, },});ExecuteMutationHttp
Section titled “ExecuteMutationHttp”Source:
src/GCP/FirebaseDataConnect/ExecuteMutationHttp.tsKind: Layer · Provides:GCP.FirebaseDataConnect.ExecuteMutation
HTTP implementation of ExecuteMutation.
ExecuteQuery
Section titled “ExecuteQuery”Source:
src/GCP/FirebaseDataConnect/ExecuteQuery.ts
Runtime binding for Data Connect connectors.executeQuery.
Runs a named query defined on a ServicesConnector. Provide
ExecuteQueryHttp.
ExecuteQuery: Executing a Query
Section titled “ExecuteQuery: Executing a Query”const executeQuery = yield* GCP.FirebaseDataConnect.ExecuteQuery( connector,);const result = yield* executeQuery({ body: { operationName: "ListNotes" },});ExecuteQueryHttp
Section titled “ExecuteQueryHttp”Source:
src/GCP/FirebaseDataConnect/ExecuteQueryHttp.tsKind: Layer · Provides:GCP.FirebaseDataConnect.ExecuteQuery
HTTP implementation of ExecuteQuery.
Service
Section titled “Service”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.
Service: Creating a Service
Section titled “Service: Creating a Service”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" },});Service: Updating a Service
Section titled “Service: Updating a Service”const service = yield* GCP.FirebaseDataConnect.Service("App", { displayName: "movie tracker v2", labels: { env: "prod", team: "data" },});ServicesConnector
Section titled “ServicesConnector”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.
ServicesConnector: Creating a Connector
Section titled “ServicesConnector: Creating a Connector”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" }, },);ServicesConnector: Updating a Connector
Section titled “ServicesConnector: Updating a Connector”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" }, },);ServicesSchema
Section titled “ServicesSchema”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).
ServicesSchema: Creating a Schema
Section titled “ServicesSchema: Creating a Schema”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", }, }],});ServicesSchema: Updating a Schema
Section titled “ServicesSchema: Updating a Schema”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",});