technique:adminserv:mattermost:comptes_inactifs

Réaliser un export

Créer export_inactive.sql avec

snippet.sql
SELECT json_agg(EXP) FROM (
SELECT u.id AS userid, u.username AS username, u.email AS email, to_timestamp((lastlogin.lastlogin/1000)) AS last_login_date, userteams.nameteams AS teams
FROM users u
INNER JOIN (
  SELECT userid, MAX(createat) AS lastlogin 
  FROM audits a
  WHERE a.action = '/api/v4/users/login' AND a.extrainfo LIKE 'success%' 
  GROUP BY userid
  HAVING TO_TIMESTAMP(MAX(a.createat) / 1000) < NOW() - INTERVAL '3 years'
) lastlogin
ON 
   u.id = lastlogin.userid
INNER JOIN (
  SELECT teammembers.userid AS userid, array_agg(teams.displayname) AS nameteams
  FROM teammembers
  INNER JOIN teams ON teammembers.teamid = teams.id
  WHERE teammembers.deleteat = 0
  GROUP BY teammembers.userid
) userteams
ON
   u.id = userteams.userid
WHERE u.deleteat = 0) EXP;

Puis lancer l’export

snippet.bash
cat export_inactive.sql | docker exec -i mattermost-db psql -qAtX -U mattermost > result.json

générer les mails

On utilise gomplate à télécharger sur la machine dans le répertoire utilisateur afin de générer des mails personnalisés

snippet.bash
curl -o gomplate -L https://github.com/hairyhenderson/gomplate/releases/download/v3.11.7/gomplate_linux-amd64
chmod +x gomplate

On va utiliser ce script

snippet.bash
# todo
  • technique/adminserv/mattermost/comptes_inactifs.1711451011.txt.gz
  • de rdelaage