From 6f30c55ec505afe36778c958b98cb5ac0719837b Mon Sep 17 00:00:00 2001 From: "antoine.gaienier" <antoine.gaienier.etu@univ-lille.fr> Date: Wed, 13 Mar 2024 16:27:54 +0100 Subject: [PATCH] commandes finni --- .vscode/settings.json | 49 +++++++++ .../IngrediantPatch price.bru | 4 + .../Ingredient Delete.bru} | 4 +- .../Ingredient FindByID.bru} | 6 +- .../Ingredient Findall.bru} | 2 +- .../Ingredient Patch name.bru | 4 + .../Ingredient Post.bru} | 6 +- .../pizzeria/1_Ingredient/Ingredient Put.bru | 19 ++++ .../Ingretiant FindByID Name.bru} | 6 +- .../Ingredient Delete Faill.bru} | 2 +- .../Ingredient FindByID Faill.bru} | 2 +- .../Ingredient FindByID Name Faill.bru} | 2 +- ...Ingredient Patch Faill (name colonne).bru} | 2 +- ...ent Patch Faill (not foud ingredient).bru} | 2 +- .../Ingredient Post Faill.bru} | 2 +- .../ingredient Put Faill.bru | 23 ++++ .../3_Pizza/Pizza ByName (chorizo 2).bru | 15 +++ .../3_Pizza/Pizza ByName (chorizo 3).bru | 15 +++ .../3_Pizza/Pizza ByName (chorizo).bru | 15 +++ .../{PizzaByName.bru => Pizza ByName.bru} | 6 +- .../3_Pizza/Pizza Delete (une pizza).bru | 2 +- .../{pizzaALL.bru => Pizza FindALL.bru} | 2 +- ...tal.bru => Pizza FindByName Prixtotal.bru} | 6 +- .../Pizza Patch (liste ingrediant).bru | 33 ++++++ .../Pizza Patch (pate et prixbase).bru | 18 ++++ .../3_Pizza/Pizza Patch (prixbase).bru | 17 +++ .../3_Pizza/Pizza Patch (p\303\242te).bru" | 17 +++ .../3_Pizza/{PizzaPost.bru => Pizza Post.bru} | 6 +- ...ngredient (un ingredient d'une pizza).bru} | 2 +- WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru | 30 ++++++ .../Pizza Delete (une pizza) Faill.bru | 15 +++ .../4_PizzaFaill/Pizza FindByName Faill.bru | 15 +++ .../Pizza Patch Faill (sur une colonne).bru | 21 ++++ .../4_PizzaFaill/Pizza Patch Faill.bru | 21 ++++ .../4_PizzaFaill/Pizza Post Faill.bru | 35 ++++++ ...elete (un ingredient d'une pizza)Faill.bru | 15 +++ ...ru => Commandes Delete (une commande).bru} | 4 +- ...bru => Commandes Delete (une pizza ).bru} | 4 +- .../5_Commande/Commandes Pach (pizzas).bru | 21 ++++ .../Commandes Patch (nom et date).bru | 19 ++++ .../{CommandePost.bru => Commandes Post.bru} | 8 +- .../pizzeria/5_Commande/Commandes Put.bru | 27 +++++ .../Commandes findById (commande 4 Patch).bru | 15 +++ .../Commandes findById (commandes 4 Put).bru | 15 +++ .../5_Commande/Commandes findById.bru | 4 + .../5_Commande/Commandes totalPrice.bru | 6 +- .../Commandes Delete (une commande) Faill.bru | 15 +++ .../Commandes Delete (une pizza) Faill.bru | 15 +++ .../Commandes Patch Faill(nom colonne).bru | 22 ++++ .../6_CommandeFaill/Commandes Patch Faill.bru | 23 ++++ .../6_CommandeFaill/Commandes Post Faill.bru | 31 ++++++ .../6_CommandeFaill/Commandes Put Faill.bru | 31 ++++++ .../Commandes findById Faill.bru | 15 +++ .../Commandes totalPrice Faill.bru | 15 +++ .../classes/controleurs/CommandeRestAPI.class | Bin 3244 -> 4660 bytes .../controleurs/IngredientRestAPI.class | Bin 4656 -> 4616 bytes .../classes/controleurs/PizzasRestAPI.class | Bin 3575 -> 4991 bytes WEB-INF/classes/dao/CommandeDAO.class | Bin 5356 -> 7328 bytes .../classes/dao/IngredientDAODatabase.class | Bin 4514 -> 4653 bytes WEB-INF/classes/dao/PizzasDAO.class | Bin 5884 -> 7310 bytes WEB-INF/classes/dto/Commande.class | Bin 800 -> 891 bytes WEB-INF/classes/dto/CommandeDetail$1.class | Bin 0 -> 527 bytes WEB-INF/classes/dto/CommandeDetail.class | Bin 1393 -> 1558 bytes WEB-INF/classes/dto/PizzaCompo.class | Bin 2106 -> 2091 bytes WEB-INF/pizzeria.sql | 100 +++++++++++++++++ WEB-INF/src/controleurs/CommandeRestAPI.java | 101 +++++++++++++++--- .../src/controleurs/IngredientRestAPI.java | 13 ++- WEB-INF/src/controleurs/PizzasRestAPI.java | 74 ++++++++++++- WEB-INF/src/dao/CommandeDAO.java | 81 +++++++++++++- WEB-INF/src/dao/IngredientDAODatabase.java | 9 +- WEB-INF/src/dao/PizzasDAO.java | 57 ++++++++++ WEB-INF/src/dto/Commande.java | 4 + WEB-INF/src/dto/CommandeDetail.java | 4 +- WEB-INF/src/dto/PizzaCompo.java | 2 +- 74 files changed, 1120 insertions(+), 56 deletions(-) create mode 100644 .vscode/settings.json rename WEB-INF/bruno/pizzeria/{1_ingredient => 1_Ingredient}/IngrediantPatch price.bru (85%) rename WEB-INF/bruno/pizzeria/{1_ingredient/DeleteIngredient.bru => 1_Ingredient/Ingredient Delete.bru} (84%) rename WEB-INF/bruno/pizzeria/{1_ingredient/FindIngrediantByID.bru => 1_Ingredient/Ingredient FindByID.bru} (65%) rename WEB-INF/bruno/pizzeria/{1_ingredient/findall.bru => 1_Ingredient/Ingredient Findall.bru} (81%) rename WEB-INF/bruno/pizzeria/{1_ingredient => 1_Ingredient}/Ingredient Patch name.bru (85%) rename WEB-INF/bruno/pizzeria/{1_ingredient/IngrediantPost.bru => 1_Ingredient/Ingredient Post.bru} (76%) create mode 100644 WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru rename WEB-INF/bruno/pizzeria/{1_ingredient/IngretiantName.bru => 1_Ingredient/Ingretiant FindByID Name.bru} (65%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FailDelete.bru => 2_IngrediantFaill/Ingredient Delete Faill.bru} (82%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FindByIDFail.bru => 2_IngrediantFaill/Ingredient FindByID Faill.bru} (81%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FindByIDNameFail.bru => 2_IngrediantFaill/Ingredient FindByID Name Faill.bru} (81%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/Ingredient Patch name fail.bru => 2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru} (80%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru => 2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru} (78%) rename WEB-INF/bruno/pizzeria/{2_ingrediantError/IngrediantPostFail.bru => 2_IngrediantFaill/Ingredient Post Faill.bru} (88%) create mode 100644 WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaByName.bru => Pizza ByName.bru} (69%) rename WEB-INF/bruno/pizzeria/3_Pizza/{pizzaALL.bru => Pizza FindALL.bru} (83%) rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaPrixtotal.bru => Pizza FindByName Prixtotal.bru} (65%) create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru create mode 100644 "WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru" rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaPost.bru => Pizza Post.bru} (88%) rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaDeleteIngredient (un ingredient d'une pizza).bru => PizzaDelete Ingredient (un ingredient d'une pizza).bru} (67%) create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete (une pizza) Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru rename WEB-INF/bruno/pizzeria/5_Commande/{Commande Delete (une pizza).bru => Commandes Delete (une commande).bru} (68%) rename WEB-INF/bruno/pizzeria/5_Commande/{Commande Delete (une commande).bru => Commandes Delete (une pizza ).bru} (71%) create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru rename WEB-INF/bruno/pizzeria/5_Commande/{CommandePost.bru => Commandes Post.bru} (82%) create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru create mode 100644 WEB-INF/classes/dto/CommandeDetail$1.class create mode 100644 WEB-INF/pizzeria.sql diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..77acbc8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,49 @@ +{ + "java.project.referencedLibraries": [ + "lib/**/*.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/annotations-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ant.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ha.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ssi.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-storeconfig.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-tribes.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/ecj-4.27.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/el-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-annotations-2.15.3.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-core-2.15.3.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-databind-2.15.3.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-dataformat-xml-2.15.3.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jakartaee-migration-1.0.7-shaded.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jasper.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jasper-el.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jaspic-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-api-0.12.5.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-impl-0.12.5.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-jackson-0.12.5.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jsp-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/postgresql-42.6.0.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/servlet-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/stax2-api-4.2.2.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-coyote.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-dbcp.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-cs.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-de.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-es.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-fr.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ja.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ko.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-pt-BR.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ru.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-zh-CN.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-jdbc.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-jni.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-util.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-util-scan.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-websocket.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/websocket-api.jar", + "/home/infoetu/antoine.gaienier.etu/tomcat/lib/websocket-client-api.jar" + ], + "java.project.outputPath": "WEB-INF/classes" +} \ No newline at end of file diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru similarity index 85% rename from WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru index 08a1612..7eb9720 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru @@ -15,3 +15,7 @@ body:json { "price":10.5 } } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru similarity index 84% rename from WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru index e43cc0f..ad8bf75 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru @@ -1,7 +1,7 @@ meta { - name: DeleteIngredient + name: Ingredient Delete type: http - seq: 7 + seq: 9 } delete { diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru similarity index 65% rename from WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru index f3148a3..d0e6026 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru @@ -1,5 +1,5 @@ meta { - name: FindIngrediantByID + name: Ingredient FindByID type: http seq: 2 } @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/findall.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru similarity index 81% rename from WEB-INF/bruno/pizzeria/1_ingredient/findall.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru index a21f00c..0418102 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/findall.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru @@ -1,5 +1,5 @@ meta { - name: findall + name: Ingredient Findall type: http seq: 1 } diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru similarity index 85% rename from WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru index 753735e..267a69d 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru @@ -15,3 +15,7 @@ body:json { "name":"poisson" } } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru similarity index 76% rename from WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru index e1f2213..996de26 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru @@ -1,5 +1,5 @@ meta { - name: IngrediantPost + name: Ingredient Post type: http seq: 4 } @@ -17,3 +17,7 @@ body:json { "price":0 } } + +assert { + res.status: eq 201 +} diff --git a/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru new file mode 100644 index 0000000..7f98d82 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru @@ -0,0 +1,19 @@ +meta { + name: Ingredient Put + type: http + seq: 7 +} + +put { + url: http://localhost:8080/pizzeria/ingredients + body: json + auth: none +} + +body:json { + { + "id": 0, + "name":"coke" , + "price":50 + } +} diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru similarity index 65% rename from WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru index 297ac65..468e13a 100644 --- a/WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru +++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru @@ -1,5 +1,5 @@ meta { - name: IngretiantName + name: Ingretiant FindByID Name type: http seq: 3 } @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Delete Faill.bru similarity index 82% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Delete Faill.bru index abb421b..f2c384d 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Delete Faill.bru @@ -1,5 +1,5 @@ meta { - name: FailDelete + name: Ingredient Delete Faill type: http seq: 5 } diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru similarity index 81% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru index 5776f8f..bd06dfe 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru @@ -1,5 +1,5 @@ meta { - name: FindByIDFail + name: Ingredient FindByID Faill type: http seq: 1 } diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru similarity index 81% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru index ebb72f0..6f5bdde 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru @@ -1,5 +1,5 @@ meta { - name: FindByIDNameFail + name: Ingredient FindByID Name Faill type: http seq: 6 } diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru similarity index 80% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru index 6b8c20d..7268678 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru @@ -1,5 +1,5 @@ meta { - name: Ingredient Patch name fail + name: Ingredient Patch Faill (name colonne) type: http seq: 3 } diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru similarity index 78% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru index 85f2abd..4d88584 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru @@ -1,5 +1,5 @@ meta { - name: Ingredient Patch fail (not foud ingredient) + name: Ingredient Patch Faill (not foud ingredient) type: http seq: 4 } diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru similarity index 88% rename from WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru index 7b4f63f..a0ad61c 100644 --- a/WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru @@ -1,5 +1,5 @@ meta { - name: IngrediantPostFail + name: Ingredient Post Faill type: http seq: 2 } diff --git a/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru new file mode 100644 index 0000000..6c350a4 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru @@ -0,0 +1,23 @@ +meta { + name: ingredient Put Faill + type: http + seq: 7 +} + +put { + url: http://localhost:8080/pizzeria/ingredients + body: json + auth: none +} + +body:json { + { + "id": 0, + "name": "coke", + "price": 50 + } +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru new file mode 100644 index 0000000..598972d --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru @@ -0,0 +1,15 @@ +meta { + name: Pizza ByName (chorizo 2) + type: http + seq: 11 +} + +get { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: none + auth: none +} + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru new file mode 100644 index 0000000..d2c8374 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru @@ -0,0 +1,15 @@ +meta { + name: Pizza ByName (chorizo 3) + type: http + seq: 13 +} + +get { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: none + auth: none +} + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru new file mode 100644 index 0000000..ea049f4 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru @@ -0,0 +1,15 @@ +meta { + name: Pizza ByName (chorizo) + type: http + seq: 9 +} + +get { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: none + auth: none +} + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru similarity index 69% rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru index baa5588..88bb195 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru @@ -1,5 +1,5 @@ meta { - name: PizzaByName + name: Pizza ByName type: http seq: 2 } @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru index 651c689..d1a10c2 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru @@ -1,7 +1,7 @@ meta { name: Pizza Delete (une pizza) type: http - seq: 6 + seq: 14 } delete { diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru similarity index 83% rename from WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru index ce2ec08..0a544a8 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru @@ -1,5 +1,5 @@ meta { - name: pizzaALL + name: Pizza FindALL type: http seq: 1 } diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru similarity index 65% rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru index 96a90a3..c505f35 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru @@ -1,5 +1,5 @@ meta { - name: PizzaPrixtotal + name: Pizza FindByName Prixtotal type: http seq: 3 } @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru new file mode 100644 index 0000000..2b95e43 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru @@ -0,0 +1,33 @@ +meta { + name: Pizza Patch (liste ingrediant) + type: http + seq: 8 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "ingredients":[ + { + "id": 1, + "name": "pomme de terre", + "price": 1 + }, + { + "id": 3, + "name": "chorizo", + "price": 2 + }, + { + "id": 4, + "name": "lardons", + "price": 2 + } + ] + } +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru new file mode 100644 index 0000000..cb51816 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru @@ -0,0 +1,18 @@ +meta { + name: Pizza Patch (pate et prixbase) + type: http + seq: 10 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "pate":"super fine", + "prixBase" :5.25 + } +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru new file mode 100644 index 0000000..f2e8cad --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru @@ -0,0 +1,17 @@ +meta { + name: Pizza Patch (prixbase) + type: http + seq: 7 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "prixBase" :9.4 + } +} diff --git "a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru" "b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru" new file mode 100644 index 0000000..fc3d830 --- /dev/null +++ "b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru" @@ -0,0 +1,17 @@ +meta { + name: Pizza Patch (pâte) + type: http + seq: 6 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "pate" :"fine" + } +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru similarity index 88% rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru index a31e761..d2fb1dc 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru @@ -1,5 +1,5 @@ meta { - name: PizzaPost + name: Pizza Post type: http seq: 4 } @@ -29,3 +29,7 @@ body:json { } } + +assert { + res.status: eq 201 +} diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru b/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru similarity index 67% rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru rename to WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru index b55a0e4..843cc8c 100644 --- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru +++ b/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru @@ -1,5 +1,5 @@ meta { - name: PizzaDeleteIngredient (un ingredient d'une pizza) + name: PizzaDelete Ingredient (un ingredient d'une pizza) type: http seq: 5 } diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru new file mode 100644 index 0000000..a0b7113 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru @@ -0,0 +1,30 @@ +meta { + name: Pizzaa Put + type: http + seq: 12 +} + +put { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "nom" : "chorizo", + "pate" :"finne", + "prixBase" : 45, + "ingredients":[ + { + "id":7 , + "name":"sauce tomate" , + "price":0.50 + }, + {"id":1 , + "name":"pomme de terre" , + "price":1 + } + ] + } +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete (une pizza) Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete (une pizza) Faill.bru new file mode 100644 index 0000000..b2da78b --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete (une pizza) Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Pizza Delete (une pizza) Faill + type: http + seq: 6 +} + +delete { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru new file mode 100644 index 0000000..5e8f3ee --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Pizza FindByName Faill + type: http + seq: 1 +} + +get { + url: http://localhost:8080/pizzeria/pizzas/hawaienne + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru new file mode 100644 index 0000000..c1f42a0 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru @@ -0,0 +1,21 @@ +meta { + name: Pizza Patch Faill (sur une colonne) + type: http + seq: 4 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/3fromages + body: json + auth: none +} + +body:json { + { + "paate" :"fine" + } +} + +assert { + res.status: eq 500 +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru new file mode 100644 index 0000000..8e93a8d --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru @@ -0,0 +1,21 @@ +meta { + name: Pizza Patch Faill + type: http + seq: 5 +} + +patch { + url: http://localhost:8080/pizzeria/pizzas/chorizo + body: json + auth: none +} + +body:json { + { + "pate" :"fine" + } +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru new file mode 100644 index 0000000..2f66654 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru @@ -0,0 +1,35 @@ +meta { + name: Pizza Post Faill + type: http + seq: 2 +} + +post { + url: http://localhost:8080/pizzeria/pizzas + body: json + auth: none +} + +body:json { + { + "nom" : "3fromages", + "pate" :"classique", + "prixBase" : 4, + "ingredients":[ + { + "id":7 , + "name":"sauce tomate" , + "price":0.50 + }, + {"id":1 , + "name":"pomme de terre" , + "price":1 + } + ] + } + +} + +assert { + res.status: eq 409 +} diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru new file mode 100644 index 0000000..5a5bda2 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru @@ -0,0 +1,15 @@ +meta { + name: PizzaDelete (un ingredient d'une pizza)Faill + type: http + seq: 3 +} + +delete { + url: http://localhost:8080/pizzeria/pizzas/3fromages/1 + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru similarity index 68% rename from WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru index b625b59..e1673bb 100644 --- a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru @@ -1,7 +1,7 @@ meta { - name: Commande Delete (une pizza) + name: Commandes Delete (une commande) type: http - seq: 4 + seq: 11 } delete { diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza ).bru similarity index 71% rename from WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza ).bru index 96f585f..8f55f90 100644 --- a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza ).bru @@ -1,7 +1,7 @@ meta { - name: Commande Delete (une commande) + name: Commandes Delete (une pizza ) type: http - seq: 5 + seq: 6 } delete { diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru new file mode 100644 index 0000000..8520655 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru @@ -0,0 +1,21 @@ +meta { + name: Commandes Pach (pizzas) + type: http + seq: 7 +} + +patch { + url: http://localhost:8080/pizzeria/commandes/4 + body: json + auth: none +} + +body:json { + { + "pizzas": [ + { + "nom": "3fromages" + } + ] + } +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru new file mode 100644 index 0000000..0ba200d --- /dev/null +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru @@ -0,0 +1,19 @@ +meta { + name: Commandes Patch (nom et date) + type: http + seq: 5 +} + +patch { + url: http://localhost:8080/pizzeria/commandes/4 + body: json + auth: none +} + +body:json { + { + "nom": "machin bipbip", + "date": 17118224000000 + } + +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru similarity index 82% rename from WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru index effed99..7de10cf 100644 --- a/WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru @@ -1,7 +1,7 @@ meta { - name: CommandePost + name: Commandes Post type: http - seq: 3 + seq: 4 } post { @@ -25,3 +25,7 @@ body:json { ] } } + +assert { + res.status: eq 201 +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru new file mode 100644 index 0000000..669675f --- /dev/null +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru @@ -0,0 +1,27 @@ +meta { + name: Commandes Put + type: http + seq: 9 +} + +put { + url: http://localhost:8080/pizzeria/commandes/4 + body: json + auth: none +} + +body:json { + { + "id": 4, + "nom": "machin chose", + "date": 1711922400000, + "pizzas": [ + { + "nom": "3fromages" + }, + { + "nom": "6fromages" + } + ] + } +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru new file mode 100644 index 0000000..3e9e25e --- /dev/null +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru @@ -0,0 +1,15 @@ +meta { + name: Commandes findById (commande 4 Patch) + type: http + seq: 8 +} + +get { + url: http://localhost:8080/pizzeria/commandes/4 + body: none + auth: none +} + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru new file mode 100644 index 0000000..8f1c563 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru @@ -0,0 +1,15 @@ +meta { + name: Commandes findById (commandes 4 Put) + type: http + seq: 10 +} + +get { + url: http://localhost:8080/pizzeria/commandes/4 + body: none + auth: none +} + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru index 723c18a..43cf2fe 100644 --- a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru index 1efca78..4d75dcf 100644 --- a/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru +++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru @@ -1,7 +1,7 @@ meta { name: Commandes totalPrice type: http - seq: 6 + seq: 3 } get { @@ -9,3 +9,7 @@ get { body: none auth: none } + +assert { + res.status: eq 302 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru new file mode 100644 index 0000000..37a2e43 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Commandes Delete (une commande) Faill + type: http + seq: 8 +} + +delete { + url: http://localhost:8080/pizzeria/commandes/4 + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru new file mode 100644 index 0000000..0e66fed --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Commandes Delete (une pizza) Faill + type: http + seq: 7 +} + +delete { + url: http://localhost:8080/pizzeria/commandes/1/6fromages + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru new file mode 100644 index 0000000..3bcd9cf --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru @@ -0,0 +1,22 @@ +meta { + name: Commandes Patch Faill(nom colonne) + type: http + seq: 2 +} + +patch { + url: http://localhost:8080/pizzeria/commandes/1 + body: json + auth: none +} + +body:json { + { + "mmmmmm": "machin bipbip" + } + +} + +assert { + res.status: eq 500 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru new file mode 100644 index 0000000..8278730 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru @@ -0,0 +1,23 @@ +meta { + name: Commandes Patch Faill + type: http + seq: 3 +} + +patch { + url: http://localhost:8080/pizzeria/commandes/4 + body: json + auth: none +} + +body:json { + { + "nom": "machin bipbip", + "date": 17118224000000 + } + +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru new file mode 100644 index 0000000..7843a07 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru @@ -0,0 +1,31 @@ +meta { + name: Commandes Post Faill + type: http + seq: 6 +} + +post { + url: http://localhost:8080/pizzeria/commandes + body: json + auth: none +} + +body:json { + { + "id": 1, + "nom": "truc bidule", + "date": 1711922400000, + "pizzas": [ + { + "nom": "6fromages" + }, + { + "nom": "3fromages" + } + ] + } +} + +assert { + res.status: eq 409 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru new file mode 100644 index 0000000..1ad590d --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru @@ -0,0 +1,31 @@ +meta { + name: Commandes Put Faill + type: http + seq: 5 +} + +put { + url: http://localhost:8080/pizzeria/commandes/4 + body: json + auth: none +} + +body:json { + { + "id": 4, + "nom": "machin chose", + "date": 1711922400000, + "pizzas": [ + { + "nom": "3fromages" + }, + { + "nom": "6fromages" + } + ] + } +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru new file mode 100644 index 0000000..65b4660 --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Commandes findById Faill + type: http + seq: 1 +} + +get { + url: http://localhost:8080/pizzeria/commandes/0 + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru new file mode 100644 index 0000000..52863bc --- /dev/null +++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru @@ -0,0 +1,15 @@ +meta { + name: Commandes totalPrice Faill + type: http + seq: 4 +} + +get { + url: http://localhost:8080/pizzeria/commandes/0/prixfinal + body: none + auth: none +} + +assert { + res.status: eq 404 +} diff --git a/WEB-INF/classes/controleurs/CommandeRestAPI.class b/WEB-INF/classes/controleurs/CommandeRestAPI.class index 04276ec9131778ccc102a3960304d92762e5adc6..c98b6f66a7b70781ab826741e6f0617d08f57a87 100644 GIT binary patch delta 2638 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 delta 1238 zcmdm@vPP2Y)W2Q(7#J9A8K!UKTEQ$RsNt#UlTwne@0_2To0yl9I{74X9y2>b=;Qzv z1Ktn@ZZ3uph6o;pNQS7%y(~@wF+2=G49Z*#JPdI>4Dk#Jlkc-Avn25_Bu{2zeJaI~ z3^j$3fe*!0>&Y)!z14Er8Oj+Mc#y4QWME6l56CYr;bu@}sN!L$W~iC$!KSTH$H*Xr ztj;C1Br!7w<d_B?hDL^_$&=aKICvOZco<q4+9v;GQ)U#IY{(%p*@m5;t&4}Do1tfN z2fGPN9}h$S<OA%olh1KXVq}?|$eGFcje(hglYxQZ^yCjbQuQ-*h4i*D7+A4NvhHJD z!r&^&%4#HJwvEAJCWECUD~r(%1{*Urtt|}vqHNn3oUGU-*^e{u>j*MV*~#F>#IT&9 zNRkC6>$Q!+Z#hGvB<ntwB@9u-Xg1w#$Pf~_ogvJMLy|?3Ly~<PL-;m^=;aKuyP@K& zk}Q&}APcrJ#DXOgC$Hnush4N)Vo+f4XHaB_U{GR+W>99xWKd<uVNho%X3$`$VbEk~ zXV7BkVbErn%AmtAgF%;JA%h;nS_VUg4Gbm>I~hzFPBEA>2r)1)R59>?!h%7VL4*MW zPBWx1q%tsq#nKqk8JHOO8TK$_Fk~_?Gl(;6VaQ_0W?-pjP-f_2$YIE3U}dmp&|=7A z$Y)?<@M4f>C}1dLU}vadFocS=GpIqu7BcWK6fqPta4_s-5CpSW8A=!!7<3s}|1(50 zaIiBlvNNc%Gsv?u7_u|?von-3vNM!1F#Kc?_{*RTV*g+emt<gMs9+GQXJBFwXJBAp zV_;&CV2}bw=Vk_G1~vu;274VLnVk%BObj|Z8MGJ~{9qx;BFUn?lcAE4L8x{cL;V4U zS}Sn4O0sTaXx0UVG9-96GB7YOF$gj+Fvu~mGcYh%F>o+gGw?ImFi0@iGH5Z_F&H!0 zXEE3@IDmuC4q_)f`0U}qXU_l&J_B%|F*8UosDu5@!l1<<%22@2&cMpR$k4$chUptd zc?M<%4h9B>IB+6$MNOo#@U#U=tyb)y^dZUyN<E#B#3u?@0Fm0p&<pYxGuU5d47>~s z49*N33@!}(46Y2~3?2;944w?i3|<Uc4BiaJ3_c8&489C54E_w>3;_%w4E2Ewu?!(# z|HgpBIu7pNIJke~;QsZ8Cl`0H&si9h8LXhG#h5`5nldaIxEUreWHPWbgfMVI#X#vn tkb&tRg9|(n{9=$`kY!?+2#%IX43ilc82A_%8Ky8WGE9wTU@T^s1^_iv<SYOH diff --git a/WEB-INF/classes/controleurs/IngredientRestAPI.class b/WEB-INF/classes/controleurs/IngredientRestAPI.class index 8f19fdae6e2690d550afc107a97dc4403156e46c..988dddf397f43b80c8c0477201f253a125d97c54 100644 GIT binary patch delta 2159 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 delta 2200 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 diff --git a/WEB-INF/classes/controleurs/PizzasRestAPI.class b/WEB-INF/classes/controleurs/PizzasRestAPI.class index 4be926579fa3acd9f6aa791e484994c348ae879e..890114179c6965f2838a5e6611cb3e5e4f18b844 100644 GIT binary patch delta 2823 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 HF~ey9E-M-c delta 1448 zcmeyb_FY=w)W2Q(7#J9A8RoMyFflSnPJAf2QS%YAdtQobQBi&oBLj<ur)C%jLjWU# zs86CoL1tA|qC%c}YDH#oNvc9YVlfwk8$%EeLokCPBLjOuQD$CAP97J75kn{sLl{H& z<O~)Kwn!d^D2C|C(^#C?VtE+i7~(hIW7)$flFi7#mXaTkUtGe?pv+Lg!%)dkHF+JI zwoDBp17Au>zJ376GUxo<f_yFp9fmp{hI)pE$zR#rICvPEco>=)S|*3FYst4Wbh0ya zFfs^cC6*=X=OpH(>wD&vq^749@i25TbWfhouFlrW!_ddjKbe)om~rA{OAc3|$vg~G zKrUuWNzF+uN#$UeHhBVv=HwHcy^JiA!?;X2g&9~FL>TxPgeOno(&Ut2U}oTCU|_g5 z`52dS{d`>^{cQ|}R&0`N`&gGS1W2;68VQ+iW3Zgb;3CP!Vr0dxwS|FSl6@P4?J)*< zINORtk_E<b+{WO#oFQ9Bka5aR25%+?NfsghZ480S86qUv_OUEs2-IcS#t?#HkSt7Z zy)DQjNmfaYZ441$O)7A6mNQ6zlx<^(v0{^Ckz|!*gQ(faz`(%5AjrVLki{Uyz`!8R zz`-EFz|SDbAkHAgpuix_pu!--pu-@`V9y}O;L0G+5Xhjw5W}Fzkj0?PkjtRLP{yFj zP|Kjs(7;fy!O+g2$<W83#W0IOn_($~4#P$UU4|_TdJKCR3>gkE7%`k=FlM;QV9FrG zz`#(&zyk_724Myf1`xQ$kid}0zz7ygVn}9SV&G>u&XB^8%D~JZ&aj^$jUk<Zg+YN~ z8$$*|CIc&j4#Px-EQV|bHU?J)3x*tq)OrSXh8PAuhFpd`1`dWk27Qnq13SY~1|Ei7 zhI|GNhLa3D3<V5@3~UTV3=9lB42)2bVg@#b5(WkaJqFhQ47m&(><o<T49e^bvg`~- z><n(~3_9!#rR)qw3=F>*g#IuXvojd|WZ)KIU}Pv`5My9s5Ql^!BZCAuHEd>JW?*Ar zV6dMoz$;r{&d4BCy^W#v07JDED<~2qS+_AX>Vjec5eH1*IFMstXJBBkWZ+=1V&G@6 zW{_a8VbEf*WiV#2W3Xdz00)~L#AtZ1*~5d)o&gqY2H?PAW{_Y|XQ&5-77K$GgD5y) zSQ!`@T9F(Lbu;5c24)5h1_p*{Izm!A8Dy9kw0ANnF*5k+>}1ejWUyk<J;qQAP2Q}M ztf1s=FUiVcWW^@Q%4)QOq0J1Ew%NdG8=Tf8*+kj5G4#|+vItE8r$#%Z)Mx}r$86y6 zfM^nfu_sBg2u%g+;DPG^rBh~b7=<y2GB7Z>GH@`sG4M0EGl(;IGDtIcF(@;5GiWjR zFc>iSGFUSBF}O1LGXyXMFw}=L1TsW11TiEtgfOHrgfrwaL@-n`L^3onL@{(SL^Jd- z#4t={NCF3L3^@L#!2@?1JaDJM1GgQXChNh$%)+3|Py|kitPBPW#^6N9#$d^y#W0;= z1_OH}LoR~`R1lQLv>90bGeluYW1s}a$iVQEf%^}GDmaC4FfcL9WME)mVwlA+n}LCW TkAab44g({@+-L^IVupDD_mBqb diff --git a/WEB-INF/classes/dao/CommandeDAO.class b/WEB-INF/classes/dao/CommandeDAO.class index 63a4a0686cf2de0a30e4ab095ec70bf6c675117c..a793b6d4b42dfc3387b39dcac0c8d30fd65e3523 100644 GIT binary patch delta 3989 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 PE(S(M9!5S!0R~9`Xgy;= delta 2158 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 diff --git a/WEB-INF/classes/dao/IngredientDAODatabase.class b/WEB-INF/classes/dao/IngredientDAODatabase.class index a2ed957200e05d1bad87951fbb6f9ad621d8cd88..2e267c7694f8dee10b5ea5251bcb79a30a556ef3 100644 GIT binary patch delta 586 zcmZ3ayjF$l)W2Q(7#J9A8Ln;Qn#j&%sWJIKo62Mx4)Mu1*-hmZGBU6xXC&qpFfy=} zCFZ1-7BMog<R)h3F*1m0L{AoE7Y+;KVqj$8=3v;!$iP;TpPN{c%4YwA0SrJgTX`7f zGqf@?up}0x7c(*lNBd+YmL=-vB<7{-2bUCO=A~ORG6-hor5B~9WTxhoxH$UzWEPi9 zPUNs>+sm+@onhbPWgOb92N)S<XiVnkl$iXEqltYF2g6}T2KC9ctdf%_a0)OUoxG6K zfa^FTgKA1@PHIW&<a$m;mXnMOR+G3a#jQCQPBStvt23%|Fq~y%U}WTAIM2wSHHk}n zauJsb%Oyqz)yV>!;*;NT@UgKoTw!F8gL2s?KjxBQ<k-X=&ceBifrWvEfq}t(ast2j z<Z6E1$x3`e+P(}N41Nr<4E_vS3;_%V41o-G3_%P+3=9k=46Gp448jZ|;GnRd9M2~! zz{QZmkjuctkjKElz|O!_yjVzpk$W{mIs-EUJ3|J;n#r<)R`r|=YZ=xtFfwp5Ffc@d zlrb<c$nIufjNHz!-bZ^kgJC4I&;}8PO*<G|w=;NeW7x8hfq{XEL6CugfscWifq@~1 zfrBBJL53j@>=H2sCXfLP+ZeVpFfed1h%)S85Mf|sU}o3}*0+mcHv<EM4g)*GK?X*K nLkz|s>Ij%~3{0K?lc&Js88CT{;Q|8#11NScGF)c3${+~<i%x&- delta 423 zcmZ3hvPhZh)W2Q(7#J9A8P06vn#j&%r7_unQ<fvRq$o2l-P&{VL3SUm)jSNc3~Lw} zEWvV<cd^UyC1)h&7BDifl_ln+mKIH(!eP(0nPDqC!<NZ6IkeffF*3~1@R|IUOK$Q5 zF80a#oF(j=I2d*^GN@0kWtE&P&n3XPd-4@d1IE3RS-G@W_A@fLPB!MUlvgOvNG(cL z$V{<iwB}$q$jHE~&Zy48aF~&Sk&%Pp=;Q`2JH``}_j746o|^oM%a)OSvj%rKi^4tz zRt6RZ1_o!XEe!nI7{q<Gw=r~SZ)51)!7x#K8$;XV+5CpgCJg42&-050DKhvo=rIH^ zm@ot~I57k<2r)1)m@u${v@-}Zh%kVFGeZ_bHUlFA2ZIhn3PUOb6N4gyFhd$cIs-F< z1p^mD4nr;j6GI*Y0|Pq)Q~6>u0Y>h%U`cj{42E@+9R;ntnHknIFfcGNY+%^Pz`&rx tz|OFpfstVcnA`;>_khWLVDbQ%JOn0>FdSoGVBlh4WH`=nlHoLiBmne`Vafmi diff --git a/WEB-INF/classes/dao/PizzasDAO.class b/WEB-INF/classes/dao/PizzasDAO.class index 91b0c032c9d8b5010e1c80e45ae4696067a276c3..fd7209becc0578418f1662aafb264d0e6090c4f3 100644 GIT binary patch delta 1587 zcmeyP+h@sj>ff$?3=9mmi~<|EHgQS`F>o`;2r=+5oML3)Do89z&Irh?s!C*JP@Vjd zT|_RWBwrsa;GCaZkZ-LSCd9zYaF2&Umf=1lgT>^J?5dMBIE1x?82A|OaWhO|c*Mi- zn8ARNfjzU>HMgLoQiy>cWV`^#c;U3nyp+l5oa$^*LJWcorzY>=G-i9t@SdIF-Q=&F z+KeA2D{{?af5XA>8EiY3$mCmG!i--hzvD7x{61NQyMpoO<hk6=jK3#8<ThsfJ6V*+ znDPH)PabtvMn*;k%gGWvy8H@>c_|8+DGIg<jMf~C%#%0r*m-d<vNAI0mKLNWmZT~a zfP7c1P@Gz#PypiFDyTE6E0kxX7NsiW<>xAZ`PLka?2HWh7+NM@<dI|JVB}<Eu%7&p zOJ5GzHbw>>&%C_UBIlgM;^Nd|c1E7bjJ%pmjC_-Icx@TEH)rwYap*BdGq5tSF)%Pp z)7rwozl}lMS9=@7a_wylt9CG~)85A5xr^Zj1A`xgb#t<lkSXJ>$rVDflbOU+>f0H* z7%~}{83Y*^7|a-W85kH^7&sVO8Dtqc7}Oa$8B7?u8T=S}7-AWE8L}9<8A=%X85$WT zFtjsFWaws?#4wd%3WE>>1A`sJ1q{LrA`BofjiHL6nt_plgQ1?Gl%b4)i9wbji=mvM zgn^mCk3oi^j-j4`g`vBifs3Jmp^<@!p^1TkL7Rc)KZ6qk8#@CdJA)xRg91B4GXp!r zeg+2h{|xdBOb~I9WF{8_Bg1WmI}D5roD2+1$_y+F><kPH_n{%+r?ZV=`7s7r5T(6~ z;VuJ%6^rgp26;vXNtT@qTbLNab+$3AI>w;D4WdE8w2R@v<VX><dYx?y+jlZNWMr7d zPy#bddl$nKtR`&V$*_x&!HR7;gO()QPKJGq3<nqvTd`_OvTkEIx{Ki{rY4ZGGmH$g z{$JAF$q>)Tu$+O<Zxch3?ly*uZ49{^8S0rB7#M;X!Wc3cav3f#T!zO@6oVK81H*I% z4u%;F{0uW0q#0&0Xfn)UFkqO+V9zk0!IxnnLomZ4hH!?(42cX&8FCqxGn6u{V5ntS z$<WQPieV|kYKBb=YZwkNtYSFDu%6)p!v=;c3>z8lF>D3LUjYL*DE#W-5qO`$grS6i z5hMtXN+t#l25)dwGBZds@PVU}g~1-q3WvrdGeapuG*n$JLoig`QU+;ol(RBifvW?> zxDNxz9|lc!1_kB+3>*y1?De3?ZDwaM1kssX{~62~*uk+55<^Z9YX2F87?|Nw5akSv z49^&zL(&8z2Lm%WO?tqiQDzsz3)Co4Wn!>mm1Nz?pv}lIlYv`zXFVuVSk_>R9Og9) zpvW;`ux7|)Fk-L((~yj##lXeDz_5dXgJCCwAj2*O1%}-WS`2#_3>fw@7%}W;uwXdA zV8d{b!HwZCIIumyiPZxh)*kS%uJ>T@XQ*WW1-1b+5Cs|3p@FEtAi+?<P|3i`V1p8f z3JlEu7>ppH!_J@s2}w|hG&6$8OfCjyhL;Qs3``8K7+y0lFyt`^F??iTWcUOozko>y z`&$Z_^8-x&0+WBh<UbI}$N(Z4z~YQdU^YY+BEkX^VPpf549MafjG)lrVqj$CX5?k$ HXOIK{0n=Gc delta 414 zcmeCP{G-ct>ff$?3=9mm48JyVZQ`6foy(Z*F2j9xhI^AQaA`9>nEZ!p9?KmLhR2iV zaci+WWn?gzypUUD@&j%;#^;m&b5}6FoLs@<%=mip9v)-Hx065c7&E?~tir3##PD&l zFRv{t!)HbY>&X{*WhSrYl^11X;PK4MOD%HFNh~f-EoNu<#>k*LnUPzSnVsRs<PChb zjGUX_@#S%-GwfqvVPIikV6fNP!oa_cLEKk+8^dz#Z49e+Fs#$w#^AY&;RXYP-{f23 z>h%T;#tfMZ%nX7I3=DD%><kPHEesqCtqigZZ46or?F<GC9SkN6oeXvi-3&qu3=Ad= ztRRCKgc(E_K){}%ilLf;k%5CjgQ1k6jDd+kmO+@IoS}q)nZbmCi=ly`k%5V!iGhKE zoq?&CogtHpftleZ0|NsS!!3r}4B-q6E)3iZ4;dI49)ZaxU=qT924=qildr(!8!-6} cOnv~95b;k8Ul<q|xEL52zA}7g_{ks%0QPTcQvd(} diff --git a/WEB-INF/classes/dto/Commande.class b/WEB-INF/classes/dto/Commande.class index cfcc9a6b601dd06e02f7629dd6209c528fb2cd9a..d49fa6b369cb286580e17608e05111a1d2c0e32b 100644 GIT binary patch delta 126 zcmZ3$_M46C)W2Q(7#J9A8B{lNMKkiU7N?eYrZ6(FXn1OdO-^QXU}W38gt444P>F$& zftP`S!H$86fr){EflW(#D}(4p1_lNu1_1^J1}?Cu0s||9B7-0U1A`ct&&D9cAj|*) SYz(XnYz&MHj10<PJt_eF)({o| delta 36 scmey(wt$W6)W2Q(7#J9A8I(72MKew=VYFjp-MpExoRO7*fr&v00O9fpy#N3J diff --git a/WEB-INF/classes/dto/CommandeDetail$1.class b/WEB-INF/classes/dto/CommandeDetail$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bdb9610e7f79e0926ac1dd537dd8d841c365c2a0 GIT binary patch literal 527 zcmX^0Z`VEs1_oOO8FmIHMh20Tl6-yV{M_8cyp&Xz)RM%^92G-$1{OvJ;jF~6ME%l| z%p85kqN2n~pUmPCMh3Q$jLc#c14afBA55Lrj0|ixnR%Hdc8m<-8rT$QhA}d*IOnIN zaxyS7aPu&*GO%$mFf;J-Ft9W5F)}b~fE4iiWag#%mF6a;7KJ1x<)kt)2>IkEC+37D z7G;9?P(c=uQy3Y<u-KzwXwAsL6`WsMl$`382{J(#)sK20&oMG^24|+{C6<&Hr7|+8 z`+&sIJZu9tJRq~GD$zMVw;<oz&YF>d-!(5eC%-r|FWon_BqKkCok5b3K?pNA7#Vmx z^YT)QoO2S3i&Kjk894k>i%UH6i%S?37#JCt85kHC1q4800AevPFt9UlFfcN3GB7Zh zFfcJNF)%Q2X=!g|;L_U8z_XEofq{vEpMimaje(JYfq|1jfPsO52h8ST5M&TyU|?Wn n5C*FfVGsq=VhrL83=Av`5)2FsQXtb97{Tfp7#J9&!73yG@Yr`X literal 0 HcmV?d00001 diff --git a/WEB-INF/classes/dto/CommandeDetail.class b/WEB-INF/classes/dto/CommandeDetail.class index d96f18c44e99303a239e20149f94a463faf551d3..51974b2fa4b0c2f38b7b10b75ca2f548257c5f9f 100644 GIT binary patch delta 837 zcmey!HI0Ys)W2Q(7#J9A8EhwVP4{4D;AdnINh!(Kch1kvP0UM4bxAEr%*;_S<YM4s z5aeOtWDsIx5ZCa*RAQ|e#>v3QAi~4I%D^^p;aN@@kZM^*2DOPVRhTrxCNF1<WK^5X z$Rxq2I$4TIRYsdZmz_a}k%2EOu`E%)v?Mb}-zT%Ugoi<oL4R^IlP8BZg9#6VDTDsx zHB2S4j0`-Ud3mWt&N+$2#i_-N4BURH#U;L}xk;%-#gi47HS3)jSQr=?7#IY#wlnZ( z?PlPM)Y{G<u$4i0BLf2i6N4xN0|OreGniyy;A9YB;AaqHU|`^ZXkrj&kYHe7U}WHA zkYr$DU<d1wV&G<AVCZ6CVPIuoV35+1*3sS0AdPIcmLv<*hI(eO6+#Rw3=9lH4D1Y? z48jb;43Z2YU~5buMnJ7$V31;vV~_`1EybX~pvb@kvVcK}K^g2sDNrCXurR2=9S9QP z0Q-=WL6(6L?66`67O-vdAcxhXyKFauYUFkXb*S?o0RVBGIMj6#3~~&TVAp9u%z?X3 z9_~7Mxa;Jhu481-V9<oRz=eSc>~bEhE%gk-+B+Gvm>9wl;mrk>lx5&%kONyI2Ilj? zt>IxXU@&B0WME`4!e%7cL}M%_Dl%|0D505H28upVbi#}@V=#wDqy;#<^ubm!FtBQE yVG!N`j$u%$U;{^kD%d<oYG8%BkeR^}tjdbPnt_3Vi-D1Wj{yQ~7#P5j!3O|qonM3i delta 642 zcmbQn^O1||)W2Q(7#J9A8O$bfO`rJkET<?B11EzRBZJyxLq-)I%`i>|Mg|EU237{P z$xj(085JknGf6NiOpahul~H5RU}sQgWZ=t6EKAfcEy>K$_sJ|S;bG8Z(3(7x$&*8k zL7#`gfI(~WE2fgk)y$gp#te)Mj0_A6tXkU{cs4RHFfcLjF)%Q2F)%SOFz_(2Fz_<) zgIQoj3<3;-3=9m644e!?3``8{VD-Wb+zbp1RSYZ)tPBhcd|J{vy4x8<v?N)!GKhmr zWCoka$H2_Mz#zcD&LGIZ%OC_c)r6rQtOaT;0|Os}B!d*#J$ww(3^HIx@G;0T$bmKU zf&9$C!XOWK5J-fBfd%X!F$PAkLy{R-7+4q>7=&RC+0CF3xt&1?>KcguAg&Q*uw`cu zV-R8x2Rla#q7UvGVYq9A;jR&ex`vTKnL%Z8BCD{yxb{v4RVIdTkXIpwLjq5lftx`F zY_1sCA3Sh#c^I@Abim=R3o)Y}WQHCVGvpb#859VZVaQ+vj|yXO2<U^&2F2+X2JsEx cI0D5f8#rK<!N&1`*{o0}aWXQPfR&j70KEq}ivR!s diff --git a/WEB-INF/classes/dto/PizzaCompo.class b/WEB-INF/classes/dto/PizzaCompo.class index 812d177e3fdbe0aba470dd63198d8ec2b5dd78a3..2562c799453f10f1ab0ee3799ce2f4e4f8793e9d 100644 GIT binary patch delta 107 zcmdlbuv%clLDslr1{MYu1_lOUEo~j$?F<rHyBYW*w=)QAWf0uRz`(%7Ak4tPz{kMM zz`!8Jz|O$IAjBZSAi}`Fpas#!Aj%-d00P1ciVR8&j3A>Jlo^y5m_V$}dTcyQ09|qm AjQ{`u delta 106 zcmZ22uuEXWL00J^1{MYu1_lN>Eo~j$?F<rHyBYW*w=)QAWe}WvkyX@I2rMhcz|O$I xAjBZfAj=@ZAi}`Fpam9}V-RH!V*mj;21N!X21bxc49W~j3``)_W_dOqCIFU@46gtH diff --git a/WEB-INF/pizzeria.sql b/WEB-INF/pizzeria.sql new file mode 100644 index 0000000..5a7a403 --- /dev/null +++ b/WEB-INF/pizzeria.sql @@ -0,0 +1,100 @@ +Drop table if exists commande_detail cascade; +Drop table if exists commandes cascade; +Drop table if exists pizzas_ingredients cascade; + +Drop table if exists pizzas cascade; +Drop table if exists ingredients cascade; + +CREATE TABLE ingredients( + id int primary key, + name text, + price double precision + ); + + +CREATE TABLE pizzas( + nom text primary key, + pate text, + prixBase double precision + ); + +CREATE TABLE pizzas_ingredients( + nom text, + id int, + constraint fk_pizza foreign key (nom) references pizzas(nom) , + constraint fk_ingredient foreign key (id) references ingredients(id) , + primary key (nom,id) + ); + + + +CREATE TABLE commandes( + id int primary key, + nom text, + date date + ); + + + +CREATE table commande_detail( + id int, + nom text, + constraint fk_commande foreign key (id) references commandes(id) on delete cascade, + constraint fk_pizza foreign key (nom) references pizzas(nom), + primary key (id,nom) + ); + +/* Insertion des données */ + +insert into ingredients values (1,'pomme de terre',1); +insert into ingredients values (3,'chorizo',2); +insert into ingredients values (4,'lardons',2); +insert into ingredients values (5,'aubergines',1); +insert into ingredients values (6,'champignons',1); +insert into ingredients values (10,'fromage',3); +insert into ingredients values (7,'sauce tomate',0.5); +insert into ingredients values (8,'chevre',1.25); +insert into ingredients values (9,'mozzarella',0.75); +insert into ingredients values (2,'crème',2); + + +insert into pizzas values ('3fromages','classique',3.25); +insert into pizzas values ('4fromages','classique',3.75); +insert into pizzas values ('5fromages','fine',10); +insert into pizzas values ('6fromages','fine',10); + + +insert into pizzas_ingredients values ('3fromages',10); +insert into pizzas_ingredients values ('3fromages',7); +insert into pizzas_ingredients values ('3fromages',8); +insert into pizzas_ingredients values ('3fromages',9); +insert into pizzas_ingredients values ('6fromages',1); +insert into pizzas_ingredients values ('6fromages',2); +insert into pizzas_ingredients values ('6fromages',3); +insert into pizzas_ingredients values ('6fromages',8); +insert into pizzas_ingredients values ('4fromages',9); +insert into pizzas_ingredients values ('4fromages',8); +insert into pizzas_ingredients values ('4fromages',7); +insert into pizzas_ingredients values ('4fromages',10); + + +insert into commandes values (1,'jean machin','2024-04-01'); +insert into commandes values (2,'jean truc','2024-04-01'); +insert into commandes values (3,'jean bidule','2024-04-01'); + + +insert into commande_detail values (1,'3fromages'); +insert into commande_detail values (1,'4fromages'); +insert into commande_detail values (2,'3fromages'); +insert into commande_detail values (2,'4fromages'); +insert into commande_detail values (2,'6fromages'); +insert into commande_detail values (3,'3fromages'); + + + + + + + + + diff --git a/WEB-INF/src/controleurs/CommandeRestAPI.java b/WEB-INF/src/controleurs/CommandeRestAPI.java index e4878b6..3876a07 100644 --- a/WEB-INF/src/controleurs/CommandeRestAPI.java +++ b/WEB-INF/src/controleurs/CommandeRestAPI.java @@ -28,26 +28,27 @@ public class CommandeRestAPI extends HttpServlet{ // si /commandes/{id}/prixtotal alors on renvoie le prix total de la commande {id} if (pathParts.length > 2 && pathParts[2].equals("prixfinal")) { int id = Integer.parseInt(pathParts[1]); - Commande commande = commandeDAO.findById(id); - if (commande == null) { + + if (commandeDAO.findById(id) == null) { response.sendError(HttpServletResponse.SC_NOT_FOUND); } else { out.print(commandeDAO.totalPrice(id)); + response.setStatus(HttpServletResponse.SC_FOUND); } } // si /commandes/{id} alors on renvoie la commande {id} en JSON else if (pathParts.length > 1) { int id = Integer.parseInt(pathParts[1]); - Commande commande = commandeDAO.findById(id); - if (commande == null) { + if (commandeDAO.findById(id) == null) { response.sendError(HttpServletResponse.SC_NOT_FOUND); } else { ObjectMapper mapper = new ObjectMapper(); - out.print(mapper.writeValueAsString(commande)); + out.print(mapper.writeValueAsString(commandeDAO.findById(id))); + response.setStatus(HttpServletResponse.SC_FOUND); } } } - // si /commandes alors on renvoie la liste des commandes en JSON + // si /commandes alors on renvoie toutes les commandes en JSON else { ObjectMapper mapper = new ObjectMapper(); out.println(mapper.writeValueAsString(commandeDAO.findAll())); @@ -59,28 +60,100 @@ public class CommandeRestAPI extends HttpServlet{ PrintWriter out = response.getWriter(); ObjectMapper mapper = new ObjectMapper(); CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class); - commandeDAO.save(commande); - out.println(mapper.writeValueAsString(commande)); + // si la commande existe déjà, on renvoie une erreur conflict + if (commandeDAO.findById(commande.getId()) != null) { + response.sendError(HttpServletResponse.SC_CONFLICT); + + }else{ + // sinon on l'ajoute à la base de données + commandeDAO.save(commande); + out.println(mapper.writeValueAsString(commande)); + response.setStatus(HttpServletResponse.SC_CREATED); + } } public void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json; charset=UTF-8"); String pathInfo = request.getPathInfo(); PrintWriter out = response.getWriter(); - - // si /commandes/{id}/{pizza} alors on supprime la pizza {pizza} de la commande {id} + if (pathInfo != null) { String[] pathParts = pathInfo.split("/"); + // si /commandes/{id}/{pizza} alors on supprime la pizza {pizza} de la commande {id} if (pathParts.length > 2) { int id = Integer.parseInt(pathParts[1]); - String pizza = pathParts[2]; - commandeDAO.deleteCommandeDetail(id, pizza); - } - if (pathParts.length > 1) { + // si la commande {id} n'existe pas, on renvoie une erreur 404 + if (commandeDAO.findById(id) == null) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + }else { + String pizza = pathParts[2]; + // si la pizza {pizza} n'existe pas dans la commande {id}, on renvoie une erreur 404 + if (commandeDAO.commandeFindPizza(id, pizza)) { + commandeDAO.deleteCommandeDetail(id, pizza); + } else { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } + } + } + // sinon on supprime la commande {id} + else if (pathParts.length > 1) { + int id = Integer.parseInt(pathParts[1]); + if (commandeDAO.findById(id) == null) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } else { commandeDAO.deleteCommande(id); + } } } } + public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("application/json; charset=UTF-8"); + PrintWriter out = response.getWriter(); + ObjectMapper mapper = new ObjectMapper(); + CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class); + if (commandeDAO.findById(commande.getId()) == null) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } else { + commandeDAO.update(commande); + out.println(mapper.writeValueAsString(commande)); + } + + } + + public void doPatch(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + response.setContentType("application/json; charset=UTF-8"); + PrintWriter out = response.getWriter(); + ObjectMapper mapper = new ObjectMapper(); + CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class); + + String pathInfo = request.getPathInfo(); + String[] pathParts = pathInfo.split("/"); + int id = Integer.parseInt(pathParts[1]); + if (commandeDAO.findById(id) == null) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } else { + commande.setId(id); + commandeDAO.commandePatch(id, commande); + out.println(mapper.writeValueAsString(commande)); + response.setStatus(HttpServletResponse.SC_OK); + } + } + @Override + public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + if (request.getMethod().equals("GET")) { + doGet(request, response); + } else if (request.getMethod().equals("POST")) { + doPost(request, response); + } else if (request.getMethod().equals("DELETE")) { + doDelete(request, response); + } else if (request.getMethod().equals("PUT")) { + doPut(request, response); + } else if (request.getMethod().equals("PATCH")) { + doPatch(request, response); + } + } + } diff --git a/WEB-INF/src/controleurs/IngredientRestAPI.java b/WEB-INF/src/controleurs/IngredientRestAPI.java index b86f8ad..99c991e 100644 --- a/WEB-INF/src/controleurs/IngredientRestAPI.java +++ b/WEB-INF/src/controleurs/IngredientRestAPI.java @@ -37,6 +37,7 @@ public class IngredientRestAPI extends HttpServlet{ response.sendError(HttpServletResponse.SC_NOT_FOUND); } else { out.print(ingredient.getName()); + response.setStatus(HttpServletResponse.SC_FOUND); } } // si /ingrédients/{id} alors on renvoie l'ingrédient {id} en JSON @@ -47,6 +48,7 @@ public class IngredientRestAPI extends HttpServlet{ response.sendError(HttpServletResponse.SC_NOT_FOUND); } else { ObjectMapper mapper = new ObjectMapper(); + response.setStatus(HttpServletResponse.SC_FOUND); out.print(mapper.writeValueAsString(ingredient)); } @@ -92,17 +94,16 @@ public class IngredientRestAPI extends HttpServlet{ int id = Integer.parseInt(pathParts[1]); // regarde si l'ingrédient existe if (ingredientDAOList.findById(id) == null) { - //renvoie une erreur 404 response.sendError(HttpServletResponse.SC_NOT_FOUND); - out.println("L'ingrédient n'existe pas"); - + } else { //sinon on le supprime ingredientDAOList.delete(id); //et renvoi un message is le json de l'ingrédient supprimé + response.setStatus(HttpServletResponse.SC_OK); - out.println("L'ingrédient a bien été supprimé"); + out.println("{}"); } } @@ -156,6 +157,8 @@ public class IngredientRestAPI extends HttpServlet{ } } + + // faire une méthode service qui redirige vers les bonnes méthodes en fonction de la méthode de la requête public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getMethod().equals("GET")) { @@ -164,7 +167,7 @@ public class IngredientRestAPI extends HttpServlet{ doPost(request, response); } else if (request.getMethod().equals("DELETE")) { doDelete(request, response); - } else if (request.getMethod().equals("UPDATE")) { + } else if (request.getMethod().equals("PUT")) { doPut(request, response); } else if (request.getMethod().equals("PATCH")) { doPatch(request, response); diff --git a/WEB-INF/src/controleurs/PizzasRestAPI.java b/WEB-INF/src/controleurs/PizzasRestAPI.java index 96585b9..cb5c37f 100644 --- a/WEB-INF/src/controleurs/PizzasRestAPI.java +++ b/WEB-INF/src/controleurs/PizzasRestAPI.java @@ -1,5 +1,6 @@ package controleurs; +import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import java.io.IOException; @@ -31,6 +32,7 @@ public class PizzasRestAPI extends HttpServlet{ if (pizzasDAO.findByName(nom) != null){ PizzaCompo pizza = pizzasDAO.findByName(nom); out.print(pizzasDAO.totalPrice(nom)); + response.setStatus(HttpServletResponse.SC_FOUND); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND); @@ -42,6 +44,7 @@ public class PizzasRestAPI extends HttpServlet{ if (pizzasDAO.findByName(nom) != null){ Pizza pizza = pizzasDAO.findByName(nom); out.println(mapper.writeValueAsString(pizza)); + response.setStatus(HttpServletResponse.SC_FOUND); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND); } @@ -58,12 +61,17 @@ public class PizzasRestAPI extends HttpServlet{ PrintWriter out = response.getWriter(); ObjectMapper mapper = new ObjectMapper(); PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class); - pizzasDAO.save(pizza); - out.println(mapper.writeValueAsString(pizza)); + if (pizzasDAO.findByName(pizza.getNom()) != null){ + response.sendError(HttpServletResponse.SC_CONFLICT); + + }else { + pizzasDAO.save(pizza); + out.println(mapper.writeValueAsString(pizza)); + response.setStatus(HttpServletResponse.SC_CREATED); + } + } - - // Supprimez une pizza de la base de données public void doDelete(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json; charset=UTF-8"); @@ -76,8 +84,15 @@ public class PizzasRestAPI extends HttpServlet{ String nom = pathParts[1]; int id = Integer.parseInt(pathParts[2]); if (pizzasDAO.findByName(nom) != null){ + // regarde si l'ingrédient existe dans la table pizzas_ingredient + if (!pizzasDAO.findPizzaIngredient(nom, id)) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } + else{ pizzasDAO.deletePizzaIngredient(nom, id); out.println("La relation entre la pizza et l'ingrédient a été supprimée"); + response.setStatus(HttpServletResponse.SC_OK); + } } else { response.sendError(HttpServletResponse.SC_NOT_FOUND); } @@ -96,4 +111,55 @@ public class PizzasRestAPI extends HttpServlet{ } + + @Override + public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("application/json; charset=UTF-8"); + PrintWriter out = response.getWriter(); + ObjectMapper mapper = new ObjectMapper(); + PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class); + if (pizzasDAO.findByName(pizza.getNom()) != null){ + pizzasDAO.update(pizza); + out.println(mapper.writeValueAsString(pizza)); + response.setStatus(HttpServletResponse.SC_OK); + } else { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } + } + + + public void doPatch(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("application/json; charset=UTF-8"); + PrintWriter out = response.getWriter(); + ObjectMapper mapper = new ObjectMapper(); + PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class); + + String pathInfo = request.getPathInfo(); + String[] pathParts = pathInfo.split("/"); + String nom = pathParts[1]; + + if( pizzasDAO.findByName(nom) != null){ + pizzasDAO.patchPizza(nom, pizza); + out.println(mapper.writeValueAsString(pizza)); + response.setStatus(HttpServletResponse.SC_OK); + } else { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } + } + + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + if(request.getMethod().equals("PUT")) { + doPut(request, response); + } else if (request.getMethod().equals("DELETE")) { + doDelete(request, response); + } else if (request.getMethod().equals("POST")) { + doPost(request, response); + } else if(request.getMethod().equals("GET")) { + doGet(request, response); + } else if (request.getMethod().equals("PATCH")) { + doPatch(request, response); + } + } } diff --git a/WEB-INF/src/dao/CommandeDAO.java b/WEB-INF/src/dao/CommandeDAO.java index ecdbc2e..c3caa90 100644 --- a/WEB-INF/src/dao/CommandeDAO.java +++ b/WEB-INF/src/dao/CommandeDAO.java @@ -19,7 +19,7 @@ public class CommandeDAO { } - public Commande findById(int id) { + public CommandeDetail findById(int id) { try { Connection con = ds.getConnection(); String query = "select * from commandes where id = " + id + ";"; @@ -30,7 +30,7 @@ public class CommandeDAO { query = "select * from commande_detail where id = " + id + ";"; rs = con.createStatement().executeQuery(query); while (rs.next()) { - String nom = rs.getString("pizza"); + String nom = rs.getString("nom"); PizzaCompo pizza = new PizzasDAO().findByName(nom); commande.addPizza(pizza); } @@ -95,7 +95,7 @@ public class CommandeDAO { ResultSet rs = con.createStatement().executeQuery(query); while (rs.next()) { - String nom = rs.getString("pizza"); + String nom = rs.getString("nom"); total += new PizzasDAO().totalPrice(nom); } con.close(); @@ -110,7 +110,7 @@ public class CommandeDAO { public void deleteCommandeDetail(int id, String pizza) { try { Connection con = ds.getConnection(); - String query = "delete from commande_detail where id = " + id + " and pizza = '" + pizza + "';"; + String query = "delete from commande_detail where id = " + id + " and nom = '" + pizza + "';"; con.createStatement().executeUpdate(query); con.close(); } catch (Exception e) { @@ -130,4 +130,75 @@ public class CommandeDAO { System.out.println(e.getMessage()); } } -} + + public void update(CommandeDetail commande) { + try { + Connection con = ds.getConnection(); + String query = "update commandes set nom = '" + commande.getNom() + "', date = '" + commande.getDate() + "' where id = " + commande.getId() + ";"; + con.createStatement().executeUpdate(query); + query = "delete from commande_detail where id = " + commande.getId() + ";"; + con.createStatement().executeUpdate(query); + for (PizzaCompo pizza : commande.getPizzas()) { + query = "insert into commande_detail values (" + commande.getId() + ", '" + pizza.getNom() + "');"; + con.createStatement().executeUpdate(query); + } + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + + public void commandePatch(int id, CommandeDetail commande) { + try { + Connection con = ds.getConnection(); + if (commande.getNom() != null) { + String query = "update commandes set nom = '" + commande.getNom() + "' where id = " + id + ";"; + con.createStatement().executeUpdate(query); + } + if (commande.getDate() != null) { + String query = "update commandes set date = '" + commande.getDate() + "' where id = " + id + ";"; + con.createStatement().executeUpdate(query); + } + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + if (!commande.getPizzas().isEmpty()) { + try { + Connection con = ds.getConnection(); + String query = "delete from commande_detail where id = " + id + ";"; + con.createStatement().executeUpdate(query); + for (PizzaCompo pizza : commande.getPizzas()) { + query = "insert into commande_detail values (" + id + ", '" + pizza.getNom() + "');"; + con.createStatement().executeUpdate(query); + } + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + + } + } + + public boolean commandeFindPizza(int id, String nom) { + try { + Connection con = ds.getConnection(); + String query = "select * from commande_detail where id = " + id + " and nom = '" + nom + "';"; + ResultSet rs = con.createStatement().executeQuery(query); + if (rs.next()) { + con.close(); + return true; + } + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + return false; + } + + public static void main(String[] args) { + CommandeDAO commandeDAO = new CommandeDAO(); + CommandeDetail commande = commandeDAO.findById(1); + System.out.println(commande); + } + } diff --git a/WEB-INF/src/dao/IngredientDAODatabase.java b/WEB-INF/src/dao/IngredientDAODatabase.java index 053dc2b..86ab394 100644 --- a/WEB-INF/src/dao/IngredientDAODatabase.java +++ b/WEB-INF/src/dao/IngredientDAODatabase.java @@ -75,7 +75,7 @@ public class IngredientDAODatabase { public void update(Ingredient ingredient) { try { Connection con = ds.getConnection(); - String query = "update ingredients set name = '" + ingredient.getName() + "', price = " + ingredient.getPrice() + " where id = " + ingredient.getId() + " where id=" + ingredient.getId() + ";"; + String query = "update ingredients set name = '" + ingredient.getName() + "', price = " + ingredient.getPrice() + " where id = " + ingredient.getId() +";"; con.createStatement().executeUpdate(query); con.close(); } catch (Exception e) {System.out.println(e.getMessage());} @@ -102,6 +102,13 @@ public class IngredientDAODatabase { con.close(); } catch (Exception e) {System.out.println(e.getMessage());} } + + + public static void main(String[] args) { + IngredientDAODatabase ingredientDAOList = new IngredientDAODatabase(); + ingredientDAOList.update(new Ingredient(0, "tomate", 1.5)); + } + } diff --git a/WEB-INF/src/dao/PizzasDAO.java b/WEB-INF/src/dao/PizzasDAO.java index 27cf9d0..b315d10 100644 --- a/WEB-INF/src/dao/PizzasDAO.java +++ b/WEB-INF/src/dao/PizzasDAO.java @@ -131,11 +131,68 @@ public class PizzasDAO { try { Connection con = ds.getConnection(); String query = "update pizzas set pate = '" + pizza.getPate() + "', prixbase = " + pizza.getPrixBase() + " where nom = '" + pizza.getNom() + "';"; + + // delete all ingredients de la pizza + query = "delete from pizzas_ingredient where nom = '" + pizza.getNom() + "';"; con.createStatement().executeUpdate(query); + + for (Ingredient ingredient : pizza.getIngredients()) { + query = "insert into pizzas_ingredient values ('" + pizza.getNom() + "', " + ingredient.getId() + ");"; + con.createStatement().executeUpdate(query); + } + con.createStatement().executeUpdate(query); + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + public void patchPizza(String nom ,PizzaCompo pizza){ + try{ + Connection con = ds.getConnection(); + if (pizza.getPate() != null) { + String query = "update pizzas set pate = '" + pizza.getPate() + "' where nom = '" + nom + "';"; + con.createStatement().executeUpdate(query); + } + if (pizza.getPrixBase() != null) { + + String query = "update pizzas set prixbase = " + pizza.getPrixBase() + " where nom = '" + nom + "';"; + con.createStatement().executeUpdate(query); + } + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + if (!pizza.getIngredients().isEmpty()) { + try{ + Connection con = ds.getConnection(); + String query = "delete from pizzas_ingredient where nom = '" + nom + "';"; + con.createStatement().executeUpdate(query); + for(Ingredient ingredient : pizza.getIngredients()){ + query = "insert into pizzas_ingredient values ('" + nom + "', " + ingredient.getId() + ");"; + con.createStatement().executeUpdate(query); + } + + con.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + + } + } + public boolean findPizzaIngredient(String nom, int id) { + try { + Connection con = ds.getConnection(); + String query = "select * from pizzas_ingredient where nom = '" + nom + "' and id = " + id + ";"; + ResultSet rs = con.createStatement().executeQuery(query); + if (rs.next()) { + con.close(); + return true; + } con.close(); } catch (Exception e) { System.out.println(e.getMessage()); } + return false; } } diff --git a/WEB-INF/src/dto/Commande.java b/WEB-INF/src/dto/Commande.java index 229f84c..1ec667d 100644 --- a/WEB-INF/src/dto/Commande.java +++ b/WEB-INF/src/dto/Commande.java @@ -27,6 +27,10 @@ public class Commande { public Date getDate() { return date; } + + public void setId(int id) { + this.id = id; + } } diff --git a/WEB-INF/src/dto/CommandeDetail.java b/WEB-INF/src/dto/CommandeDetail.java index 8361f71..834f2ee 100644 --- a/WEB-INF/src/dto/CommandeDetail.java +++ b/WEB-INF/src/dto/CommandeDetail.java @@ -6,7 +6,9 @@ import java.util.ArrayList; public class CommandeDetail extends Commande{ - private List<PizzaCompo> pizzas; + private List<PizzaCompo> pizzas = new ArrayList<PizzaCompo>() { + + }; public CommandeDetail() { super(); diff --git a/WEB-INF/src/dto/PizzaCompo.java b/WEB-INF/src/dto/PizzaCompo.java index d97db67..b3bc71c 100644 --- a/WEB-INF/src/dto/PizzaCompo.java +++ b/WEB-INF/src/dto/PizzaCompo.java @@ -20,7 +20,7 @@ public class PizzaCompo extends Pizza { public PizzaCompo(String nom, String pate, Double prixBase) { super(nom, pate, prixBase); - this.ingredients = new ArrayList<Ingredient>(); + } public Double totalPrice() { Double total = super.getPrixBase() ; -- GitLab