findConfirmable($token); if (! $change) { return view('portal.customer.email_change_done', ['status' => CustomerEmailChangeService::STATUS_INVALID]); } if ($change->shopping_user && $service->ownershipConflict($change->shopping_user, $change->new_email)) { return view('portal.customer.email_change_done', ['status' => CustomerEmailChangeService::STATUS_CONFLICT]); } return view('portal.customer.email_change_confirm', [ 'change' => $change, 'token' => $token, ]); } public function store(string $token, CustomerEmailChangeService $service): View { $change = $service->findConfirmable($token); $status = $change ? $service->confirm($change) : CustomerEmailChangeService::STATUS_INVALID; return view('portal.customer.email_change_done', [ 'status' => $status, 'email' => $status === CustomerEmailChangeService::STATUS_CONFIRMED ? $change->new_email : null, ]); } }