UNPKG

@coding-blocks/jsonapi-server

Version:

A config driven NodeJS framework implementing json:api

26 lines (21 loc) 775 B
'use strict' const writeArgs = module.exports = { } const graphQl = require('graphql') const jsonApi = require('../..') const joiConverter = require('./joiConverter.js') writeArgs.generate = (resource, allWriteTypes) => { const args = { id: { type: graphQl.GraphQLString } } const resourceConfig = jsonApi._resources[resource] Object.keys(resourceConfig.attributes).forEach(attribute => { if ((attribute === 'id') || (attribute === 'type') || (attribute === 'meta')) return const joiScheme = resourceConfig.attributes[attribute] if (joiScheme._settings && joiScheme._settings.__as) return args[attribute] = { type: joiConverter.shallowInput(joiScheme, allWriteTypes), description: joiScheme._description } }) return args }