Я создаю специальный пакет в Laravel, в котором есть контроллер ресурсов. Для этого примера ресурсом является Organization
. В этом контроллере определены основные действия index
, show
, store
и т. Д.
Это мой store
метод в контроллере:
/**
* Store a newly created Organization in storage.
*
* @param OrganizationStoreRequest $request
* @return JsonResponse
*/
public function store($request): JsonResponse
{
$newOrganization = new Organization($request->all());
if ($newOrganization->save()) {
return response()->json($newOrganization, 201);
}
return response()->json([
'message' => trans('organilations::organisation.store.error')
], 500);
}
Мой OrganzationStoreRequest
пока довольно прост:
class OrganizationStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'name' => 'required'
];
}
}
Метод store может вызываться через API, когда пакет используется в приложении Laravel. Моя проблема здесь в том, что я хочу дать пользователям моего пакета возможность переопределять мои OrganizationStoreRequest
собственными запросами, поскольку им, возможно, придется использовать разные методы авторизации или проверки.
Я пытался создать промежуточное программное обеспечение и связать свой собственный экземпляр с OrganizationStoreRequests
, но я не получаю желаемых результатов.
Есть ли у пользователя пакета возможность переопределить OrganizationStoreRequets
в контроллере моего пакета?