-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgridsome.server.js
58 lines (48 loc) · 1.75 KB
/
gridsome.server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Server API makes it possible to hook into various parts of Gridsome
// on server-side and add custom data to the GraphQL data layer.
// Learn more: https://gridsome.org/docs/server-api/
// Changes here require a server restart.
// To restart press CTRL + C in terminal and run `gridsome develop`
module.exports = function (api) {
api.loadSource(async ({ addCollection }) => {
const { init, queryData } = require('./src/data/dgraph')
const everyone = (await queryData()).everyone
if(everyone && everyone.length===0){
console.log('No people in the DB running init...')
init().then(async () => {
const afterInit = await queryData()
console.log("\nInit is DONE! DB now has people:", afterInit.everyone.length);
}).catch((e) => {
console.log("Init ERROR: ", e);
});
} else {
console.log("DB already has people:", everyone.length);
}
// One can use the Data Store API here: https://gridsome.org/docs/data-store-api/
// const posts = addCollection({
// typeName: 'BlogPost'
// })
// posts.addNode({
// title: 'My first blog post',
// date: '2018-11-02',
// customField: 'customizatorial'
// })
// posts.addNode({
// title: 'My second blog post',
// date: '2019-11-02',
// customField: 'well it took a whole year for the second post... hmm.'
// })
})
api.createPages(({ createPage }) => {
// Use the Pages API here: https://gridsome.org/docs/pages-api/
})
api.configureServer(async app => {
// app.get('/my-endpoint', (req, res) => {
// res.send('Hello, world!')
// })
})
// api.configureWebpack({
// https://gridsome.org/docs/config/#configurewebpack
// rather use gridsome.config.js
// })
}