| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | const graphHelper = require('../../helpers/graph')const _ = require('lodash')const CleanCSS = require('clean-css')/* global WIKI */module.exports = {  Query: {    async theming() { return {} }  },  Mutation: {    async theming() { return {} }  },  ThemingQuery: {    async themes(obj, args, context, info) {      return [{ // TODO        key: 'default',        title: 'Default',        author: 'requarks.io'      }]    },    async config(obj, args, context, info) {      return _.pick(WIKI.config.theming, ['theme', 'iconset', 'darkMode', 'injectCSS', 'injectHead', 'injectBody'])    }  },  ThemingMutation: {    async setConfig(obj, args, context, info) {      try {        if (!_.isEmpty(args.injectCSS)) {          args.injectCSS = new CleanCSS({            inline: false          }).minify(args.injectCSS).styles        }        WIKI.config.theming = {          ...WIKI.config.theming,          theme: args.theme,          iconset: args.iconset,          darkMode: args.darkMode,          injectCSS: args.injectCSS || '',          injectHead: args.injectHead || '',          injectBody: args.injectBody || ''        }        await WIKI.configSvc.saveToDb(['theming'])        return {          responseResult: graphHelper.generateSuccess('Theme config updated')        }      } catch (err) {        return graphHelper.generateError(err)      }    }  }}
 |