'Created Bank', 'message' => 'You have successfully created a new Bank' ]; } /** @var CanCreateBank */ private $canCreateBank; /** @var CreatesBank */ private $createsBank; /** @var CreatesBankLog */ private $createsBankLog; /** * CreateBankLogic constructor. * @param CanCreateBank $canCreateBank * @param CreatesBank $createsBank * @param CreatesBankLog $createsBankLog */ public function __construct( CanCreateBank $canCreateBank, CreatesBank $createsBank, CreatesBankLog $createsBankLog ) { $this->canCreateBank = $canCreateBank; $this->createsBank = $createsBank; $this->createsBankLog = $createsBankLog; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $bank_object = new BankObject($request->input('company_id'), $request->input('account_type'), $request->input('bank_name'), $request->input('holder_name'), $request->input('account_no'), $request->input('bank_branch'), $request->input('swift'), $request->input('snap'), $request->input('country_id'), $request->input('reference')); $this->canCreateBank->passes($bank_object); $bank = $this->createsBank->execute($bank_object); // $bankLog = $this->createsBankLog->execute($bank); return $this->resourceResponse(new BankResource($bank)); } }