canCreateContact = $canCreateContact; $this->createsContact = $createsContact; } /** * @param Request $request * @param Company $company * @return Model * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function execute(Request $request, Company $company): Model { $contact_object = new ContactObject($company->id, $request->input('name'), $request->input('phone'), $request->input('contact_email'), $request->input('wechat_id')); $this->canCreateContact->passes($contact_object); return $this->createsContact->execute($contact_object); } }