Mi solución al desafío:
Implemento los mutation deleteCourse y deleteStudent que requieren un ID y devuelven en este caso un string indicando si se realizó o no la operación de borrado de la DB.
schema.graphql
type Mutation {
"Crea un nuevo curso"
createCourse(input: CourseInput): Course
"Edita un curso"
editCourse(id: ID!, input: CourseEditInput): Course
"Elimina un curso"
deleteCourse(id: ID!): String
"Crea un nuevo estudiante"
createStudent(input: StudentInput): Student
"Edita un estudiante"
editStudent(id: ID!, input: StudentEditInput): Student
"Elimina un estudiante"
deleteStudent(id: ID!): String
}
mutations.js
deleteCourse: async (root, { id }) => {
let db, info;
try {
db = await connectDb();
info = await db.collection('courses').deleteOne({
_id: ObjectID(id)
});
} catch (error) {
console.error(error);
}
return info.deletedCount
? `El curso con id ${id} fue eliminado exitosamente.`
: 'No existe el curso con el id indicado';
},
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.