Partage
  • Partager sur Facebook
  • Partager sur Twitter

Suppression d'un sujet de discussion privée ouvert

Javascript

    26 janvier 2025 à 12:44:56

    Bonjour à tous

    Dans le navigateur, j’ai 2 messages d’erreurs m’indiquant : Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard » et « Les données reçues ne sont pas un tableau ». Le but de ma consigne est qu’un membre puisse supprimer un sujet de discussion privée ouvert sur tous les profils. J’ai codifié mon scripts comme ceci

    document.addEventListener("DOMContentLoaded", function () {
      const allmessageForm = document.getElementById("allmessagesForm");
      const allmessageInput = document.getElementById("allmessageInput");
      const adminChatWindow = document.getElementById("adminChatWindow");
      const allUsersList = document.getElementById("allUsersList");
      const alldeleteDiscussionBtn = document.getElementById(
        "alldeleteDiscussionBtn"
      );
    
      if (allmessageForm) {
        allmessageForm.addEventListener("submit", async function (event) {
          event.preventDefault();
          const message = allmessageInput.value.trim();
          if (!message) {
            alert("Veuillez saisir un message.");
            return;
          }
          try {
            const response = await fetch(
              "http://localhost:3000/api/postAllProfiles",
              {
                method: "POST",
                headers: {
                  "Content-Type": "application/json",
                },
                body: JSON.stringify({
                  content: message,
                }),
              }
            );
            const data = await response.json();
            if (response.ok) {
              allmessageInput.value = "";
              loadAllMessages();
            } else {
              alert("Erreur lors de l'envoi du message public : " + data.message);
            }
          } catch (error) {
            console.error("Erreur lors de l'envoi du message public : ", error);
            alert("Erreur lors de l'envoi du message public : " + error.message);
          }
        });
      }
    
      // Suppression de la discussion publique ouverte par l'administrateur sur tous les profils
      if (alldeleteDiscussionBtn) {
        alldeleteDiscussionBtn.addEventListener("click", async function () {
          if (confirm("Êtes-vous certain de supprimer cette discussion?")) {
            try {
              const response = await fetch(
                "http://localhost:3000/api/alldeleteDiscussion",
                {
                  method: "DELETE",
                  headers: {
                    "Content-Type": "application/json",
                  },
                }
              );
              const data = await response.json();
              if (response.ok) {
                alert("Suppression de la discussion publique réussie!");
                adminChatWindow.innerHTML = "";
              } else {
                alert(
                  "Erreur lors de la suppression de la discussion publique : " +
                    data.message
                );
              }
            } catch (error) {
              console.error(
                "Erreur lors de la suppression de la discussion publique : ",
                error
              );
              alert(
                "Erreur lors de la suppression de la discussion publique : " +
                  error.message
              );
            }
          }
        });
      }
    
      async function loadAllMessages() {
        try {
          const response = await fetch(
            "http://localhost:3000/api/allProfilesMessages",
            {
              method: "GET",
              headers: {
                "Content-Type": "application/json",
              },
            }
          );
    
          if (!response.ok) {
            console.warn("Problème pour obtenir les messages publics");
            alert(
              "Problème pour obtenir les messages publics. Veuillez réessayer plus tard."
            );
            return;
          }
          const data = await response.json();
    
          if (adminChatWindow) {
            adminChatWindow.innerHTML = "";
    
            if (Array.isArray(data)) {
              data.forEach((message) => {
                const messageItem = document.createElement("div");
                messageItem.classList.add("message-item");
                messageItem.innerHTML = `<p>${message.content}</p>
              <small class="text-muted">${new Date(
                message.createdAt
              ).toLocaleString()}</small>`;
                adminChatWindow.appendChild(messageItem);
              });
            } else {
              console.error("Les données reçues ne sont pas un tableau");
              alert(
                "Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard."
              );
            }
          }
        } catch (error) {
          console.error(
            "Erreur lors de la récupération des messages publics : ",
            error
          );
          alert(
            "Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard."
          );
        }
      }
    
      async function loadAllUsers() {
        try {
          const response = await fetch("http://localhost:3000/api/Users", {
            method: "GET",
            headers: {
              "Content-Type": "application/json",
            },
          });
          if (!response.ok) {
            console.warn("Problème pour obtenir la liste des utilisateurs");
            alert(
              "Problème pour obtenir la liste des utilisateurs. Veuillez réessayer plus tard."
            );
            return;
          }
          const data = await response.json();
          if (allUsersList) {
            allUsersList.innerHTML = "";
    
            if (Array.isArray(data)) {
              data.forEach((user) => {
                const userItem = document.createElement("div");
                userItem.classList.add("list-group-item");
                userItem.innerHTML = `<p>${user.username}</p>`;
                allUsersList.appendChild(userItem);
              });
            } else {
              console.error("Les données reçues ne sont pas un tableau :", data);
              alert(
                "Erreur lors de la récupération de la liste des utilisateurs. Veuillez réessayer plus tard."
              );
            }
          }
        } catch (error) {
          console.error(
            "Erreur lors de la récupération de la liste des utilisateurs : ",
            error
          );
          alert(
            "Erreur lors de la récupération de la liste des utilisateurs. Veuillez réessayer plus tard."
          );
        }
      }
    
      loadAllUsers();
      loadAllMessages();
    et c'est là où j'ai eu ses deux messages. Pouvez vous m'aider SVP et me dire comment je pourrais modifier? Merci à tous
    • Partager sur Facebook
    • Partager sur Twitter

    Suppression d'un sujet de discussion privée ouvert

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown