Skip to content

Instantly share code, notes, and snippets.

@Bernardstanislas
Created December 21, 2018 13:15
Show Gist options
  • Save Bernardstanislas/02243a0ff8677f86555c01c07c96213e to your computer and use it in GitHub Desktop.
Save Bernardstanislas/02243a0ff8677f86555c01c07c96213e to your computer and use it in GitHub Desktop.

Dojo CQRS ⭐

Notes

  • Carte 1 Dans la checklist, I have made a copy of the repository est confusant, je pense que tu parlais du Board Trello. Aussi, ajoute un check comme quoi le mec est bien en train de modifier son board et non pas le board de base. Peut-être mettre les mecs en lecture seule ?
  • Carte 2 Pourquoi les $ au début de chaque commande ?
  • Carte 15 Pas testé pour VSCode, pour Phpstorm c'était assez simple, j'ai suivi Running and Debugging Node.js - Help | PhpStorm avec les paramètres du package.json (node-parameters: --inspect-brk -r ts-node/register -r tsconfig-paths/register)
  • Carte 3 Tu appelles ta route /articles, mais la fonction est getArticle, on ne sait pas si tu parles d'une liste ou d'un seul article.
    • Autre bail, mais lié à ma config Phpstorm, je n'avais plus le nodemon. J'ai du changer ma config pour que Phpstorm lance exactement ce que run:debug lance. Maintenant c'est mieux 😄
    • TROP STYLE les interfaces Typescript
  • Carte 4 T'es un chien, on aurait pu faire du SQLite haha
    • Pas clair si j'ajoute une méthode storeArticle au AppService ou si je fais un nouveau service -> en fait je le fais et je me fais pisser dessus par TSLint, une seule classe par fichier. J'ai donc ma réponse
    • Tu dis que le code crash car on n'a pas déclaré le Repository dans le module, certes, mais ça crash aussi car on a dit que storeArticle renvoyait une promesse, et pour l'instant il renvoie que dalle
    • Donne la signature du retour de la méthode POST createArticle, je pense que c'est un DTO mais pas sûr. En fait pas du tout, c'est une Promise<Article>
    • OH PUTAIN ça marche du premier coup, UUID autogénéré et 201. Respect mec ❤️
    • Question ❓: Est-ce normal que Typescript soit OK avec le fait que la méthode storeArticle renvoie une Promise<Article>, alors que mon controlleur, qui ne fait que renvoyer le résultat de cette méthode, renvoie une Promise<ArticleDTO> ?
  • Carte 7 Précise où mettre le dossier commands. J'imagine que c'est sous src, mais Dieu seul le sait
    • Je ne comprends pas le nom du fichier. article-created.command qui ne comporte que la classe CreateArticleCommand ? Pas clair
  • Carte 9 Pourquoi appeler l'attribut privé commandBus$ et non pas commandBus ?
    • Explique The module cannot register the handler he is not aware of. Je n'ai pas compris la diff entre un Import et un Provider
    • Tu oublies en fin de ticket de dire d'enlever l'ancien code qui n'utilise pas le bus pour stocker l'article
    • Peut-être explique aussi que dans le handler il faut au moins appeler le resolve(), sinon la requête POST tourne dans le vide et ne répond jamais
    • -> my bad en fait tu fais tout ça dans le ticket suivant
  • Carte 13 Tu parles de l'aggregateRoot de CQRS, en fait aggregate root c'est vraiment lié à DDD plus qu'à CQRS, c'est un concept un peu standalone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment