diff options
author | jld3103 <jld3103yt@gmail.com> | 2023-06-14 16:52:26 +0200 |
---|---|---|
committer | jld3103 <jld3103yt@gmail.com> | 2023-07-11 16:28:01 +0200 |
commit | 0c2bff63e48e87f2411a503a168ede98f42a25ad (patch) | |
tree | 5682bc5d0ba418657c80d8ee07027263b377fba7 /apps/updatenotification/lib/Controller | |
parent | 2cf8d6d9652a55f81c6800f2e69b71597736c56c (diff) | |
download | nextcloud-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.php | 20 |
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, ]; } } |