I have error on apollo server and grapghql

Viewed 162

This is the error am getting

node_modules\apollo-server-core\dist\ApolloServer.js:358 throw Error('Apollo Server requires either an existing schema, modules or typeDefs');

Here is my code:

users.typeDefs.js

On top I have "import { gql } from "apollo-server";

export default gql `"



    type User {
        id: String!
        firstName: String!
        lastName: String
        username: String!
        email: String!
        createdAt: String!
        updatedAt: String!
    }

    type Mutation {
        createAccount(
            firstName: String!
            lastName: String
            username: String!
            email: String!
            password: String!
        ): User
    }
    
    type Query {
        seeProfile(username:String): User
    }
`;

Here is my users.mutations.js

On top I have:

import { PrismaClient } from "@prisma/client";
import client from "../client";"

Here is the main code:

    export default {
    Mutation: {
        createAccount: async (
            _, {
        firstName,
        lastName,
        username,
        email,
        password
            }
        ) => {
            //check if username or email are already on DB.
            const existingUser = await client.user.findFirst({
                where: {
                    OR: [
                        {
                            username,
                        },
                        {
                         email,   
                        }
                    ],
                },
            });
            console.log(existingUser);
            // hash password
            // save and return the user
        },
    } ,
};

The users.queries.js is export default,

Here is my schema.js and client.js

import { mergeTypeDefs, mergeResolvers, } from "@graphql-tools/merge";
import { loadFilesSync } from "@graphql-tools/load-files";
import { makeExecutableSchema } from "@graphql-tools/schema";

const loadedTypes = loadFilesSync(`${__dirname}/**/*.typeDefs.js`);
const loadedResolvers = loadFilesSync(`${__dirname}/**/*.{queries,mutations}.js`);



const typeDefs = mergeTypeDefs(loadedTypes);
const resolvers = mergeResolvers(loadedResolvers);

const schema = makeExecutableSchema({typeDefs, resolvers});

export default schema;

import { PrismaClient } from "@prisma/client";

const client = new PrismaClient ();

export default client;

Here is also my server.js

require ("dotenv").config();

import { ApolloServer, gql } from "apollo-server";
import {schema} from "./schema";

const server = new ApolloServer({
  schema,
});

const PORT = process.env.PORT

server.listen(PORT).then(() => {
  console.log(` Server ready at http://localhost:${PORT} ✅ `);
});
0 Answers
Related