'url' => '/api/v1/shares',
'verb' => 'POST',
],
+ [
+ 'name' => 'ShareAPI#pendingShares',
+ 'url' => '/api/v1/shares/pending',
+ 'verb' => 'GET',
+ ],
[
'name' => 'ShareAPI#getShare',
'url' => '/api/v1/shares/{id}',
return new DataResponse($this->formatShare($share));
}
+ /**
+ * @NoAdminRequired
+ */
+ public function pendingShares(): DataResponse {
+ $pendingShares = [];
+
+ $shareTypes = [
+ IShare::TYPE_USER,
+ IShare::TYPE_GROUP
+ ];
+
+ foreach ($shareTypes as $shareType) {
+ $shares = $this->shareManager->getSharedWith($this->currentUser, $shareType, null, -1, 0);
+
+ foreach ($shares as $share) {
+ if ($share->getStatus() === IShare::STATUS_PENDING || $share->getStatus() === IShare::STATUS_REJECTED) {
+ $pendingShares[] = $share;
+ }
+ }
+ }
+
+ $result = array_map(function (IShare $share) {
+ return [
+ 'id' => $share->getFullId(),
+ ];
+ }, $pendingShares);
+
+ return new DataResponse($result);
+ }
+
/**
* @NoAdminRequired
*