Ho una radice aggregata chiamata SizeRangeAggregate
che contiene l'intervallo di dimensioni della dimensione del pezzo di abbigliamento e il prezzo per quell'intervallo.
Ho creato un'API post rest che crea nuovo SizeRangeAggregate. Segue il CQRS / ES che significa
- crea
CreateSizeCommand
- pubblicalo su
CreateSizeCommand
gestore di comandi - genera
SizeRangeCreated
evento - mantiene l'evento nello storestore
- pubblica l'evento su
SizeRangeCreated
gestore di eventi in cui viene generato il modello di lettura chiamatoSizeRangeReadModel
Voglio aggiungere una semplice logica di dominio in cui un'API non creerà un nuovo SizeRangeAggregate se l'intervallo è già definito in un altro SizeRangeAggregate.
Attualmente sto usando il filtro dell'intervallo di modello letto (qualcosa come getByRange) nel controller API per ottenere SizeRangeReadModel
se esiste, prima di creare CreateSizeCommand
. Ma penso di sbagliarmi perché si tratta di una logica di dominio e questo è il motivo per cui non dovrebbe essere nel controller.
Potresti suggerirmi la migliore opzione / modo per implementarlo.