sync-graph-updates.js 1.07 KB
Newer Older
1 2 3 4 5
const _ = require('lodash')
const { createApolloFetch } = require('apollo-fetch')

/* global WIKI */

6
module.exports = async () => {
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  WIKI.logger.info(`Fetching latest updates from Graph endpoint...`)

  try {
    const apollo = createApolloFetch({
      uri: WIKI.config.graphEndpoint
    })

    const resp = await apollo({
      query: `query ($channel: ReleaseChannel!, $version: String!) {
        releases {
          checkForUpdates(channel: $channel, version: $version) {
            channel
            version
            releaseDate
            minimumVersionRequired
            minimumNodeRequired
          }
        }
      }`,
      variables: {
Nick's avatar
Nick committed
27
        channel: WIKI.config.channel,
28 29 30
        version: WIKI.version
      }
    })
31 32 33 34
    const info = _.get(resp, 'data.releases.checkForUpdates', false)
    if (info) {
      WIKI.system.updates = info
    }
35 36 37 38 39 40 41

    WIKI.logger.info(`Fetching latest updates from Graph endpoint: [ COMPLETED ]`)
  } catch (err) {
    WIKI.logger.error(`Fetching latest updates from Graph endpoint: [ FAILED ]`)
    WIKI.logger.error(err.message)
  }
}