I write the code with DI as follows. There are 2 code. One is for use case and other is controller that depend on that use case.
use case
controller