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

[TECH] Créer nouvel usecase de duplication d'un CF (PIX-16643) #11454

Merged
merged 1 commit into from
Feb 20, 2025

Conversation

yannbertrand
Copy link
Member

@yannbertrand yannbertrand commented Feb 19, 2025

🥓 Proposition

On souhaite permettre la duplication de contenus formatifs dans Pix Admin. On ajoute ici un usecase qui permettra de le faire. Il prends en paramètre d'entrée l'identifiant du CF qu'on souhaite dupliquer et renvoie le nouveau CF créé.

🧃 Remarques

On s'est questionné sur :

  • est-ce qu'une transaction commune est utilisée entre la copie du CF et la copie des training-triggers+training-trigger-tubes ? Oui, en utilisant withTransaction, il y a un rollback qui se fait si erreur pendant les appels aux différents repo.
  • que se passerait-il en cas de suppression d'un tube ? A priori rien car training-trigger-tubes ne référence que des identifiants sous forme de chaine de caractères, donc la problématique est à déporter dans le mécanisme d'acquisition de CF par l'apprenant·e.

😋 Pour tester

En local, enregistrer ce bout de code dans le dossier api (dans un fichier .js) :

const main = async () => {
  const trainingRepository = await import('./src/devcomp/infrastructure/repositories/training-repository.js');
  const trainingTriggersRepository = await import(
    './src/devcomp/infrastructure/repositories/training-trigger-repository.js'
  );
  const { duplicateTraining } = await import('./src/devcomp/domain/usecases/duplicate-training.js');
  const result = await duplicateTraining({ trainingId: 100055, trainingRepository, trainingTriggersRepository });
  console.log(result);
};
main();

L’exécuter dans un terminal avec node <mon-fichier.js> et constater que le training 100055 a été dupliqué, ainsi que ses triggers, ainsi que ses trigger-tubes.

@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@yannbertrand yannbertrand force-pushed the PIX-16075-duplicate-training branch from a14ca92 to 240854c Compare February 19, 2025 10:57
@dianeCdrPix dianeCdrPix force-pushed the PIX-16075-duplicate-training branch 3 times, most recently from e2f243c to 3db94a0 Compare February 20, 2025 10:42
@clemlatz clemlatz force-pushed the PIX-16075-duplicate-training branch from 3db94a0 to 217bb45 Compare February 20, 2025 10:55
Co-authored-by: Clément Latzarus <[email protected]>
Co-authored-by: Diane Cordier <[email protected]>
@pix-service-auto-merge pix-service-auto-merge merged commit 62e6657 into dev Feb 20, 2025
9 of 11 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the PIX-16075-duplicate-training branch February 20, 2025 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants