diff options
author | Joas Schilling <coding@schilljs.com> | 2019-03-14 12:30:34 +0100 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2019-03-19 13:06:55 +0100 |
commit | 3022ef687a7bef87fc8eff7e29a68d8cf64542e9 (patch) | |
tree | beba5dd9a6d407107a4f2d3b8b2fe07f503f55cf /lib | |
parent | 403b673b93b98b7158838c232581ad221aeccd09 (diff) | |
download | nextcloud-server-3022ef687a7bef87fc8eff7e29a68d8cf64542e9.tar.gz nextcloud-server-3022ef687a7bef87fc8eff7e29a68d8cf64542e9.zip |
Use rich objects instead of name, link and icon
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Collaboration/Resources/Manager.php | 48 | ||||
-rw-r--r-- | lib/private/Collaboration/Resources/Resource.php | 40 | ||||
-rw-r--r-- | lib/public/Collaboration/Resources/IProvider.php | 24 | ||||
-rw-r--r-- | lib/public/Collaboration/Resources/IResource.php | 17 |
4 files changed, 17 insertions, 112 deletions
diff --git a/lib/private/Collaboration/Resources/Manager.php b/lib/private/Collaboration/Resources/Manager.php index d1b84f96283..bfe95a74514 100644 --- a/lib/private/Collaboration/Resources/Manager.php +++ b/lib/private/Collaboration/Resources/Manager.php @@ -285,41 +285,23 @@ class Manager implements IManager { } /** - * Get the display name of a resource + * Get the rich object data of a resource * * @param IResource $resource - * @return string + * @return array * @since 16.0.0 */ - public function getName(IResource $resource): string { - foreach ($this->getProviders() as $provider) { - if ($provider->getType() === $resource->getType()) { - try { - return $provider->getName($resource); - } catch (ResourceException $e) { - } - } - } - - return ''; - } - - /** - * - * @param IResource $resource - * @return string - */ - public function getIconLink(IResource $resource): string { + public function getResourceRichObject(IResource $resource): array { foreach ($this->getProviders() as $provider) { if ($provider->getType() === $resource->getType()) { try { - return $provider->getIconLink($resource); + return $provider->getResourceRichObject($resource); } catch (ResourceException $e) { } } } - return ''; + return []; } /** @@ -541,24 +523,4 @@ class Manager implements IManager { public function getType(): string { return ''; } - - /** - * Get the link to a resource - * - * @param IResource $resource - * @return string - * @since 16.0.0 - */ - public function getLink(IResource $resource): string { - foreach ($this->getProviders() as $provider) { - if ($provider->getType() === $resource->getType()) { - try { - return $provider->getLink($resource); - } catch (ResourceException $e) { - } - } - } - - return ''; - } } diff --git a/lib/private/Collaboration/Resources/Resource.php b/lib/private/Collaboration/Resources/Resource.php index 0a3c003b27c..038f1d6162d 100644 --- a/lib/private/Collaboration/Resources/Resource.php +++ b/lib/private/Collaboration/Resources/Resource.php @@ -49,14 +49,8 @@ class Resource implements IResource { /** @var bool|null */ protected $access; - /** @var string|null */ - protected $name; - - /** @var string|null */ - protected $iconClass; - - /** @var string|null */ - protected $link; + /** @var array|null */ + protected $data; public function __construct( IManager $manager, @@ -91,35 +85,15 @@ class Resource implements IResource { } /** - * @return string + * @return array * @since 16.0.0 */ - public function getName(): string { - if ($this->name === null) { - $this->name = $this->manager->getName($this); - } - - return $this->name; - } - - /** - * @return string - * @since 16.0.0 - */ - public function getIconLink(): string { - if ($this->iconClass === null) { - $this->iconClass = $this->manager->getIconLink($this); - } - - return $this->iconClass; - } - - public function getLink(): string { - if ($this->link === null) { - $this->link = $this->manager->getLink($this); + public function getRichObject(): array { + if ($this->data === null) { + $this->data = $this->manager->getResourceRichObject($this); } - return $this->link; + return $this->data; } /** diff --git a/lib/public/Collaboration/Resources/IProvider.php b/lib/public/Collaboration/Resources/IProvider.php index 16ab16c0d1b..c091ecaa8d5 100644 --- a/lib/public/Collaboration/Resources/IProvider.php +++ b/lib/public/Collaboration/Resources/IProvider.php @@ -38,31 +38,13 @@ interface IProvider { public function getType(): string; /** - * Get the display name of a resource + * Get the rich object data of a resource * * @param IResource $resource - * @return string - * @since 16.0.0 - */ - public function getName(IResource $resource): string; - - /** - * Get the icon class of a resource - * - * @param IResource $resource - * @return string - * @since 16.0.0 - */ - public function getIconLink(IResource $resource): string; - - /** - * Get the link to a resource - * - * @param IResource $resource - * @return string + * @return array * @since 16.0.0 */ - public function getLink(IResource $resource): string; + public function getResourceRichObject(IResource $resource): array; /** * Can a user/guest access the collection diff --git a/lib/public/Collaboration/Resources/IResource.php b/lib/public/Collaboration/Resources/IResource.php index 0a3e36a33ce..32567a3be0a 100644 --- a/lib/public/Collaboration/Resources/IResource.php +++ b/lib/public/Collaboration/Resources/IResource.php @@ -42,23 +42,10 @@ interface IResource { public function getId(): string; /** - * @return string - * @since 16.0.0 - */ - public function getName(): string; - - /** - * Absolute link to an icon to represent the resource - * @return string - * @since 16.0.0 - */ - public function getIconLink(): string; - - /** - * @return string + * @return array * @since 16.0.0 */ - public function getLink(): string; + public function getRichObject(): array; /** * Can a user/guest access the resource |