Make OCP\Federation strict

* Also internal classes
* Added scalar typehints
* Added return type
* Made strict

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2018-01-16 16:11:51 +01:00
parent a159d7c28c
commit 50acde36b7
No known key found for this signature in database
GPG Key ID: F941078878347C0C
4 changed files with 21 additions and 17 deletions

View File

@ -1,4 +1,5 @@
<?php <?php
declare(strict_types=1);
/** /**
* @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl> * @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl>
* *
@ -40,7 +41,7 @@ class CloudId implements ICloudId {
* @param string $user * @param string $user
* @param string $remote * @param string $remote
*/ */
public function __construct($id, $user, $remote) { public function __construct(string $id, string $user, string $remote) {
$this->id = $id; $this->id = $id;
$this->user = $user; $this->user = $user;
$this->remote = $remote; $this->remote = $remote;
@ -51,11 +52,11 @@ class CloudId implements ICloudId {
* *
* @return string * @return string
*/ */
public function getId() { public function getId(): string {
return $this->id; return $this->id;
} }
public function getDisplayId() { public function getDisplayId(): string {
return str_replace('https://', '', str_replace('http://', '', $this->getId())); return str_replace('https://', '', str_replace('http://', '', $this->getId()));
} }
@ -64,7 +65,7 @@ class CloudId implements ICloudId {
* *
* @return string * @return string
*/ */
public function getUser() { public function getUser(): string {
return $this->user; return $this->user;
} }
@ -73,7 +74,7 @@ class CloudId implements ICloudId {
* *
* @return string * @return string
*/ */
public function getRemote() { public function getRemote(): string {
return $this->remote; return $this->remote;
} }
} }

View File

@ -1,4 +1,5 @@
<?php <?php
declare(strict_types=1);
/** /**
* @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl> * @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl>
* *
@ -33,7 +34,7 @@ class CloudIdManager implements ICloudIdManager {
* @return ICloudId * @return ICloudId
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
*/ */
public function resolveCloudId($cloudId) { public function resolveCloudId(string $cloudId): ICloudId {
// TODO magic here to get the url and user instead of just splitting on @ // TODO magic here to get the url and user instead of just splitting on @
if (!$this->isValidCloudId($cloudId)) { if (!$this->isValidCloudId($cloudId)) {
@ -46,7 +47,7 @@ class CloudIdManager implements ICloudIdManager {
$posColon = strpos($id, ':'); $posColon = strpos($id, ':');
if ($posSlash === false && $posColon === false) { if ($posSlash === false && $posColon === false) {
$invalidPos = strlen($id); $invalidPos = \strlen($id);
} else if ($posSlash === false) { } else if ($posSlash === false) {
$invalidPos = $posColon; $invalidPos = $posColon;
} else if ($posColon === false) { } else if ($posColon === false) {
@ -77,7 +78,7 @@ class CloudIdManager implements ICloudIdManager {
* @param string $remote * @param string $remote
* @return CloudId * @return CloudId
*/ */
public function getCloudId($user, $remote) { public function getCloudId(string $user, string $remote): ICloudId {
// TODO check what the correct url is for remote (asking the remote) // TODO check what the correct url is for remote (asking the remote)
return new CloudId($user. '@' . $remote, $user, $remote); return new CloudId($user. '@' . $remote, $user, $remote);
} }
@ -94,7 +95,7 @@ class CloudIdManager implements ICloudIdManager {
* @param string $remote * @param string $remote
* @return string * @return string
*/ */
protected function fixRemoteURL($remote) { protected function fixRemoteURL(string $remote): string {
$remote = str_replace('\\', '/', $remote); $remote = str_replace('\\', '/', $remote);
if ($fileNamePosition = strpos($remote, '/index.php')) { if ($fileNamePosition = strpos($remote, '/index.php')) {
$remote = substr($remote, 0, $fileNamePosition); $remote = substr($remote, 0, $fileNamePosition);
@ -108,7 +109,7 @@ class CloudIdManager implements ICloudIdManager {
* @param string $cloudId * @param string $cloudId
* @return bool * @return bool
*/ */
public function isValidCloudId($cloudId) { public function isValidCloudId(string $cloudId): bool {
return strpos($cloudId, '@') !== false; return strpos($cloudId, '@') !== false;
} }
} }

View File

@ -1,4 +1,5 @@
<?php <?php
declare(strict_types=1);
/** /**
* @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl> * @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl>
* *
@ -35,7 +36,7 @@ interface ICloudId {
* @return string * @return string
* @since 12.0.0 * @since 12.0.0
*/ */
public function getId(); public function getId(): string;
/** /**
* Get a clean representation of the cloud id for display * Get a clean representation of the cloud id for display
@ -43,7 +44,7 @@ interface ICloudId {
* @return string * @return string
* @since 12.0.0 * @since 12.0.0
*/ */
public function getDisplayId(); public function getDisplayId(): string;
/** /**
* The username on the remote server * The username on the remote server
@ -51,7 +52,7 @@ interface ICloudId {
* @return string * @return string
* @since 12.0.0 * @since 12.0.0
*/ */
public function getUser(); public function getUser(): string;
/** /**
* The base address of the remote server * The base address of the remote server
@ -59,5 +60,5 @@ interface ICloudId {
* @return string * @return string
* @since 12.0.0 * @since 12.0.0
*/ */
public function getRemote(); public function getRemote(): string;
} }

View File

@ -1,4 +1,5 @@
<?php <?php
declare(strict_types=1);
/** /**
* @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl> * @copyright Copyright (c) 2017, Robin Appelman <robin@icewind.nl>
* *
@ -37,7 +38,7 @@ interface ICloudIdManager {
* *
* @since 12.0.0 * @since 12.0.0
*/ */
public function resolveCloudId($cloudId); public function resolveCloudId(string $cloudId): ICloudId;
/** /**
* Get the cloud id for a remote user * Get the cloud id for a remote user
@ -48,7 +49,7 @@ interface ICloudIdManager {
* *
* @since 12.0.0 * @since 12.0.0
*/ */
public function getCloudId($user, $remote); public function getCloudId(string $user, string $remote): ICloudId;
/** /**
* Check if the input is a correctly formatted cloud id * Check if the input is a correctly formatted cloud id
@ -58,5 +59,5 @@ interface ICloudIdManager {
* *
* @since 12.0.0 * @since 12.0.0
*/ */
public function isValidCloudId($cloudId); public function isValidCloudId(string $cloudId): bool;
} }