| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 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 {        theme: WIKI.config.theming.theme,        iconset: WIKI.config.theming.iconset,        darkMode: WIKI.config.theming.darkMode,        injectCSS: new CleanCSS({ format: 'beautify' }).minify(WIKI.config.theming.injectCSS).styles,        injectHead: WIKI.config.theming.injectHead,        injectBody: WIKI.config.theming.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)      }    }  }}
 |