JanrainUserProfile.php in Janrain Registration 8
File
src/User/JanrainUserProfile.php
View source
<?php
namespace Drupal\janrain_capture\User;
class JanrainUserProfile extends JanrainDataContainer {
public function __construct(\stdClass $data) {
if (!isset($data->uuid, $data->email)) {
throw new \InvalidArgumentException('An invalid user profile is given.');
}
parent::__construct($data);
}
public function getEmail() : string {
return $this->data->email;
}
public function getUuid() : string {
return $this->data->uuid;
}
public function getBirthDate() : ?\DateTime {
return isset($this->data->birthday) ? new \DateTime($this->data->birthday) : NULL;
}
public function getPhoneMobileNumber() : string {
return $this
->getPhoneNumber('mobile');
}
public function getPhoneWorkNumber() : string {
return $this
->getPhoneNumber('work');
}
public function getPhoneHomeNumber() : string {
return $this
->getPhoneNumber('home');
}
public function getPhoneFaxNumber() : string {
return $this
->getPhoneNumber('fax');
}
public function getPrimaryAddress() : JanrainUserAddress {
return new JanrainUserAddress($this->data->primaryAddress);
}
public function getHomeAddress() : JanrainUserAddress {
return new JanrainUserAddress($this->data->homeAddress);
}
public function getMailingAddress() : JanrainUserAddress {
return new JanrainUserAddress($this->data->mailingAddress);
}
protected function getPhoneNumber($type = 'mobile') : string {
return isset($this->data->phoneNumber->{$type}) ? (string) $this->data->phoneNumber->{$type} : '';
}
public function getUsername() : string {
$first_name = $this
->getFirstName();
$last_name = $this
->getLastName();
if ($first_name !== '' && $last_name !== '') {
$first_name .= ' ';
}
return $first_name . $last_name ?: $this
->getEmail();
}
public function getFirstName() : string {
return $this->givenName ?? '';
}
public function getLastName() : string {
return $this->familyName ?? '';
}
public function getCountry() : string {
return $this->data->residency->country ?? '';
}
}