aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCôme Chilliet <91878298+come-nc@users.noreply.github.com>2022-10-03 10:01:08 +0200
committerGitHub <noreply@github.com>2022-10-03 10:01:08 +0200
commit484f8b0837642553c5be552de3f847fc446583f7 (patch)
treef3966cf08574176f3bf3e808aef1d7d36adcc438
parentdec84ef1cbbec3ed200d529a5c91fe6a70a1409b (diff)
parent98030e97d3b8a91678c314cd3326c6aee99daaad (diff)
downloadnextcloud-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.php32
-rw-r--r--lib/public/Calendar/ICalendar.php16
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;
}