on('propFind', [$this, 'propFind']); } public function propFind(PropFind $propFind, INode $node) { if (!in_array(static::REMINDER_DUE_DATE_PROPERTY, $propFind->getRequestedProperties())) { return; } if (!($node instanceof Node)) { return; } $propFind->handle( static::REMINDER_DUE_DATE_PROPERTY, function () use ($node) { $user = $this->userSession->getUser(); if (!($user instanceof IUser)) { return ''; } $fileId = $node->getId(); try { $reminder = $this->reminderService->getDueForUser($user, $fileId); } catch (DoesNotExistException $e) { return ''; } return $reminder->getDueDate()->format(DateTimeInterface::ATOM); // ISO 8601 }, ); } }