Coder Social home page Coder Social logo

Comments (6)

tothandras avatar tothandras commented on July 19, 2024

Can you copy - paste your schema code? It seems that you have multiple types or fields with the same name.

from graffiti-mongoose.

sibelius avatar sibelius commented on July 19, 2024

A.js

import mongoose from 'mongoose';
export const ASchema = new mongoose.Schema({
  name: {
    type: 'String',
  },
},{ collection: 'a'});
export const A = mongoose.model('A', ASchema);

B.js

import mongoose from 'mongoose';
import {ASchema} from './A';

export const BSchema = new mongoose.Schema({
  name: {
    type: String,
  },
  attributes: [ASchema]
}, { collection: 'b'});
export const B = mongoose.model('B', BSchema);

C.js

import mongoose from 'mongoose';
import {ASchema} from './A'

export const CSchema = new mongoose.Schema({
  description: {
    type: String,
  },
  attributes: [ ASchema ],
}, { collection: 'c'});
export const C = mongoose.model('C', CSchema);

server.js

import {getSchema} from '@risingstack/graffiti-mongoose';
import graffiti from '@risingstack/graffiti';
import express from 'express';
import {A} from './A';
import {B} from './B';
import {C} from './C';

const GRAPHQL_PORT = 8080;

mongoose.connect(process.env.MONGO_URI || 'mongodb://localhost/brandlovers');
const app = express();
app.use(graffiti.express({
  schema: getSchema([A, B, C])
}));
app.listen(GRAPHQL_PORT, () => console.log(
  `GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}`
));

from graffiti-mongoose.

tothandras avatar tothandras commented on July 19, 2024

@sibeliusseraphini I've got a fix for you. I don't have time right now to finish it, write tests, etc (having an oral exam on Monday). Can it wait until Monday, Tuesday?

from graffiti-mongoose.

sibelius avatar sibelius commented on July 19, 2024

@tothandras If you tell me in which file or a little more about this error, I can fork this repo and try to fix it and submit a PR

from graffiti-mongoose.

tothandras avatar tothandras commented on July 19, 2024

type.js line 196:

-        graphQLField.type = new GraphQLList(getType(graffitiModels, {name, description, fields}, newPath, rootType));
+        const fieldNameCapitalized = name.charAt(0).toUpperCase() + name.slice(1);
+        graphQLField.type = new GraphQLList(getType(graffitiModels, {name: `${graphQLType.name}${fieldNameCapitalized}`, description, fields}, newPath, rootType));

Although there is already a field name capitalisation somewhere in the file, you might create a function for that. Thank you!

from graffiti-mongoose.

sibelius avatar sibelius commented on July 19, 2024

thanks, I will try to figure it out

from graffiti-mongoose.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.