diff --git a/pica-wekan/policy.sh b/pica-wekan/policy.sh index 1531713c38f85469d61f707511fea1cf746cf428..dbf33ae8cd91469594bcd47d2f484b1b6a6cc80a 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