Projet

Général

Profil

Development #67901

web-service 'keepalive' pour décaler l'expiration d'un compte

Ajouté par Benjamin Dauvergne il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
03 août 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

0001-models-add-User.keepalive-field-67901.patch (4,04 ko) 0001-models-add-User.keepalive-field-67901.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0005-tests-simplify-user-synchronization-API-tests-67901.patch (6,34 ko) 0005-tests-simplify-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0003-api-refactor-user-synchronization-API-endpoint-67901.patch (5,3 ko) 0003-api-refactor-user-synchronization-API-endpoint-67901.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0004-tests-split-user-synchronization-API-tests-67901.patch (12,6 ko) 0004-tests-split-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch (3,9 ko) 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0006-api-add-keepalive-option-to-user-syncronization-API-.patch (10,7 ko) 0006-api-add-keepalive-option-to-user-syncronization-API-.patch Benjamin Dauvergne, 10 octobre 2022 10:37
0001-models-add-User.keepalive-field-67901.patch (4,04 ko) 0001-models-add-User.keepalive-field-67901.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0005-tests-simplify-user-synchronization-API-tests-67901.patch (6,34 ko) 0005-tests-simplify-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0003-api-refactor-user-synchronization-API-endpoint-67901.patch (5,3 ko) 0003-api-refactor-user-synchronization-API-endpoint-67901.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0004-tests-split-user-synchronization-API-tests-67901.patch (12,6 ko) 0004-tests-split-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch (3,9 ko) 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0006-api-add-keepalive-option-to-user-syncronization-API-.patch (12,6 ko) 0006-api-add-keepalive-option-to-user-syncronization-API-.patch Benjamin Dauvergne, 10 octobre 2022 13:43
0001-models-add-User.keepalive-field-67901.patch (4,03 ko) 0001-models-add-User.keepalive-field-67901.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0007-wip-use-flag-to-differentiate-anonymous-publik-servi.patch (1,42 ko) 0007-wip-use-flag-to-differentiate-anonymous-publik-servi.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0005-tests-simplify-user-synchronization-API-tests-67901.patch (6,31 ko) 0005-tests-simplify-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0003-api-refactor-user-synchronization-API-endpoint-67901.patch (5,29 ko) 0003-api-refactor-user-synchronization-API-endpoint-67901.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0004-tests-split-user-synchronization-API-tests-67901.patch (12,5 ko) 0004-tests-split-user-synchronization-API-tests-67901.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch (3,9 ko) 0002-misc-adapt-clean-unused-account-for-keepalive-67901.patch Benjamin Dauvergne, 02 novembre 2022 14:22
0006-api-add-keepalive-option-to-user-syncronization-API-.patch (12,6 ko) 0006-api-add-keepalive-option-to-user-syncronization-API-.patch Benjamin Dauvergne, 02 novembre 2022 14:22

Demandes liées

Lié à w.c.s. - Autre #67842: Discussion keepalive...Fermé01 août 2022

Actions
Lié à w.c.s. - Development #24430: Cronjob pour supprimer les utilisateurs sans compte en ligne quand ils n'ont plus de demande en coursFermé11 juin 2018

Actions
Lié à Hobo - Development #70933: Ajouter un flag aux classes Anonymous*Service pour les différencier des autres utilisateursFermé02 novembre 2022

Actions
Lié à Authentic 2 - Bug #75286: clean-unused-accounts : parmi les usagers inactifs, la sélection de ceux à supprimer ne se fait pas sur le keepaliveFermé09 mars 2023

Actions

Révisions associées

Révision fa52e373 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

models: add User.keepalive field (#67901)

Révision ff581d66 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: adapt clean-unused-account for keepalive (#67901)

Révision 0cb14c01 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

api: refactor user synchronization API endpoint (#67901)

Révision 5a592baf (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

tests: split user synchronization API tests (#67901)

Révision 23956e98 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

tests: simplify user synchronization API tests (#67901)

Révision 01190b74 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

api: add keepalive option to user syncronization API (#67901)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus d'un an

#3

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à mis à Benjamin Dauvergne
#5

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • 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
#6

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é
#7

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 ?

#8

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.

#9

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é
#11

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.

#12

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é.

#13

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)
#14

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
#15

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

#16

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é

Formats disponibles : Atom PDF