From cbf70ebf5d3c440b2bb033c5de07e07dd5d001f9 Mon Sep 17 00:00:00 2001 From: by183440 Date: Wed, 16 Nov 2022 21:23:35 +0100 Subject: [PATCH 1/3] Ajout de la mutation updateAnnonce. Ajout de l'input AnnonceUpdateInput. --- graphql/schema/annonce.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/graphql/schema/annonce.js b/graphql/schema/annonce.js index a8e19eb..e084460 100644 --- a/graphql/schema/annonce.js +++ b/graphql/schema/annonce.js @@ -45,6 +45,17 @@ module.exports = buildSchema(` dateDisponibilite: String! photos: [String] } + + input AnnonceUpdateInput { + titre: String + typeBien: String + statusPublication: String + statusBien: String + description: String + prixBien: Int + dateDisponibilite: String + photos: [String] + } type Query { annonces:[Annonce!] @@ -52,6 +63,8 @@ module.exports = buildSchema(` type Mutation { createAnnonce(annonce: AnnonceInput): String + updateAnnonce(idAnnonce: ID!,annonce:AnnonceUpdateInput): Annonce + } schema { -- GitLab From d42b92cfe0074f1e400f0ccd2ecd78587d284eb2 Mon Sep 17 00:00:00 2001 From: by183440 Date: Wed, 16 Nov 2022 21:24:31 +0100 Subject: [PATCH 2/3] Ajout de la fonction updateAnnonce. --- graphql/resolvers/annonce.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/graphql/resolvers/annonce.js b/graphql/resolvers/annonce.js index decce58..89cbecb 100644 --- a/graphql/resolvers/annonce.js +++ b/graphql/resolvers/annonce.js @@ -33,5 +33,16 @@ module.exports = { } catch (error) { throw error } - } + }, + updateAnnonce: async args => { + try { + const annonce = args.annonce; + const idAnnonce = args.idAnnonce; + const annonceModifier = Annonce.findByIdAndUpdate(idAnnonce, annonce, { useFindAndModify: false }); + + return annonceModifier + } catch (error) { + throw error + } + } } \ No newline at end of file -- GitLab From aa15ec3c5678406c4d70c0d621225e574f429ad8 Mon Sep 17 00:00:00 2001 From: Jerome Laurent Date: Wed, 16 Nov 2022 21:33:05 +0100 Subject: [PATCH 3/3] Ajout de la mutation deleteAnnonce --- graphql/resolvers/annonce.js | 28 +++++++++++++++++++--------- graphql/schema/annonce.js | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/graphql/resolvers/annonce.js b/graphql/resolvers/annonce.js index 89cbecb..f7f064e 100644 --- a/graphql/resolvers/annonce.js +++ b/graphql/resolvers/annonce.js @@ -34,15 +34,25 @@ module.exports = { throw error } }, - updateAnnonce: async args => { - try { - const annonce = args.annonce; - const idAnnonce = args.idAnnonce; - const annonceModifier = Annonce.findByIdAndUpdate(idAnnonce, annonce, { useFindAndModify: false }); + + updateAnnonce: async args => { + try { + const annonce = args.annonce; + const idAnnonce = args.idAnnonce; + const annonceModifier = Annonce.findByIdAndUpdate(idAnnonce, annonce, { useFindAndModify: false }); + + return annonceModifier + } catch (error) { + throw error + } + }, - return annonceModifier - } catch (error) { - throw error - } + deleteAnnonce: async args => { + try { + const annonceSupprimee = annonce.deleteAnnonce(args.annonceId); + return "L'annonce " + args.annonceId + " a bien été supprimée"; + } catch (error) { + throw error } + }, } \ No newline at end of file diff --git a/graphql/schema/annonce.js b/graphql/schema/annonce.js index e084460..c6f9e4c 100644 --- a/graphql/schema/annonce.js +++ b/graphql/schema/annonce.js @@ -64,7 +64,7 @@ module.exports = buildSchema(` type Mutation { createAnnonce(annonce: AnnonceInput): String updateAnnonce(idAnnonce: ID!,annonce:AnnonceUpdateInput): Annonce - + deleteAnnonce(annonceId: ID!): String } schema { -- GitLab