canCreateCompanyInfo = $canCreateCompanyInfo; $this->createsCompanyInfo = $createsCompanyInfo; } /** * @param Company $company * @param Request $request * @return Model * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function execute(Company $company, Request $request): Model { $companyInfo_object = new CompanyInfoObject( $company, $request->input('unified_social_credit_identifier'), $request->input('business_registration_number'), $request->input('type'), $request->input('legal_representative'), $request->input('last_year_of_inspection'), $request->input('date_of_establishment'), $request->input('operation_period') ); $this->canCreateCompanyInfo->passes($companyInfo_object); $companyInfo = $this->createsCompanyInfo->execute($companyInfo_object); return $companyInfo; } }