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

Add catalog and legacy organization #351

Merged
merged 1 commit into from
Jul 21, 2022
Merged

Add catalog and legacy organization #351

merged 1 commit into from
Jul 21, 2022

Conversation

florimondmanca
Copy link
Collaborator

@florimondmanca florimondmanca commented Jul 19, 2022

Closes #356

TODO

  • Migration pour créer la table Catalog
  • Migration pour créer et remplir l'organisation "legacy"
  • Tests back basiques
  • Validation manuelle du rollback de migrations : make migrate puis alembic downgrade head-2.
  • Tester sur staging

Description

  • Cette PR ajoute une entité Catalog qui fait le lien entre 1 Organization et N CatalogRecord.
  • Une migration est créée pour cette table catalog.
  • Une migration de données est créée pour ajouter une organization "legacy" dont le SIRET (factice) est 000 000 000 00000, ainsi que son catalogue. Elle y rattache tous les utilisateurs et les jeux de données existants.
  • La création de jeux de données ou d'utilisateurs se fait systématiquement sur l'orga "legacy" pour l'instant.

Impact sur les environnements déployés

D'une manière générale, aucun changement UI (cf les tests E2E qui passent sans modif). Toutes les données existantes sont conservées.

Sur https://catalogue.multi.coop, les utilisateurs existants (nous ou le MC) seront donc rattachés en coulisses à l'orga "legacy", de même pour les jeux de données qui seront rattachés au catalogue de l'orga factice.

Perspectives pour la suite

Une fois qu'une organisation sera créée via le repo de config (cf #334) et l'intégration DataPass réalisée (cf #124) :

  • Pour les utilisateurs, le SIRET de l'orga cible proviendra de DataPass

Une fois qu'un catalogue sera créé via le repo de config (cf #284) :

  • Pour les jeux de données, le SIRET de l'orga cible sera envoyé avec la requête (champ de formulaire "Nom de l'organisation" grisé et configuré sur l'orga de l'utilisateur).

Checklist critères d'acceptation

NB : aucune modification frontend, cette PR prépare seulement le terrain en back

Voici les critères de #284 que cette PR remplit :

  • ✔️ Une organisation peut avoir 0 ou 1 catalogue. Une organisation peut exister sans catalogue (i.e. un catalogue peut être créé au moment de ou après la création de son organisation).
  • ✔️ Une organisation est identifiée par un numéro SIRET.
  • ✔️ A sa création, un catalogue ne contient aucune entrée (fiche jeu de données). Les fiches doivent être créées par les contributeurs dans l'outil. (L'import d'un catalogue avec l'interface n'est pas un must have de ce ticket.)

@florimondmanca florimondmanca force-pushed the fm/catalog branch 3 times, most recently from 607f498 to 484268d Compare July 19, 2022 14:22
@florimondmanca florimondmanca marked this pull request as draft July 19, 2022 15:03
@florimondmanca florimondmanca changed the base branch from master to fm/swap-dataset-catalogrecord-fk July 19, 2022 15:21
@florimondmanca florimondmanca force-pushed the fm/swap-dataset-catalogrecord-fk branch from 003f2cd to fd38b91 Compare July 20, 2022 09:09
@florimondmanca florimondmanca mentioned this pull request Jul 20, 2022
Base automatically changed from fm/swap-dataset-catalogrecord-fk to master July 20, 2022 11:56
@florimondmanca florimondmanca force-pushed the fm/catalog branch 4 times, most recently from aefe637 to 90e100e Compare July 20, 2022 14:53
@florimondmanca florimondmanca marked this pull request as ready for review July 20, 2022 15:16
@florimondmanca
Copy link
Collaborator Author

florimondmanca commented Jul 20, 2022

Validation staging

Avant:

> select count(*) from catalog_record;
 count 
-------
   500
(1 row)

> select count(*) from "user";
 count 
-------
     3
(1 row)

> select siret, name from organization;
 siret | name 
-------+------
(0 rows)

Après:

> select count(*) from catalog_record;
 count 
-------
   500
(1 row)

> select count(*) from "user";
 count 
-------
     3
(1 row)

> select siret, name from organization;
     siret      |          name           
----------------+-------------------------
 00000000000000 | Organisation par défaut
(1 row)

> select distinct organization_siret from "user";
 organization_siret 
--------------------
 00000000000000
(1 row)

> select distinct organization_siret from catalog_record;
 organization_siret 
--------------------
 00000000000000
(1 row)

@florimondmanca florimondmanca added the staging le code de cette PR est présente sur la staging label Jul 20, 2022
@florimondmanca florimondmanca merged commit 7e1cc27 into master Jul 21, 2022
@florimondmanca florimondmanca deleted the fm/catalog branch July 21, 2022 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
back staging le code de cette PR est présente sur la staging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Créer un catalogue au sein d'une organisation "legacy"
1 participant