@graphql-hive/federation-gateway-audit
Version:
Audit tool for Apollo Federation Gateway
118 lines (108 loc) • 2.02 kB
JavaScript
import { c as createSubgraph, a as createTest, s as serve } from './testkit-BtZjdl4n.js';
import '@apollo/composition';
import 'graphql';
import 'fets';
import '@apollo/subgraph';
import 'graphql-yoga';
const users = [
{
id: "1",
email: "user1@gmail.com",
nickname: "user1"
},
{
id: "2",
email: "user2@gmail.com",
nickname: "user2"
}
];
var email = createSubgraph("email", {
typeDefs: (
/* GraphQL */
`
extend schema
type Query {
user: User
}
type User {
id: ID!
email: String!
}
`
),
resolvers: {
Query: {
user() {
return {
id: users[0].id,
email: users[0].email
};
}
},
User: {
__resolveReference(key) {
const user = users.find((u) => u.id === key.id);
if (!user) {
return null;
}
return {
id: user.id,
email: user.email
};
}
}
}
});
var nickname = createSubgraph("nickname", {
typeDefs: (
/* GraphQL */
`
extend schema
type User {
email: String!
nickname: String!
}
`
),
resolvers: {
User: {
__resolveReference(key) {
const user = users.find((u) => u.email === key.email);
if (!user) {
return null;
}
return {
nickname: user.nickname
};
}
}
}
});
var test = [
createTest(
/* GraphQL */
`
query {
user {
id
nickname
}
}
`,
{
data: {
user: {
id: users[0].id,
nickname: users[0].nickname
}
}
}
)
];
var index = serve("simple-entity-call", [email, nickname], test);
export { index as default };