-
Notifications
You must be signed in to change notification settings - Fork 57
[FEATURE] Réferencer l'id du module plutôt que son slug (PIX-17403) #12033
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] Réferencer l'id du module plutôt que son slug (PIX-17403) #12033
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 : |
const id = 'fake-uuid'; | ||
|
||
// when & then | ||
await expect(moduleDatasource.getById(id)).to.have.been.rejectedWith(LearningContentResourceNotFound); |
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.
Tiens je connaissais pas 🤩
Une alternative à catchErr ?
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.
ahh ouais p'tet bien, c'est du copié collé
@@ -1,10 +1,10 @@ | |||
import { requestResponseUtils } from '../../../shared/infrastructure/utils/request-response-utils.js'; | |||
|
|||
const create = async function (request, h, { usecases, passageSerializer }) { | |||
const { 'module-id': moduleId } = request.payload.data.attributes; | |||
const { 'module-id': moduleSlug } = request.payload.data.attributes; |
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.
Remarque
Est-ce qu'il ne faudrait pas plutôt modifier le front pour passer un moduleId dans le champ request.payload.data.attributes.module-id
?
- Cela évite d'avoir
moduleSlug
côté controller puis lemoduleId
côté usecase - Permet, dans le usecase
createPassage
, d'utiliser la fonctionmoduleDatasource.getById
au lieu demoduleDatasource.getBySlug
- Fait que l'id est le seul identifiant technique qu'on utilise de bout en bout 😄
C'est pas bloquant et peut être fait dans une autre PR si besoin
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.
dans un monde idéal ouais mais ça nécessiterai de casser l'URL d'accès aux modules qui utilise le slug 😅 c'est une feature qu'on veut garder pour l'instant
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.
8eac794
to
3c81d18
Compare
🌸 Problème
Les slugs de module ont tendance à évoluer. C'est gênant pour nos données car on a un lien passage-module qui casse quand ça arrive.
🌳 Proposition
Dans les passages, le moduleId devient le champ
id
du module.🐝 Remarques
Impact imprévu : ça a cassé la vérification de réponses, voir les modifs dans
element-repository.js
.🤧 Pour tester
Non reg passage de module sur RA.
S'assurer qu'il n'y a pas d'erreur en console.