From 387a8086cffb58eb288fbe42ccac63b55ed80434 Mon Sep 17 00:00:00 2001 From: Guillaume Damiens <guillaume.damiens@etu.utc.fr> Date: Tue, 30 Apr 2019 15:18:28 +0200 Subject: [PATCH] =?UTF-8?q?Changement=20de=20la=20m=C3=A9thode=20:=20passa?= =?UTF-8?q?ge=20par=20la=20liste=20des=20utilisateurs=20pour=20prendre=20e?= =?UTF-8?q?n=20compte=20boards=20priv=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pica-wekan/policy.sh | 57 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/pica-wekan/policy.sh b/pica-wekan/policy.sh index 1531713c..dbf33ae8 100755 --- a/pica-wekan/policy.sh +++ b/pica-wekan/policy.sh @@ -3,8 +3,8 @@ . ids.sh # contient $username et $password pour authentification # Paramètres -boardExpirationDurationYears=10 # années -boardExpirationDurationMonths= # mois +boardExpirationDurationYears=0 # années +boardExpirationDurationMonths=12 # mois boardExpirationDurationDays=0 # jours # Deadline = somme des durées du dessus deadlineTimeStamp=$(date -d "-"$boardExpirationDurationYears"years-"$boardExpirationDurationMonths"months-"$boardExpirationDurationDays"days" +%s) @@ -15,6 +15,53 @@ token=$(echo $queryPica | jq -r .token) tokenExpirationDate=$(echo $queryPica | jq -r .tokenExpires) # condition à rajouter sur la date d'expiration du token : arrêt si trop ancien +# Récupérer les utilisateurs +users=$(curl -s -X GET https://wekan.test.picasoft.net/api/users \ + -H 'Accept: application/json' \ + -H 'Authorization: Bearer '"$token"'') +usersIds=$(echo $users | jq -r '.[]._id') +usersUsernames=$(echo $users | jq -r '.[].username') + +# Boucler sur les utilisateurs +for usersId in $usersIds +do + # récupérer les boards de chaque utilisateur + userBoards=$(curl -s -X GET https://wekan.test.picasoft.net/api/users/$usersId/boards \ + -H 'Accept: application/json' \ + -H 'Authorization: Bearer '"$token"'' | jq -r '.[]._id') + + #boucler sur chaque board de l'utilisateur + for userBoard in $userBoards + do + # echo "Utilisateur "$usersId" fait partie de "$userBoard + + board=$(curl -s -X GET https://wekan.test.picasoft.net/api/boards/$userBoard \ + -H 'Accept: application/json' \ + -H 'Authorization: Bearer '"$token"'') + boardTitle=$(echo $board | jq -r '.title') + + lastModificationDate=$(echo $board | jq -r '.modifiedAt') + + if [ $lastModificationDate = null ] + then + lastModificationDate=$(echo $board | jq -r '.createdAt') + fi + + if [ $(($deadlineTimeStamp-$(date -d $lastModificationDate +%s))) -gt 0 ] + then + echo "Suppresion du board "$boardTitle" (_id "$userBoard", modifié le "$lastModificationDate")" + + # supprimer le board si trop ancien + # curl -X DELETE https://wekan.test.picasoft.net/api/boards/$idBoard \ + # -H 'Authorization: Bearer '"$token"'' + fi + done +done + +exit 1 + +######## FONCTIONNE MAIS QU'AVEC LES BOARDS PUBLICS ####### + # récupération des ids de tous les boards publics idBoards=$(curl -s -X GET https://wekan.test.picasoft.net/api/boards \ -H 'Accept: application/json' \ @@ -37,9 +84,9 @@ do if [ $(($deadlineTimeStamp-$(date -d $lastModificationDate +%s))) -gt 0 ] then # echo "deadline plus récente que date de modif : board "$idBoard" à supprimer" - echo "plus récent : on supprime" $idBoard + echo "plus récent : il faut supprimer " $idBoard - curl -X DELETE https://wekan.test.picasoft.net/api/boards/$idBoard \ - -H 'Authorization: Bearer '"$token"'' + # curl -X DELETE https://wekan.test.picasoft.net/api/boards/$idBoard \ + # -H 'Authorization: Bearer '"$token"'' fi done -- GitLab