I am trying to get a working GraphQL resolver in order to add a user to my MongoDB database. As it stands right now, my addUser mutation is not working, but my delete user is. I need help getting this mutation to work in a similar format as my deleteUser mutation works.
import { ObjectId } from "mongodb";
import { Database, User } from "../../../lib/types";
export const userResolvers: IResolvers = {
Query: {
users: async (_root: undefined, _args: {}, { db }: { db: Database }) => {
return await db.users.find({}).toArray();
}
},
Mutation: {
addUser : async ({ db }: { db: Database }, fullName: string, email: string, phoneNumber: string, city: string ) => {
const user: User =
{
_id: new ObjectId(),
fullName: fullName,
phoneNumber: phoneNumber,
city: city,
email:email,
}
const newUser = await db.users.insertOne(user);
return newUser;
},
deleteUser: async (
_root: undefined,
{ id }: { id: string },
{ db }: { db: Database }
) => {
const deleteRes = await db.users.findOneAndDelete({
_id: new ObjectId(id)
});
if (!deleteRes.value) {
throw new Error("failed to delete user");
}
return deleteRes.value;
}
},
User: {
id: (user: User): string => user._id.toString()
}
};```