token)->first()) { return false; }; $object = $bxId->bitrixable; switch ($request->action) { case $this::ACTION_CONFIRM_DEAL: return $this->confirmDeal($object, $request); break; case $this::ACTION_UPDATE_CONTRACT: return $this->updateContract($object, $request); break; case $this::ACTION_CONFIRM_COMPANY: return $this->confirmCompany($request, $object); break; } return false; } public function confirmCompany(Request $request, $company) { $confirmer = new ConfirmCompanyController; return $confirmer($request, $company); } public function confirmDeal(Deal $deal, Request $request) { $agent = $deal->agent; $request->is_unique = json_decode($request->is_unique, true);//т.к. приходит в строке if ($request->is_unique == true) { $deal->status = DealStatus::UNIQUE; if ($request->has('unique_until')) { $deal->unique_until = $request->unique_until; } $agent->user->notify(new UniqueContact($deal)); } else { $deal->status = DealStatus::NOT_UNIQUE; $agent->user->notify(new NotUniqueContact($deal)); } if (!$agent->bitrixId()) { $agent->setBitrixId($request->agent_id); } $deal->save(); return true; } public function updateContract(Deal $deal, Request $request) { //print_r($request->all());die(); $contract = new ContractUpdateController; return $contract($deal, $request); } }