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} ✅ `);
});