diff options
author | Côme Chilliet <91878298+come-nc@users.noreply.github.com> | 2022-10-03 10:01:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-03 10:01:08 +0200 |
commit | 484f8b0837642553c5be552de3f847fc446583f7 (patch) | |
tree | f3966cf08574176f3bf3e808aef1d7d36adcc438 | |
parent | dec84ef1cbbec3ed200d529a5c91fe6a70a1409b (diff) | |
parent | 98030e97d3b8a91678c314cd3326c6aee99daaad (diff) | |
download | nextcloud-server-484f8b0837642553c5be552de3f847fc446583f7.tar.gz nextcloud-server-484f8b0837642553c5be552de3f847fc446583f7.zip |
Merge pull request #34376 from nextcloud/OCP/Calendar/ICalendar-typing
Add typings to OCP\Calendar\ICalendar and implementation
-rw-r--r-- | apps/dav/lib/CalDAV/CalendarImpl.php | 32 | ||||
-rw-r--r-- | lib/public/Calendar/ICalendar.php | 16 |
2 files changed, 21 insertions, 27 deletions
diff --git a/apps/dav/lib/CalDAV/CalendarImpl.php b/apps/dav/lib/CalDAV/CalendarImpl.php index a04e520c6bc..4eef1e7f8d3 100644 --- a/apps/dav/lib/CalDAV/CalendarImpl.php +++ b/apps/dav/lib/CalDAV/CalendarImpl.php @@ -46,14 +46,10 @@ use function Sabre\Uri\split as uriSplit; class CalendarImpl implements ICreateFromString { - /** @var CalDavBackend */ - private $backend; - - /** @var Calendar */ - private $calendar; - - /** @var array */ - private $calendarInfo; + private CalDavBackend $backend; + private Calendar $calendar; + /** @var array<string, mixed> */ + private array $calendarInfo; public function __construct(Calendar $calendar, array $calendarInfo, @@ -67,8 +63,8 @@ class CalendarImpl implements ICreateFromString { * @return string defining the technical unique key * @since 13.0.0 */ - public function getKey() { - return $this->calendarInfo['id']; + public function getKey(): string { + return (string) $this->calendarInfo['id']; } /** @@ -80,19 +76,17 @@ class CalendarImpl implements ICreateFromString { /** * In comparison to getKey() this function returns a human readable (maybe translated) name - * @return null|string * @since 13.0.0 */ - public function getDisplayName() { + public function getDisplayName(): ?string { return $this->calendarInfo['{DAV:}displayname']; } /** * Calendar color - * @return null|string * @since 13.0.0 */ - public function getDisplayColor() { + public function getDisplayColor(): ?string { return $this->calendarInfo['{http://apple.com/ns/ical/}calendar-color']; } @@ -101,21 +95,21 @@ class CalendarImpl implements ICreateFromString { * @param array $searchProperties defines the properties within the query pattern should match * @param array $options - optional parameters: * ['timerange' => ['start' => new DateTime(...), 'end' => new DateTime(...)]] - * @param integer|null $limit - limit number of search results - * @param integer|null $offset - offset for paging of search results + * @param int|null $limit - limit number of search results + * @param int|null $offset - offset for paging of search results * @return array an array of events/journals/todos which are arrays of key-value-pairs * @since 13.0.0 */ - public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null) { + public function search(string $pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null): array { return $this->backend->search($this->calendarInfo, $pattern, $searchProperties, $options, $limit, $offset); } /** - * @return integer build up using \OCP\Constants + * @return int build up using \OCP\Constants * @since 13.0.0 */ - public function getPermissions() { + public function getPermissions(): int { $permissions = $this->calendar->getACL(); $result = 0; foreach ($permissions as $permission) { diff --git a/lib/public/Calendar/ICalendar.php b/lib/public/Calendar/ICalendar.php index 0d08e2ba268..f1f2d5eb6f1 100644 --- a/lib/public/Calendar/ICalendar.php +++ b/lib/public/Calendar/ICalendar.php @@ -37,7 +37,7 @@ interface ICalendar { * @return string defining the technical unique key * @since 13.0.0 */ - public function getKey(); + public function getKey(): string; /** * @since 24.0.0 @@ -49,30 +49,30 @@ interface ICalendar { * @return null|string * @since 13.0.0 */ - public function getDisplayName(); + public function getDisplayName(): ?string; /** * Calendar color * @return null|string * @since 13.0.0 */ - public function getDisplayColor(); + public function getDisplayColor(): ?string; /** * @param string $pattern which should match within the $searchProperties * @param array $searchProperties defines the properties within the query pattern should match * @param array $options - optional parameters: * ['timerange' => ['start' => new DateTime(...), 'end' => new DateTime(...)]] - * @param integer|null $limit - limit number of search results - * @param integer|null $offset - offset for paging of search results + * @param int|null $limit - limit number of search results + * @param int|null $offset - offset for paging of search results * @return array an array of events/journals/todos which are arrays of key-value-pairs * @since 13.0.0 */ - public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null); + public function search(string $pattern, array $searchProperties = [], array $options = [], ?int $limit = null, ?int $offset = null): array; /** - * @return integer build up using \OCP\Constants + * @return int build up using \OCP\Constants * @since 13.0.0 */ - public function getPermissions(); + public function getPermissions(): int; } |