mirror of
https://github.com/graphql-hive/console
synced 2026-04-21 22:47:17 +00:00
95 lines
2.2 KiB
JavaScript
95 lines
2.2 KiB
JavaScript
import { createHive } from '../packages/libraries/client/dist/cjs/index.js';
|
|
import { buildSchema, parse } from 'graphql';
|
|
|
|
async function main() {
|
|
const hiveInstance = createHive({
|
|
token: process.env.TOKEN,
|
|
agent: 'Hive Seed Script',
|
|
debug: true,
|
|
enabled: true,
|
|
reporting: {
|
|
enabled: true,
|
|
endpoint: process.env.STAGING
|
|
? 'https://app.staging.graphql-hive.com/registry'
|
|
: process.env.DEV
|
|
? 'https://app.dev.graphql-hive.com/registry'
|
|
: 'http://localhost:4000/graphql',
|
|
author: 'Hive Seed Script',
|
|
commit: '1',
|
|
},
|
|
usage: {
|
|
enabled: true,
|
|
clientInfo: 'Fake Hive Client',
|
|
endpoint: process.env.STAGING
|
|
? 'https://app.staging.graphql-hive.com/usage'
|
|
: process.env.DEV
|
|
? 'https://app.dev.graphql-hive.com/usage'
|
|
: 'http://localhost:4001',
|
|
max: 10,
|
|
sampleRate: 1,
|
|
},
|
|
});
|
|
|
|
await hiveInstance.info();
|
|
|
|
const schema = buildSchema(/* GraphQL */ `
|
|
type Query {
|
|
field(arg: String): String
|
|
nested: NestedQuery!
|
|
}
|
|
|
|
type NestedQuery {
|
|
test: String
|
|
}
|
|
`);
|
|
|
|
const query1 = parse(/* GraphQL */ `
|
|
query test {
|
|
field
|
|
withArg: field(arg: "test")
|
|
nested {
|
|
test
|
|
}
|
|
}
|
|
`);
|
|
|
|
const query2 = parse(/* GraphQL */ `
|
|
query testAnother {
|
|
field
|
|
}
|
|
`);
|
|
|
|
hiveInstance.reportSchema({ schema });
|
|
|
|
const operationsPerBatch = process.env.OPERATIONS ? parseInt(process.env.OPERATIONS) : 1;
|
|
|
|
setInterval(
|
|
() => {
|
|
for (let i = 0; i < operationsPerBatch; i++) {
|
|
const randNumber = Math.random() * 100;
|
|
console.log(`Reporting usage query...`);
|
|
|
|
const done = hiveInstance.collectUsage({
|
|
document: randNumber > 50 ? query1 : query2,
|
|
schema,
|
|
variableValues: {},
|
|
});
|
|
|
|
done(
|
|
randNumber > 90
|
|
? {
|
|
data: {},
|
|
errors: undefined,
|
|
}
|
|
: {
|
|
data: undefined,
|
|
errors: [{ message: 'oops' }],
|
|
},
|
|
);
|
|
}
|
|
},
|
|
process.env.INTERVAL ? parseInt(process.env.INTERVAL) : 1000,
|
|
);
|
|
}
|
|
|
|
main().catch(console.error);
|