34 lines · 1.5 KB · TypeScript
RawDownload
import type { ConnectionName, Owner } from "@executor-js/sdk/shared";import { connectionIdentifier } from "@executor-js/react/lib/connection-name"; // ---------------------------------------------------------------------------// v2 connection-create defaults for the GraphQL plugin. v1's HTTP-credentials// editor (header/query secret slots bound per source per scope) is gone: a// connection IS the credential, applied to the integration's auth template.// --------------------------------------------------------------------------- /** The slug of the apiKey auth template the add flow declares + targets. */export const GRAPHQL_APIKEY_TEMPLATE = "apiKey"; /** Build the apiKey auth template the integration stores. The connection's *  value is written to `headerName` at invoke time (no prefix — the user pastes *  the full header value, e.g. `Bearer ghp_…`). */export const graphqlApiKeyAuthTemplate = (  headerName: string,): {  readonly kind: "apiKey";  readonly slug: string;  readonly in: "header";  readonly name: string;} => ({  kind: "apiKey",  slug: GRAPHQL_APIKEY_TEMPLATE,  in: "header",  name: headerName || "Authorization",}); /** Deterministic connection name for a GraphQL integration + owner. Keeps a *  single owner-scoped credential per integration so re-adding overwrites *  rather than accumulating duplicates. */export const graphqlConnectionName = (slug: string, owner: Owner): ConnectionName =>  connectionIdentifier(`${slug} ${owner}`);