1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- const _ = require('lodash')
- const graphHelper = require('../../helpers/graph')
- /* global WIKI */
- module.exports = {
- Query: {
- async comments() { return {} }
- },
- Mutation: {
- async comments() { return {} }
- },
- CommentQuery: {
- /**
- * Fetch list of Comments Providers
- */
- async providers(obj, args, context, info) {
- const providers = await WIKI.models.commentProviders.getProviders()
- return providers.map(provider => {
- const providerInfo = _.find(WIKI.data.commentProviders, ['key', provider.key]) || {}
- return {
- ...providerInfo,
- ...provider,
- config: _.sortBy(_.transform(provider.config, (res, value, key) => {
- const configData = _.get(providerInfo.props, key, false)
- if (configData) {
- res.push({
- key,
- value: JSON.stringify({
- ...configData,
- value
- })
- })
- }
- }, []), 'key')
- }
- })
- },
- /**
- * Fetch list of comments for a page
- */
- async list (obj, args, context) {
- return []
- }
- },
- CommentMutation: {
- /**
- * Create New Comment
- */
- async create (obj, args, context) {
- try {
- // WIKI.data.commentProvider.create({
- // ...args,
- // user: context.req.user
- // })
- return {
- responseResult: graphHelper.generateSuccess('New comment posted successfully')
- }
- } catch (err) {
- return graphHelper.generateError(err)
- }
- },
- /**
- * Update Comments Providers
- */
- async updateProviders(obj, args, context) {
- try {
- for (let provider of args.providers) {
- await WIKI.models.commentProviders.query().patch({
- isEnabled: provider.isEnabled,
- config: _.reduce(provider.config, (result, value, key) => {
- _.set(result, `${value.key}`, _.get(JSON.parse(value.value), 'v', null))
- return result
- }, {})
- }).where('key', provider.key)
- }
- await WIKI.models.commentProviders.initProvider()
- return {
- responseResult: graphHelper.generateSuccess('Comment Providers updated successfully')
- }
- } catch (err) {
- return graphHelper.generateError(err)
- }
- }
- }
- }
|