event-sourcing : durcir le parsing des stream ids (garde de préfixe partagée) #43
Labels
No labels
bug
enhancement
pr-split
question
security
transaction-matcher
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
momsse/octant#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Les helpers
xIdFromStreamIdfontstreamId.slice(PREFIX.length)sans vérifier que lestreamIdcommence bien par le préfixe attendu. Pattern présent dans tout le repo (authentication, authorization, banking, documents, reconciliation).Risque (relevé par les reviews locales/distantes successives) : un
streamIdmal routé est silencieusement réinterprété en un id valide-mais-faux au lieu d'échouer. Aggravé dans@octant/reconciliationoùMatchCandidate:etReconciliation:font tous deux 15 caractères → un id de l'un peut être interprété comme l'autre.En pratique le
streamIdest toujours construit en interne parstreamIdOf, donc non déclenchable aujourd'hui — d'où le report. Mais à durcir de façon transverse plutôt que package par package.Proposition
@octant/event-sourcing, p.ex.parseBrandedStreamId(prefix, streamId, brand)qui vérifiestartsWithet renvoie une erreur typée /Optionau lieu de slicer aveuglément.*.ids.tsexistants vers ce helper.Découvert pendant #31 / #34 / #37 (reviews). Décliné dans ces PRs pour rester cohérent ; à traiter ici globalement.