2017-09-26 17:11:58 +02:00
|
|
|
<?php
|
|
|
|
/**
|
2024-05-23 09:26:56 +02:00
|
|
|
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2017-09-26 17:11:58 +02:00
|
|
|
*/
|
|
|
|
namespace OC\Remote;
|
|
|
|
|
2017-10-04 16:21:50 +02:00
|
|
|
use OCP\Remote\IUser;
|
|
|
|
|
|
|
|
class User implements IUser {
|
2020-04-10 16:54:27 +02:00
|
|
|
public const EXPECTED_KEYS = [
|
2017-10-20 17:48:49 +02:00
|
|
|
'id',
|
|
|
|
'email',
|
|
|
|
'displayname',
|
|
|
|
'phone',
|
|
|
|
'address',
|
|
|
|
'website',
|
|
|
|
'groups',
|
|
|
|
'language',
|
|
|
|
'quota'
|
|
|
|
];
|
|
|
|
|
2017-09-26 17:11:58 +02:00
|
|
|
/** @var array */
|
|
|
|
private $data;
|
|
|
|
|
|
|
|
public function __construct(array $data) {
|
|
|
|
$this->data = $data;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getUserId() {
|
|
|
|
return $this->data['id'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getEmail() {
|
|
|
|
return $this->data['email'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getDisplayName() {
|
|
|
|
return $this->data['displayname'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getPhone() {
|
|
|
|
return $this->data['phone'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getAddress() {
|
|
|
|
return $this->data['address'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getWebsite() {
|
|
|
|
return $this->data['website'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getTwitter() {
|
2023-07-07 13:43:21 +03:30
|
|
|
return $this->data['twitter'] ?? '';
|
2017-09-26 17:11:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string[]
|
|
|
|
*/
|
|
|
|
public function getGroups() {
|
|
|
|
return $this->data['groups'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getLanguage() {
|
|
|
|
return $this->data['language'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getUsedSpace() {
|
|
|
|
return $this->data['quota']['used'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getFreeSpace() {
|
|
|
|
return $this->data['quota']['free'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getTotalSpace() {
|
|
|
|
return $this->data['quota']['total'];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getQuota() {
|
|
|
|
return $this->data['quota']['quota'];
|
|
|
|
}
|
|
|
|
}
|