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

Utilisation de ce template inactive.tpl

**English version below**

Cher utilisateur·ice de Picateam,

Tu reçois ce message car tu possèdes un compte ({{ .username }}) sur l'instance Mattermost de Picasoft (team.picasoft.net) et tu ne t'es pas connecté dessus depuis au moins 3 ans (dernière connexion le {{ (time.Parse time.RFC3339 .last_login_date).Format "02/01/2006" }}).

Afin de prendre soin de notre instance, nous désactivons l'ensemble des comptes n'ayant pas eu d'activité au cours des 3 dernières années. Cette opération sera effectuée 1 mois après l'envoi de ce mail.

Tu es actuellement membre des équipes suivantes :
{{- range .teams }}
- {{ . }}
{{- end }}

Si tu n'as plus besoin de ton compte, tu n'as aucune action à réaliser, mais si tu souhaites le conserver on t'invite à te connecter sur https://team.picasoft.net.

Amicalement,
Picasoft

===

Dear Picateam user,

You're receiving this message because you have an account ({{ .username }}) on Picasoft's Mattermost instance (team.picasoft.net) and haven't logged in for at least 3 years (last login {{ (time.Parse time.RFC3339 .last_login_date).Format "01/02/2006" }}).

To take care of our instance, we're deactivating all accounts that haven't been active in the last 3 years. This operation will be carried out 1 month after this e-mail is sent.

You are currently a member of the following teams:
{{- range .teams }}
- {{ . }}
{{- end }}

If you no longer need your account, you have no action to take, but if you wish to keep it, we invite you to log on to https://team.picasoft.net.

Best regards,
Picasoft
  • technique/adminserv/mattermost/comptes_inactifs.1711463643.txt.gz
  • de rdelaage