UNPKG

@graphql-hive/federation-gateway-audit

Version:
52 lines (45 loc) 1.03 kB
import { createSubgraph } from "../../subgraph.js"; import { users } from "./data.js"; function accounts() { return [ ...users.map((user) => ({ __typename: "User", ...user })), { __typename: "Admin", id: "a1", name: "a1-name" }, ]; } export default createSubgraph("b", { typeDefs: /* GraphQL */ ` extend schema @link( url: "https://specs.apollo.dev/federation/v2.3" import: ["@shareable", "@key"] ) union Account = User | Admin type User @key(fields: "id") { id: ID! name: String similarAccounts: [Account!]! } type Admin { id: ID name: String @shareable similarAccounts: [Account!]! } type Query { accounts: [Account!]! } `, resolvers: { Query: { accounts, }, User: { __resolveReference(key: { id: string }) { return users.find((user) => user.id === key.id); }, similarAccounts: accounts, }, Admin: { similarAccounts: accounts, }, }, });