Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajout de l'anonymisation des données de demande #702

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jusabatier
Copy link
Collaborator

Comme evoqué sur l'IRC, ce patch ajoute un scheduler qui va anonymiser les données du module demandes :

  • Tous les dernier jours du mois à minuit
  • Suppression de toutes les requetes datant de plus d'un mois et de leur données affiliées

Cependant, celui-ci nécessite une modification au niveaux de certaines tables de la BDD :

ALTER TABLE #schema_cadastrapp.request_information
  DROP CONSTRAINT foreingKeyUserId,
  ADD CONSTRAINT foreingKeyUserId FOREIGN KEY (userid)
    REFERENCES #schema_cadastrapp.request_user_information (userid) MATCH SIMPLE
    ON UPDATE NO ACTION ON DELETE CASCADE;

ALTER TABLE #schema_cadastrapp.request_information_object_request
  DROP CONSTRAINT foreingKeyRequestObjectRequestId,
  ADD CONSTRAINT foreingKeyRequestObjectRequestId FOREIGN KEY (request_information_requestid)
      REFERENCES #schema_cadastrapp.request_information (requestid) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE;

ALTER TABLE #schema_cadastrapp.request_information_object_request
  DROP CONSTRAINT foreingKeyRequestObjectRequestObjectId,
  ADD CONSTRAINT foreingKeyRequestObjectRequestObjectId FOREIGN KEY (objectsrequest_objectid)
      REFERENCES #schema_cadastrapp.object_request (objectid) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE;

Je ne sais pas où ni comment on peut documenter ça ?
Peut être dans les notes d'une nouvelle release ?

Je n'ai pas encore pu le tester car je n'ai pas de serveur tomcat et jeux de données de test déjà prêts sous la main.
@pierrejego Est-ce que tu aurais ça sous la main ?

Sinon j'essayerais d'en mettre un en place.

@MaelREBOUX

@pierrejego
Copy link
Member

Je viens de tester, en fait on purge toutes les informations. Et il y a un soucis si un utilisateur a fait plusieurs demandes. Si une a plus de 30 jours le user est supprimé et toutes ses demandes aussi

@MaelREBOUX
Copy link
Member

Je confirme : on a testé ça avec Pierre hier.

En fait : actuellement ça ne fait pas d’anonymisation mais une purge de toutes les données de demandes liées à un utilisateur qui a fait une demande supérieure à 1 mois.

Le contrôle se fait en regardant l'attribut requestdate de la table request_information. Si plus vieux que 1 mois => suppression des enregistrements (des demandeurs en fait) dans la table request_user_information.

SAUF QUE en introduisant un DELETE CASCADE => en plus de supprimer le demandeur, ça supprime toutes les infos dans la table request_information et object_request. Donc on n'a plus de stats.

database/update_db.sh Outdated Show resolved Hide resolved
@MaelREBOUX MaelREBOUX added this to the v 2.3 milestone Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants