Development #67901
web-service 'keepalive' pour décaler l'expiration d'un compte
0%
Description
1. ajouter un champ datetime nommé keepalive à User
2. modifier le cron d'expiration des comptes pour n'expirer que les comptes sans keepalive ou avec keepalive dans le passé
3. sur /api/keepalive/, on postera le contenu {'identifier': [uuid1, uuid2, ...]}
ou {'identifier': uuid}
et ça posera un now() + 1 month (durée par défaut) dans user.keepalive
4. prévoir la traduction des identifier sub vers uuid pour que ça fonctionne pour oidc (optionnel à ce stade)
Fichiers
Demandes liées
Révisions associées
misc: adapt clean-unused-account for keepalive (#67901)
api: refactor user synchronization API endpoint (#67901)
tests: split user synchronization API tests (#67901)
tests: simplify user synchronization API tests (#67901)
api: add keepalive option to user syncronization API (#67901)
Historique
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Lié à Autre #67842: Discussion keepalive... ajouté
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-models-add-User.keepalive-field-67901.patch 0001-models-add-User.keepalive-field-67901.patch ajouté
- Fichier 0005-tests-simplify-user-synchronization-API-tests-67901.patch 0005-tests-simplify-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0003-api-refactor-user-synchronization-API-endpoint-67901.patch 0003-api-refactor-user-synchronization-API-endpoint-67901.patch ajouté
- Fichier 0004-tests-split-user-synchronization-API-tests-67901.patch 0004-tests-split-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch ajouté
- Fichier 0006-api-add-keepalive-option-to-user-syncronization-API-.patch 0006-api-add-keepalive-option-to-user-syncronization-API-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-models-add-User.keepalive-field-67901.patch 0001-models-add-User.keepalive-field-67901.patch ajouté
- Fichier 0005-tests-simplify-user-synchronization-API-tests-67901.patch 0005-tests-simplify-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0003-api-refactor-user-synchronization-API-endpoint-67901.patch 0003-api-refactor-user-synchronization-API-endpoint-67901.patch ajouté
- Fichier 0004-tests-split-user-synchronization-API-tests-67901.patch 0004-tests-split-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch ajouté
- Fichier 0006-api-add-keepalive-option-to-user-syncronization-API-.patch 0006-api-add-keepalive-option-to-user-syncronization-API-.patch ajouté
- 0001: ajout du champ keepalive au modèle User
- 0002: adaptation de la commande clean-unused-account pour prendre en compte keepalive
- 0003: refactoring sur le endpoint synchronisation pour pouvoir le modifier plus facilement plus tard
- 0004/0005: un peu de rangement autour des tests du même endpoint
- 0006: ajout du flag keepalive au endpoint de synchro, on accepte un keepalive par mois pour ne pas remplir le journal avec des notifications keepalive
Mis à jour par Marie Kuntz il y a plus d'un an
- Lié à Development #24430: Cronjob pour supprimer les utilisateurs sans compte en ligne quand ils n'ont plus de demande en cours ajouté
Mis à jour par Frédéric Péters il y a plus d'un an
3. sur /api/keepalive/, on postera le contenu {'identifier': [uuid1, uuid2, ...]} ou {'identifier': uuid} et ça posera un now() + 1 month (durée par défaut) dans user.keepalive
Ça n'est finalement pas ça qui est proposé dans le patch; tu pourrais noter ce qui est désormais attendu comme appel ?
+ str(request.user).startswith('Publik Service')
Ça m'a l'air assez artisanal/fragile, ça pourrait plutôt être un attribut supplémentaire posé sur les classes côté Hobo ?
Mis à jour par Benjamin Dauvergne il y a plus d'un an
Frédéric Péters a écrit :
3. sur /api/keepalive/, on postera le contenu {'identifier': [uuid1, uuid2, ...]} ou {'identifier': uuid} et ça posera un now() + 1 month (durée par défaut) dans user.keepalive
Ça n'est finalement pas ça qui est proposé dans le patch; tu pourrais noter ce qui est désormais attendu comme appel ?
POST sur /api/users/synchronization/ de
{ "known_uuids": [uuid1, uuid2, ...], "keepalive": true }
[...]/api/users/synchronization/
Ça m'a l'air assez artisanal/fragile, ça pourrait plutôt être un attribut supplémentaire posé sur les classes côté Hobo ?
Ok je vais ouvrir un ticket pour cela.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Lié à Development #70933: Ajouter un flag aux classes Anonymous*Service pour les différencier des autres utilisateurs ajouté
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-models-add-User.keepalive-field-67901.patch 0001-models-add-User.keepalive-field-67901.patch ajouté
- Fichier 0007-wip-use-flag-to-differentiate-anonymous-publik-servi.patch 0007-wip-use-flag-to-differentiate-anonymous-publik-servi.patch ajouté
- Fichier 0005-tests-simplify-user-synchronization-API-tests-67901.patch 0005-tests-simplify-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0003-api-refactor-user-synchronization-API-endpoint-67901.patch 0003-api-refactor-user-synchronization-API-endpoint-67901.patch ajouté
- Fichier 0004-tests-split-user-synchronization-API-tests-67901.patch 0004-tests-split-user-synchronization-API-tests-67901.patch ajouté
- Fichier 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch ajouté
- Fichier 0006-api-add-keepalive-option-to-user-syncronization-API-.patch 0006-api-add-keepalive-option-to-user-syncronization-API-.patch ajouté
Test modifié, basé sur la branche du ticket #70933.
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Si j'ai bien compris; en squashant les deux derniers commits mais en y abandonnant la modification au tox.ini.
Mis à jour par Frédéric Péters il y a plus d'un an
L'exploitation de ce webservice par wcs a été déployée, en imaginant que ce ticket serait poussé.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit 01190b740a461bd7b3a4e89ea2a1833ae4b999db Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 7 10:45:14 2022 +0200 api: add keepalive option to user syncronization API (#67901) commit 23956e98dd40dd5870279fe09fac42840b26d676 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 7 11:42:27 2022 +0200 tests: simplify user synchronization API tests (#67901) commit 5a592baf3137be4f9ad3f29acab2d3ca22b0f174 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 7 10:53:22 2022 +0200 tests: split user synchronization API tests (#67901) commit 0cb14c01382e9b80767694cf512a5764faf4173f Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 7 09:13:51 2022 +0200 api: refactor user synchronization API endpoint (#67901) commit ff581d6617a553606c88dd057e0898b73c239845 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Oct 6 23:07:36 2022 +0200 misc: adapt clean-unused-account for keepalive (#67901) commit fa52e3739c54ed7293210d60b32692b4c5850af8 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Oct 6 21:58:56 2022 +0200 models: add User.keepalive field (#67901)
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Paul Marillonnet il y a environ un an
- Lié à Bug #75286: clean-unused-accounts : parmi les usagers inactifs, la sélection de ceux à supprimer ne se fait pas sur le keepalive ajouté
models: add User.keepalive field (#67901)