pix
pix copied to clipboard
[TECH] Inclure le rattachement des profils cibles dans le script OGA (PIX-4993).
:unicorn: Problème
Actuellement, lorsqu'on souhaite créer en masse des organisations PRO, on passe par deux scripts :
- Le premier va créer les orgas et va rattacher des tags
- Le second va rattacher des profils cibles à ces orgas créés.
Or cela demande la création de deux fichiers csv, qui ont tout deux des règles différentes (exemple : l’un doit être séparé par virgule avec en-têtes, et l’autre en point virgule sans en-têtes). A long terme nous souhaitons que ce script devienne une fonctionnalité sur Pix Admin.
:robot: Solution
Ajout du rattachement des profils cibles dans le script existant OGA.
:rainbow: Remarques
Concernant les colonnes du fichier :
- "credits" : si cette colonne est vide, on met 0 par défaut.
- "locale" : si cette colonne est vide, on met "fr-fr" par défaut.
- "externalId" : cette colonne peut désormais être vide. Si l'organisation dispose d'un SIRET, alors on l'a renseigne dans cette colonne. Or certaines orgas n'en ont pas et le deuxième script imposait un externalId pour rattacher des profils cibles aux orgas. Et avec cette PR, on peut se défaire de cette condition. Et donc on ne vérifie plus l'unicité de chaque orga puisqu'on n'a plus nécessairement un id unique pour chacune. "targetProfiles": nouvelle colonne ajouté dans le fichier. Elle peut être vide.
On ne fait pas réellement une fusion des deux scripts, le deuxième script des profils cibles est conservé et sera supprimé quand cette nouvelle version sera complète.
:100: Pour tester
Créer un CSV OGA.csv
avec le texte suivant et sauvegarder le dans un répertoire.
externalId,name,provinceCode,credit,email,organizationInvitationRole,locale,tags,createdBy,documentationUrl,targetProfiles
2,Test 1,,,sco.admin @ exa mplE.net,ADMIN,fr-fr,CFA,1,http://test.com,4-5-7
2,Test 2,,,[email protected],ADMIN,,CFA,1,http://test.com,4-5-7
3,Test 3,,,[email protected],ADMIN,fr-fr,CFA,1,http://test.com,4-5-7
,Test 4,,,[email protected],ADMIN,fr-fr,CFA,1,http://test.com,4-5-7
5,Test 5,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
,Test 6,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
7,Test 7,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
,Test 8,,,[email protected],MEMBER,,CFA,1,http://test.com,4-5-7
9,Test 9,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
10,Test 10,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
,Test 11,,,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
12,Test 12,,0,[email protected],MEMBER,fr-fr,CFA,1,http://test.com,4-5-7
Lancer la commande node scripts/create-pro-organizations-with-tags-and-target-profiles.js /repertoire/OGA.csv
I'm deploying this PR to these urls:
- App (.fr): https://app-pr4901.review.pix.fr
- App (.org): https://app-pr4901.review.pix.org
- Orga: https://orga-pr4901.review.pix.fr
- Certif: https://certif-pr4901.review.pix.fr
- Admin: https://admin-pr4901.review.pix.fr
- API: https://api-pr4901.review.pix.fr/api/
Please check it out!
IMPORTANT: ne pas mettre de vrais données perso sur github! Et ne pas tester avec de vrais adresses emails ce script. Trop peur que ça envoit de vrais emails si variable d'envt mal configuré...
J'ai un soucis avec le format des targetProfile que tu fournis dans la partie "Pour tester" :
Qu'est-ce que je peux mettre comme valeurs à la place ?