summaryrefslogtreecommitdiffstats
path: root/apps/updatenotification/lib/Controller
diff options
context:
space:
mode:
authorjld3103 <jld3103yt@gmail.com>2023-06-14 16:52:26 +0200
committerjld3103 <jld3103yt@gmail.com>2023-07-11 16:28:01 +0200
commit0c2bff63e48e87f2411a503a168ede98f42a25ad (patch)
tree5682bc5d0ba418657c80d8ee07027263b377fba7 /apps/updatenotification/lib/Controller
parent2cf8d6d9652a55f81c6800f2e69b71597736c56c (diff)
downloadnextcloud-server-0c2bff63e48e87f2411a503a168ede98f42a25ad.tar.gz
nextcloud-server-0c2bff63e48e87f2411a503a168ede98f42a25ad.zip
updatenotification: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
Diffstat (limited to 'apps/updatenotification/lib/Controller')
-rw-r--r--apps/updatenotification/lib/Controller/APIController.php20
1 files changed, 16 insertions, 4 deletions
diff --git a/apps/updatenotification/lib/Controller/APIController.php b/apps/updatenotification/lib/Controller/APIController.php
index 26657eb66f0..8833f6e772e 100644
--- a/apps/updatenotification/lib/Controller/APIController.php
+++ b/apps/updatenotification/lib/Controller/APIController.php
@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OCA\UpdateNotification\Controller;
use OC\App\AppStore\Fetcher\AppFetcher;
+use OCA\UpdateNotification\ResponseDefinitions;
use OCP\App\AppPathNotFoundException;
use OCP\App\IAppManager;
use OCP\AppFramework\Http;
@@ -37,6 +38,9 @@ use OCP\IRequest;
use OCP\IUserSession;
use OCP\L10N\IFactory;
+/**
+ * @psalm-import-type UpdatenotificationApp from ResponseDefinitions
+ */
class APIController extends OCSController {
/** @var IConfig */
@@ -86,8 +90,14 @@ class APIController extends OCSController {
}
/**
- * @param string $newVersion
- * @return DataResponse
+ * List available updates for apps
+ *
+ * @param string $newVersion Server version to check updates for
+ *
+ * @return DataResponse<Http::STATUS_OK, array{missing: UpdatenotificationApp[], available: UpdatenotificationApp[]}, array{}>|DataResponse<Http::STATUS_NOT_FOUND, array{appstore_disabled: bool, already_on_latest?: bool}, array{}>
+ *
+ * 200: Apps returned
+ * 404: New versions not found
*/
public function getAppList(string $newVersion): DataResponse {
if (!$this->config->getSystemValue('appstoreenabled', true)) {
@@ -157,13 +167,15 @@ class APIController extends OCSController {
* Get translated app name
*
* @param string $appId
- * @return string[]
+ * @return UpdatenotificationApp
*/
protected function getAppDetails(string $appId): array {
$app = $this->appManager->getAppInfo($appId, false, $this->language);
+ /** @var ?string $name */
+ $name = $app['name'];
return [
'appId' => $appId,
- 'appName' => $app['name'] ?? $appId,
+ 'appName' => $name ?? $appId,
];
}
}