How to perform basic CRUD operations (especially batch) by playing with DDD and CQRS?
Let's say I have a list of IDs in my controller that need to be removed (soft delete). Currently, I treat this operation like any other command:
The controller iterates over the IDs and sends the command to the domain, The aggregate creates an event which is then received by the projector to update the read model. After the reading I came to the correct conclusion, I think, that the operation of removing the model is a more technical topic than a domain one.
And what about it? Is it permissible to skip the Command altogether, create a service in the infrastructure that will be called directly in the controller and update the table for write and read model?
On the other hand, I have a status change operation - kind of similar, but this one is important from the domain point of view, so here I want to stay with Controller-> Command-> Aggregate Root.