public function linkDoctorAccount(Doctor $doctor) { $token = AccessToken::getByDoctor($doctor); if (!$token instanceof AccessToken) { $token = AccessToken::create(); $token->setDoctor($doctor); } $client = MedOptima_Service_Google_Config::getCalendarClient(); if ($this->_request->getParam('code')) { $client->authenticate($this->_request->getParam('code')); (new MedOptima_Service_Google_AccessToken_Initializer())->updateFromEncodedData($token, $client->getAccessToken()); } $token->save(); return true; }