refactor(downloads): pass the request as an action argument
Controllers are container singletons, so a Request injected into the constructor outlives the request it belongs to. Every downloads controller now takes it as the first action argument; private handlers receive it as a parameter, and DownloadPathController forwards it to the controllers it delegates to.
Fixes ImportFileController::handleImport(), which read $category from the caller's scope: a successful import failed with a TypeError in getCategoryUrl(). The helper now takes the category as a parameter, and the matching PHPStan baseline entry is gone.
Fixes ImportFileController::handleImport(), which read $category from the caller's scope: a successful import failed with a TypeError in getCategoryUrl(). The helper now takes the category as a parameter, and the matching PHPStan baseline entry is gone.