From 88d3bf72b96711975c31af82da9039d4f99492a8 Mon Sep 17 00:00:00 2001 From: didier Date: Sun, 9 Aug 2026 20:53:25 +0200 Subject: [PATCH] mattermost api --- bin/gestUsers.sh | 62 +++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/bin/gestUsers.sh b/bin/gestUsers.sh index 7cb5064..fccf947 100755 --- a/bin/gestUsers.sh +++ b/bin/gestUsers.sh @@ -13,7 +13,7 @@ setKazVars . $KAZ_KEY_DIR/env-sympaServ . $KAZ_KEY_DIR/env-paheko -VERSION="16-11-2025" +VERSION="09-08-2026" PRG=$(basename $0) RACINE=$(echo $PRG | awk '{print $1}') IFS=' ' @@ -62,8 +62,8 @@ PostMattermost() { . $KAZ_KEY_DIR/env-mattermostAdmin PostM=$1 CHANNEL=$2 - TEAMID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/teams/name/${EQUIPE}" | jq .id | sed -e 's/"//g') - CHANNELID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" ${URL_AGORA_API}/teams/${TEAMID}/channels/name/${CHANNEL} | jq .id | sed -e 's/"//g') + TEAMID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/teams/name/${EQUIPE}" | jq -r .id ) + CHANNELID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" ${URL_AGORA_API}/teams/${TEAMID}/channels/name/${CHANNEL} | jq -r .id ) curl -s i-X POST -i -H "Authorization: Bearer ${mattermost_token}" -d "{\"channel_id\":\"${CHANNELID}\",\"message\":\"${PostM}\"}" "${URL_AGORA_API}/posts" >/dev/null 2>&1 } @@ -139,7 +139,7 @@ searchEmail() { searchMattermost() { #Ici $1 est une adresse email . $KAZ_KEY_DIR/env-mattermostAdmin - curl -s -H "Authorization: Bearer ${mattermost_token}" "https://${URL_AGORA}/api/v4/users/email/${1}" >${TFILE_CPT_MATTERMOST} 2>/dev/null + curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/api/v4/users/email/${1}" >${TFILE_CPT_MATTERMOST} 2>/dev/null REP_SEARCH_MATTERMOST=$(jq -r .id ${TFILE_CPT_MATTERMOST}) if [ ! -z ${REP_SEARCH_MATTERMOST} ] then @@ -188,16 +188,16 @@ infoEmail() { printKazMsg " DETAILS DU COMPTE DANS LDAP ET PAHEKO" echo "" curl -s ${URL_PAHEKO}/api/sql -d "SELECT nom,adresse,code_postal,ville,email,email_secours,admin_orga,nom_orga,quota_disque,serveur_prod FROM users where email='${CHOIX_MAIL}' LIMIT 1;" >/tmp/$CHOIX_MAIL-paheko.json - jq .results[].nom /tmp/$CHOIX_MAIL-paheko.json - jq .results[].adresse /tmp/$CHOIX_MAIL-paheko.json - jq .results[].code_postal /tmp/$CHOIX_MAIL-paheko.json - jq .results[].ville /tmp/$CHOIX_MAIL-paheko.json - SERVEUR_PROD=$(jq .results[].serveur_prod /tmp/$CHOIX_MAIL-paheko.json) - NOM_ORGA=$(jq .results[].nom_orga /tmp/$CHOIX_MAIL-paheko.json) + jq -r .results[].nom /tmp/$CHOIX_MAIL-paheko.json + jq -r .results[].adresse /tmp/$CHOIX_MAIL-paheko.json + jq -r .results[].code_postal /tmp/$CHOIX_MAIL-paheko.json + jq -r .results[].ville /tmp/$CHOIX_MAIL-paheko.json + SERVEUR_PROD=$(jq -r .results[].serveur_prod /tmp/$CHOIX_MAIL-paheko.json) + NOM_ORGA=$(jq -r .results[].nom_orga /tmp/$CHOIX_MAIL-paheko.json) [ "${NOM_ORGA}" = "null" ] || echo -e " - ORGA : ${GREEN}${NOM_ORGA}${NC} sur serveur ${GREEN}${SERVEUR_PROD}${NC} " echo -n " - Quota (Paheko) : " echo -ne "${GREEN}" - jq .results[].quota_disque /tmp/$CHOIX_MAIL-paheko.json + jq -r .results[].quota_disque /tmp/$CHOIX_MAIL-paheko.json echo -ne "${NC}" echo -n " - Quota Mail (Ldap) : " echo -ne "${GREEN}" @@ -214,7 +214,7 @@ infoEmail() { echo -ne "${NC}" echo -n " - Mail de secours (Paheko ): " echo -ne "${GREEN}" - jq .results[].email_secours /tmp/$CHOIX_MAIL-paheko.json | sed -e 's/"//g' + jq -r .results[].email_secours /tmp/$CHOIX_MAIL-paheko.json | sed -e 's/"//g' echo -ne "${NC}" echo -n " - Mail de secours (Ldap): " echo -ne "${GREEN}" @@ -233,7 +233,7 @@ infoEmail() { echo -e "${NC}" echo " - L' adresse apparait dans :" echo -n -e "${GREEN}" - curl -s ${URL_PAHEKO}/api/sql -d "SELECT * FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq .results[].nom + curl -s ${URL_PAHEKO}/api/sql -d "SELECT * FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq -r .results[].nom echo -e "${NC}" read -p " ==> Entrée pour continuer <==" ;; @@ -298,18 +298,20 @@ searchDestroy() { if [ "${DOMAINE_EN_COURS}" = "${domain}" ] then REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY) - printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}" if [ ! -z ${REP_SEARCH} ] then - echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}" - docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1 - if [ "$?" -eq "0" ] - then - printKazMsg "Suppresion ok" - else - printKazError -e "Erreur de suppression" - fi - echo " ----------------- " + echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} trouvé dans mattermost ${NC}" + status_del=$(curl --request DELETE \ + -w "%{status}" \ + -H "Authorization: Bearer ${mattermost_token}" \ + "${URL_AGORA_API}/api/v4/users/${REP_SEARCH_DESTROY}") + if [ "${status_del}" -eq "200" ] + then + printKazMsg "Suppresion ok" + else + printKazError -e "Erreur de suppression" + fi + echo " ----------------- " else echo "Rien a supprimer dans mattermost" fi @@ -386,12 +388,7 @@ gestPassword() { #cree un mdp acceptable par postfix/nc/mattermost PASSWORD=_`apg -n 1 -m 10 -M NCL -d`_ COMPTE_A_MODIFIER=${CHOIX_MAIL} - - # On considère le mot de passe de secours de ldap - # FICMAILSECOURS=$(mktemp /tmp/FICMAILSECOURSXXXXX.json) - # curl -s ${URL_PAHEKO}/api/sql -d "SELECT email_secours FROM users where email='${COMPTE_A_MODIFIER}' LIMIT 1 ;" >$FICMAILSECOURS - # MAIL_SECOURS=$(jq .results[].email_secours $FICMAILSECOURS | sed -e 's/\"//g') - + # On considère le mot de passe de secours de ldap MAIL_SECOURS=$(ldapsearch -H ldap://${LDAP_IP} \ -x -D "cn=${LDAP_ADMIN_USERNAME},${ldap_root}" \ -w "${LDAP_ADMIN_PASSWORD}" \ @@ -1117,7 +1114,7 @@ echo -e "${NC}*********" echo -e "${NC}" echo -e " ${NC}1 - Information sur un compte (alias ou Mail )" echo -e " ${YELLOW}2 - Modification d' un compte" -echo -e " ${NC}3 - Changement de mot de passe d' un compte" +#echo -e " ${NC}3 - Changement de mot de passe d' un compte" echo -e " ${GREEN}4 - Suppression d' un compte " echo -e " ${NC}5 - Création d' une adresse de messagerie" echo -e "${NC}" @@ -1138,8 +1135,9 @@ case "$CHOICE" in '2' ) updateUser ;; - '3' ) - gestPassword + '3' ) + echo "La fonction est supprimée" + read -p "==> Entrée pour continuer <==" ;; '4' ) searchDestroy