Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions website/src/docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,10 @@
"path": "entities-and-lookups",
"title": "Entities and Lookups"
},
{
"path": "data-requirements-and-mapping",
"title": "Data Requirements and Mapping"
},
{
"path": "composition",
"title": "Composition"
Expand Down
44 changes: 22 additions & 22 deletions website/src/docs/fusion/v16/attribute-and-directive-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,28 @@ Quick reference for all Fusion-related attributes and their GraphQL directive eq

# Attribute and Directive Reference Table

| Attribute | Directive | Description | Guide Page |
| --------------------------- | --------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `[ObjectType<T>]` | — | Maps static class as extension to entity type T | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[QueryType]` | — | Marks class as contributing Query root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[MutationType]` | — | Marks class as contributing Mutation root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[SubscriptionType]` | — | Marks class as contributing Subscription root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[Lookup]` | `@lookup` | Declares field as entity lookup resolver | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[NodeResolver]` | — | Marks as Relay node resolver | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Internal]` | `@internal` | Hides lookup from composed schema | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Shareable]` | `@shareable` | Allows multiple subgraphs to resolve field | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Parent(requires: "...")]` | — | Declares field requirements from parent | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Require("...")]` | `@require` | Declares complex field requirements | [Getting Started](/docs/fusion/v16/getting-started), [Adding a Subgraph](/docs/fusion/v16/adding-a-subgraph) |
| `[EntityKey("...")]` | `@key` | Declares entity key for resolution | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[BindMember(nameof(...))]` | — | Replaces raw FK with resolved entity | [Adding a Subgraph](/docs/fusion/v16/adding-a-subgraph) |
| `[Tag("...")]` | `@tag` | Applies tag for composition filtering | [Composition](/docs/fusion/v16/composition) |
| `[DataLoader]` | — | Source-generates DataLoader interface | [Getting Started](/docs/fusion/v16/getting-started), [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[UsePaging]` | — | Enables cursor-based pagination | [Getting Started](/docs/fusion/v16/getting-started) |
| `[ID<T>]` | — | Declares field as Relay-style ID | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Inaccessible]` | `@inaccessible` | Hides from composite schema | [Composition](/docs/fusion/v16/composition) |
| `[Override(from: "...")]` | `@override` | Migrates field ownership | [Deployment and CI/CD](/docs/fusion/v16/deployment-and-ci-cd) |
| `[Provides("...")]` | `@provides` | Declares locally-resolvable subfields | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[External]` | `@external` | Field defined by another subgraph | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| Attribute | Directive | Description | Guide Page |
| --------------------------- | --------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `[ObjectType<T>]` | — | Maps static class as extension to entity type T | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[QueryType]` | — | Marks class as contributing Query root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[MutationType]` | — | Marks class as contributing Mutation root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[SubscriptionType]` | — | Marks class as contributing Subscription root fields | [Getting Started](/docs/fusion/v16/getting-started) |
| `[Lookup]` | `@lookup` | Declares field as entity lookup resolver | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[NodeResolver]` | — | Marks as Relay node resolver | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Internal]` | `@internal` | Hides lookup from composed schema | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Shareable]` | `@shareable` | Allows multiple subgraphs to resolve field | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Parent(requires: "...")]` | — | Declares field requirements from parent | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Require("...")]` | `@require` | Declares complex field requirements | [Data Requirements and Mapping](/docs/fusion/v16/data-requirements-and-mapping), [Adding a Subgraph](/docs/fusion/v16/adding-a-subgraph) |
| `[EntityKey("...")]` | `@key` | Declares entity key for resolution | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[BindMember(nameof(...))]` | — | Replaces raw FK with resolved entity | [Adding a Subgraph](/docs/fusion/v16/adding-a-subgraph) |
| `[Tag("...")]` | `@tag` | Applies tag for composition filtering | [Composition](/docs/fusion/v16/composition) |
| `[DataLoader]` | — | Source-generates DataLoader interface | [Getting Started](/docs/fusion/v16/getting-started), [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[UsePaging]` | — | Enables cursor-based pagination | [Getting Started](/docs/fusion/v16/getting-started) |
| `[ID<T>]` | — | Declares field as Relay-style ID | [Entities and Lookups](/docs/fusion/v16/entities-and-lookups) |
| `[Inaccessible]` | `@inaccessible` | Hides from composite schema | [Composition](/docs/fusion/v16/composition) |
| `[Override(from: "...")]` | `@override` | Migrates field ownership | [Deployment and CI/CD](/docs/fusion/v16/deployment-and-ci-cd) |
| `[Provides("...")]` | `@provides` | Declares locally-resolvable subfields | [Data Requirements and Mapping](/docs/fusion/v16/data-requirements-and-mapping) |
| `[External]` | `@external` | Field defined by another subgraph | [Data Requirements and Mapping](/docs/fusion/v16/data-requirements-and-mapping) |

# See Also

Expand Down
2 changes: 1 addition & 1 deletion website/src/docs/fusion/v16/composition.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Composition is a three-phase process that transforms multiple source schemas int
Each source schema is validated in isolation. The composition engine checks:

- The schema is valid GraphQL according to the base specification.
- All Fusion directives and attributes are used correctly (e.g., `@external` fields are referenced by `@key` or `@provides`).
- All Fusion directives and attributes are used correctly (e.g., `@external` fields are referenced by `@provides`).
- Key fields reference valid scalar or object types.
- Lookup fields have the correct argument-to-entity-field mappings.

Expand Down
Loading