Как я уже писал это черновик и этот код не надо воспринимать как решение задачи.
Я попробовал донести идею проектирования.
Я не понял ваш вопрос!
В каждом приложении в любом запросе к нему есть данные по пользователю. То есть он или есть или его нет (это гость, неаутентифицированный клиент, шпион, или еще что-то).
В таком случае вы легко в контроллере АПИ например определяете что нужные параметры.
Например код ниже показывает все доступные директории для текущего пользователя. Или универсальнее сказать для текущего токен ключа.
// "GET http://my-cool-website.com/api/clients/files"
public function get(Request $request, Response $response, GetDirectoriesByOwner $service)
{
$ownerId = $this->app->getUser()->getId();
$body = new Body($service->handle($ownerId));
return $response->withBody($body);
}
Как я уже писал в комментариях к коду. Для каждого случая вам надо написать свой юз кэйс.
Их может быть сколько угодно, все в зависимости от вашего функционала: RetrieveHidenDirectoriesByOwnerId, RetrieveDeletedDirectoriesByOwnerId, CreateDirectory, HideDirectory, RemoveDirectory, RetrieveAllDirectoriesByOwnerId и так далее. Каждый из них выполняет строго одну операцию не больше.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Я попробовал донести идею проектирования.
Я не понял ваш вопрос!
В каждом приложении в любом запросе к нему есть данные по пользователю. То есть он или есть или его нет (это гость, неаутентифицированный клиент, шпион, или еще что-то).
В таком случае вы легко в контроллере АПИ например определяете что нужные параметры.
Например код ниже показывает все доступные директории для текущего пользователя. Или универсальнее сказать для текущего токен ключа.
Как я уже писал в комментариях к коду. Для каждого случая вам надо написать свой юз кэйс.
Их может быть сколько угодно, все в зависимости от вашего функционала: RetrieveHidenDirectoriesByOwnerId, RetrieveDeletedDirectoriesByOwnerId, CreateDirectory, HideDirectory, RemoveDirectory, RetrieveAllDirectoriesByOwnerId и так далее. Каждый из них выполняет строго одну операцию не больше.