extend schema @link(url: "https://specs.apollo.dev/federation/v2.3")
type Query {
search(filter: SearchFilter!): [SearchResult!]!
}
input SearchFilter @oneOf {
byId: ID
byName: String
byDateRange: DateRangeFilter
byStatus: Status
}
input DateRangeFilter {
start: String!
end: String!
}
enum Status {
ACTIVE
INACTIVE
PENDING
}
union SearchResult = User | Product
type User @federation__key(fields: "id") {
id: ID!
name: String!
email: String!
}
type Product @federation__key(fields: "id") {
id: ID!
name: String!
price: Float!
}