aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Accounts/AccountProperty.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Accounts/AccountProperty.php')
-rw-r--r--lib/private/Accounts/AccountProperty.php101
1 files changed, 18 insertions, 83 deletions
diff --git a/lib/private/Accounts/AccountProperty.php b/lib/private/Accounts/AccountProperty.php
index 896dfd247b5..3a89e9bbc7a 100644
--- a/lib/private/Accounts/AccountProperty.php
+++ b/lib/private/Accounts/AccountProperty.php
@@ -3,27 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
- * @author Julius Härtl <jus@bitgrid.net>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OC\Accounts;
@@ -32,26 +13,20 @@ use OCP\Accounts\IAccountManager;
use OCP\Accounts\IAccountProperty;
class AccountProperty implements IAccountProperty {
-
- /** @var string */
- private $name;
- /** @var string */
- private $value;
- /** @var string */
- private $scope;
- /** @var string */
- private $verified;
- /** @var string */
- private $verificationData;
- /** @var string */
- private $locallyVerified = IAccountManager::NOT_VERIFIED;
-
- public function __construct(string $name, string $value, string $scope, string $verified, string $verificationData) {
- $this->name = $name;
- $this->value = $value;
+ /**
+ * @var IAccountManager::SCOPE_*
+ */
+ private string $scope;
+ private string $locallyVerified = IAccountManager::NOT_VERIFIED;
+
+ public function __construct(
+ private string $name,
+ private string $value,
+ string $scope,
+ private string $verified,
+ private string $verificationData,
+ ) {
$this->setScope($scope);
- $this->verified = $verified;
- $this->verificationData = $verificationData;
}
public function jsonSerialize(): array {
@@ -68,9 +43,6 @@ class AccountProperty implements IAccountProperty {
* Set the value of a property
*
* @since 15.0.0
- *
- * @param string $value
- * @return IAccountProperty
*/
public function setValue(string $value): IAccountProperty {
$this->value = $value;
@@ -81,21 +53,13 @@ class AccountProperty implements IAccountProperty {
* Set the scope of a property
*
* @since 15.0.0
- *
- * @param string $scope
- * @return IAccountProperty
*/
public function setScope(string $scope): IAccountProperty {
- $newScope = $this->mapScopeToV2($scope);
- if (!in_array($newScope, [
- IAccountManager::SCOPE_LOCAL,
- IAccountManager::SCOPE_FEDERATED,
- IAccountManager::SCOPE_PRIVATE,
- IAccountManager::SCOPE_PUBLISHED
- ])) {
+ if (!in_array($scope, IAccountManager::ALLOWED_SCOPES, )) {
throw new InvalidArgumentException('Invalid scope');
}
- $this->scope = $newScope;
+ /** @var IAccountManager::SCOPE_* $scope */
+ $this->scope = $scope;
return $this;
}
@@ -103,9 +67,6 @@ class AccountProperty implements IAccountProperty {
* Set the verification status of a property
*
* @since 15.0.0
- *
- * @param string $verified
- * @return IAccountProperty
*/
public function setVerified(string $verified): IAccountProperty {
$this->verified = $verified;
@@ -116,8 +77,6 @@ class AccountProperty implements IAccountProperty {
* Get the name of a property
*
* @since 15.0.0
- *
- * @return string
*/
public function getName(): string {
return $this->name;
@@ -127,8 +86,6 @@ class AccountProperty implements IAccountProperty {
* Get the value of a property
*
* @since 15.0.0
- *
- * @return string
*/
public function getValue(): string {
return $this->value;
@@ -138,37 +95,15 @@ class AccountProperty implements IAccountProperty {
* Get the scope of a property
*
* @since 15.0.0
- *
- * @return string
*/
public function getScope(): string {
return $this->scope;
}
- public static function mapScopeToV2(string $scope): string {
- if (strpos($scope, 'v2-') === 0) {
- return $scope;
- }
-
- switch ($scope) {
- case IAccountManager::VISIBILITY_PRIVATE:
- case '':
- return IAccountManager::SCOPE_LOCAL;
- case IAccountManager::VISIBILITY_CONTACTS_ONLY:
- return IAccountManager::SCOPE_FEDERATED;
- case IAccountManager::VISIBILITY_PUBLIC:
- return IAccountManager::SCOPE_PUBLISHED;
- default:
- return $scope;
- }
- }
-
/**
* Get the verification status of a property
*
* @since 15.0.0
- *
- * @return string
*/
public function getVerified(): string {
return $this->verified;