-
Notifications
You must be signed in to change notification settings - Fork 56
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
[FEATURE] Ajout de script pour supprimer des orga, dpo et tags associés (PIX-16091) #11124
base: dev
Are you sure you want to change the base?
Conversation
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
46a8465
to
683ca74
Compare
374e1a1
to
afefd95
Compare
Co-Authored-By: EmmanuelleBonnemay <[email protected]> Co-Authored-By: Benjamin Petetot <[email protected]>
Co-Authored-By: EmmanuelleBonnemay <[email protected]> Co-Authored-By: Benjamin Petetot <[email protected]>
in data-protection-officer repository
Co-Authored-By: EmmanuelleBonnemay <[email protected]> Co-Authored-By: Benjamin Petetot <[email protected]>
afefd95
to
92d5a05
Compare
const deleteById = async function (id) { | ||
const deleteCount = await knex(ORGANIZATIONS_TABLE_NAME).where({ id }).del(); | ||
return deleteCount === 1; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion de nommage d'argument organizationId
plus explicite et qui est plus la norme dans la base de code.
De plus le deleteCount
ne sert jamais à rien dans le code de production (c'est à dire hors tests), en effet soit la suppression est un succès, soit il y a une erreur et une exception sera levée. Mettre à jour les tests pour ne pas chercher à utiliser la valeur de retour booléenne précédente. Enfin, les tests testent déjà bien que la suppression est effective.
const deleteById = async function (id) { | |
const deleteCount = await knex(ORGANIZATIONS_TABLE_NAME).where({ id }).del(); | |
return deleteCount === 1; | |
}; | |
const deleteById = async function (organizationId) { | |
await knex(ORGANIZATIONS_TABLE_NAME).where({ id: organizationId }).del(); | |
}; |
🥞 Problème
Suite à une mauvaise manipulation sur Pix admin, des organisations ont été ajoutées en double et il faudrait les retirer.
🥓 Proposition
Concevoir un script qui va parcourir le csv contenant tous les identifiants des organisations à supprimer et va successivement:
🧃 Remarques
Ce script n'a pas vocation à rester, mais il a permis d'ajouter les méthodes suivantes:
😋 Pour tester
Le teste peut être fait en RA, mais il est plus simple et confortable de le faire en local. La procédure ne diffère cependant pas beaucoup.
En local:
cd api npm run db:reset
L'option dryRun est une sécurité, elle n'efface pas les éléments. Un message de ce type sera affiché:
"Would delete {nombre} organizations.".
Cette fois, le message "Deleted {nombre} organizations." sera afiché.
En RA
L'option dryRun est une sécurité, elle n'efface pas les éléments. Un message de ce type sera affiché "Would delete {nombre} organizations.".
Cette fois, le message "Deleted {nombre} organizations." sera afiché.