Ajout de la fonction pour supprimer une demande
This commit is contained in:
parent
462fc28f2c
commit
83c9212394
@ -75,6 +75,7 @@ public class MainVerticle extends AbstractVerticle {
|
|||||||
router.post("/deleteCategories").handler(setObjects::deleteCategories);
|
router.post("/deleteCategories").handler(setObjects::deleteCategories);
|
||||||
router.post("/requestDeleteObject").handler(RequestDeleteObject::deleteObject);
|
router.post("/requestDeleteObject").handler(RequestDeleteObject::deleteObject);
|
||||||
router.get("/getDemandeSuppression").handler(DeleteObject::getAllDeletionRequests);
|
router.get("/getDemandeSuppression").handler(DeleteObject::getAllDeletionRequests);
|
||||||
|
router.post("/reject").handler(RequestDeleteObject::rejectDemande);
|
||||||
// Routes d'authentification
|
// Routes d'authentification
|
||||||
router.post("/signup").handler(authHandler::handleSignup);
|
router.post("/signup").handler(authHandler::handleSignup);
|
||||||
router.post("/login").handler(authHandler::handleLogin);
|
router.post("/login").handler(authHandler::handleLogin);
|
||||||
|
|||||||
@ -15,16 +15,17 @@ public class QueryDeleteObject {
|
|||||||
JsonObject body = context.body().asJsonObject();
|
JsonObject body = context.body().asJsonObject();
|
||||||
|
|
||||||
if (body == null) {
|
if (body == null) {
|
||||||
context.response().setStatusCode(400).end(new JsonObject().put("error", "Requête invalide").encode());
|
context.response().setStatusCode(400)
|
||||||
|
.end(new JsonObject().put("error", "Requête invalide").encode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer objectId = body.getInteger("object_id");
|
Integer objectId = body.getInteger("object_id");
|
||||||
Integer userId = body.getInteger("requested_by");
|
Integer userId = body.getInteger("requested_by");
|
||||||
|
|
||||||
|
|
||||||
if (objectId == null || userId == null) {
|
if (objectId == null || userId == null) {
|
||||||
context.response().setStatusCode(400).end(new JsonObject().put("error", "Champs manquants").encode());
|
context.response().setStatusCode(400)
|
||||||
|
.end(new JsonObject().put("error", "Champs manquants").encode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,32 +35,49 @@ public class QueryDeleteObject {
|
|||||||
if (res.failed()) {
|
if (res.failed()) {
|
||||||
res.cause().printStackTrace();
|
res.cause().printStackTrace();
|
||||||
context.response().setStatusCode(500)
|
context.response().setStatusCode(500)
|
||||||
.end(new JsonObject().put("error", "Erreur base de données").encode());
|
.end(new JsonObject().put("error", "Erreur base de données").encode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.result().rowCount() == 0) {
|
if (res.result().rowCount() == 0) {
|
||||||
context.response().setStatusCode(404).end(new JsonObject().put("error", "Objet non trouvé").encode());
|
context.response().setStatusCode(404)
|
||||||
|
.end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String checkDuplicate = "SELECT 1 FROM deletion_requests WHERE object_id = ? AND requested_by = ?";
|
String checkDuplicate = "SELECT 1 FROM deletion_requests WHERE object_id = ? AND requested_by = ?";
|
||||||
String insertQuery = "INSERT INTO deletion_requests (object_id, requested_by) VALUES (?, ?)";
|
|
||||||
|
|
||||||
databaseService.pool.preparedQuery(insertQuery).execute(Tuple.of(objectId, userId), insertRes -> {
|
databaseService.pool.preparedQuery(checkDuplicate).execute(Tuple.of(objectId, userId), duplicateCheck -> {
|
||||||
if (insertRes.succeeded()) {
|
if (duplicateCheck.failed()) {
|
||||||
context.response().setStatusCode(200)
|
duplicateCheck.cause().printStackTrace();
|
||||||
.end(new JsonObject().put("message", "Demande envoyée").encode());
|
|
||||||
} else {
|
|
||||||
insertRes.cause().printStackTrace();
|
|
||||||
context.response().setStatusCode(500)
|
context.response().setStatusCode(500)
|
||||||
.end(new JsonObject().put("error", "Erreur insertion").encode());
|
.end(new JsonObject().put("error", "Erreur vérification duplication").encode());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (duplicateCheck.result().rowCount() > 0) {
|
||||||
|
context.response().setStatusCode(409)
|
||||||
|
.end(new JsonObject().put("error", "Demande déjà existante").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String insertQuery = "INSERT INTO deletion_requests (object_id, requested_by) VALUES (?, ?)";
|
||||||
|
|
||||||
|
databaseService.pool.preparedQuery(insertQuery).execute(Tuple.of(objectId, userId), insertRes -> {
|
||||||
|
if (insertRes.succeeded()) {
|
||||||
|
context.response().setStatusCode(200)
|
||||||
|
.end(new JsonObject().put("message", "Demande envoyée").encode());
|
||||||
|
} else {
|
||||||
|
insertRes.cause().printStackTrace();
|
||||||
|
context.response().setStatusCode(500)
|
||||||
|
.end(new JsonObject().put("error", "Erreur insertion").encode());
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void getAllDeletionRequests(RoutingContext context) {
|
public void getAllDeletionRequests(RoutingContext context) {
|
||||||
String query = "SELECT * FROM deletion_requests";
|
String query = "SELECT * FROM deletion_requests";
|
||||||
|
|
||||||
@ -89,4 +107,38 @@ public class QueryDeleteObject {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void rejectDemande(RoutingContext context){
|
||||||
|
JsonObject body = context.body().asJsonObject();
|
||||||
|
if (body == null) {
|
||||||
|
context.response()
|
||||||
|
.setStatusCode(400)
|
||||||
|
.end(new JsonObject().put("error", "Corps de la requête manquant").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Integer id = body.getInteger("id");
|
||||||
|
|
||||||
|
|
||||||
|
databaseService.pool
|
||||||
|
.preparedQuery("DELETE FROM deletion_requests WHERE id=?")
|
||||||
|
.execute(Tuple.of(id))
|
||||||
|
.onFailure(e -> {
|
||||||
|
System.err.println("Erreur de récupération de la BDD :" + e.getMessage());
|
||||||
|
context.response()
|
||||||
|
.setStatusCode(500)
|
||||||
|
.end(new JsonObject().put("error", "Erreur de récupération de la BDD").encode());
|
||||||
|
})
|
||||||
|
.onSuccess(rows -> {
|
||||||
|
if (rows.rowCount() == 0) {
|
||||||
|
context.response()
|
||||||
|
.setStatusCode(404)
|
||||||
|
.end(new JsonObject().put("error", "Demande non trouvé").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.response()
|
||||||
|
.putHeader("content-type", "application/json: charset=UTF-8")
|
||||||
|
.end(new JsonObject().put("success", "La demande à bien été supprimé").encode());
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,18 +117,36 @@ function AdminObjet() {
|
|||||||
setVerif(true);
|
setVerif(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const handleReject =(id) => {
|
||||||
|
axios
|
||||||
|
.post(`${API_BASE_URL}/reject`, {
|
||||||
|
id,
|
||||||
|
})
|
||||||
|
.then((response) => {
|
||||||
|
setMessRequete("La demande à bien été supprimé !");
|
||||||
|
console.log("La demande à été supprimée :", response.data);
|
||||||
|
window.location.reload();
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
setMessRequete(
|
||||||
|
"Il y a eu une erreur dans la suppression de la demande !"
|
||||||
|
);
|
||||||
|
console.error("Erreur lors de la suppression de la demande :", error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const handleDeleteObject = (id) => {
|
const handleDeleteObject = (id) => {
|
||||||
axios
|
axios
|
||||||
.post(`${API_BASE_URL}/deleteObject`, {
|
.post(`${API_BASE_URL}/deleteObject`, {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
setMessRequete("Votre objet à bien été supprimé !");
|
alert("Votre objet à bien été supprimé !");
|
||||||
console.log("Votre objet à été supprimé :", response.data);
|
console.log("Votre objet à été supprimé :", response.data);
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
setMessRequete(
|
alert(
|
||||||
"Il y a eu une erreur dans la suppression de votre objet !"
|
"Il y a eu une erreur dans la suppression de votre objet !"
|
||||||
);
|
);
|
||||||
console.error("Erreur lors de la suppression de l'objet :", error);
|
console.error("Erreur lors de la suppression de l'objet :", error);
|
||||||
|
|||||||
@ -66,9 +66,6 @@ function Dashboard() {
|
|||||||
setAdminObjects(response.data);
|
setAdminObjects(response.data);
|
||||||
});
|
});
|
||||||
|
|
||||||
axios.get(`${API_BASE_URL}/demandeSuppression`).then((response) => {
|
|
||||||
setRequestDeleteObject(response.data);
|
|
||||||
});
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const [adminObjects, setAdminObjects] = useState([]);
|
const [adminObjects, setAdminObjects] = useState([]);
|
||||||
|
|||||||
@ -82,7 +82,7 @@ function EnhancedWeatherHome() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const formatHeure = (h) => {
|
const formatHeure = (h) => {
|
||||||
const heureFormatee = (h % 24).toString().padStart(2, "0"); // 0 → 00, 3 → 03, etc.
|
const heureFormatee = (h % 24).toString().padStart(2, "0");
|
||||||
return `${heureFormatee}:00`;
|
return `${heureFormatee}:00`;
|
||||||
};
|
};
|
||||||
const hourlyForecast = [
|
const hourlyForecast = [
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user