We need to address the todo's in the codebase. I'll list them here:
src/Elewant/Herding/Application/ProcessManagers/NewUserSubscriber.php
- @todo In the context of CQRS, we are using a query-side repository here in a command-side process-manager.
- @todo The command-side mustn't rely on the query-side, so we should fix this!
- @todo Because we don't have a Shepherd aggregate, just a ShepherdId, we cannot look it up right now.
- @todo I suggest we create a Shepherd and ShepherdCollection, so we can use the latter here.
- @todo We can then do: UserHasRegistered -> GiveBirthToShepherd -> ShepherdWasBorn -> FormHerd.
src/Elewant/Webapp/Application/Controllers/HerdController.php
- @todo Is it ok to use Herding\DomainModel here?
- @todo: Should this be a 404?
src/Elewant/Webapp/DomainModel/Herding/DesiredBreed.php
- @todo Is it ok to use Herding\DomainModel here?
src/Elewant/Webapp/DomainModel/Herding/ElePHPant.php
- @todo Is it ok to use Herding\DomainModel here?
src/Elewant/Webapp/DomainModel/Herding/Herd.php
- @todo Is it ok to use Herding\DomainModel here?
- @todo UserBundle:User uses mapping-type "shepherd_id", and here it's "guid". Why?
src/Elewant/Webapp/DomainModel/Herding/HerdRepository.php
- @todo: Remove this, it's only used in DoctrineHerdingStatisticsCalculator
- @todo: in another BC. Also, we shouldn't use Criteria & Collection directly.
src/Elewant/Webapp/Infrastructure/Doctrine/BreedMappingType.php
- @todo Is it ok to use Herding\DomainModel here?
src/Elewant/Webapp/Infrastructure/Doctrine/DoctrineHerdRepository.php
- @todo: Remove this, it's only used in DoctrineHerdingStatisticsCalculator
- @todo: in another BC. Also, we shouldn't use Criteria directly.
src/Elewant/Webapp/Infrastructure/Doctrine/ShepherdIdMappingType.php
- @todo Is it ok to use Herding\DomainModel here?
src/Elewant/Webapp/Infrastructure/ProophProjections/HerdReadModel.php
- @todo Is it ok to use Herding\DomainModel here?
We need to address the todo's in the codebase. I'll list them here:
src/Elewant/Herding/Application/ProcessManagers/NewUserSubscriber.phpsrc/Elewant/Webapp/Application/Controllers/HerdController.phpsrc/Elewant/Webapp/DomainModel/Herding/DesiredBreed.phpsrc/Elewant/Webapp/DomainModel/Herding/ElePHPant.phpsrc/Elewant/Webapp/DomainModel/Herding/Herd.phpsrc/Elewant/Webapp/DomainModel/Herding/HerdRepository.phpsrc/Elewant/Webapp/Infrastructure/Doctrine/BreedMappingType.phpsrc/Elewant/Webapp/Infrastructure/Doctrine/DoctrineHerdRepository.phpsrc/Elewant/Webapp/Infrastructure/Doctrine/ShepherdIdMappingType.phpsrc/Elewant/Webapp/Infrastructure/ProophProjections/HerdReadModel.php