diff options
author | jld3103 <jld3103yt@gmail.com> | 2023-03-20 18:13:24 +0100 |
---|---|---|
committer | jld3103 <jld3103yt@gmail.com> | 2023-07-11 07:23:00 +0200 |
commit | f8bed12cfb01d95d92098c0e957cae9c22ec484a (patch) | |
tree | aba81a79481175d5476d97b9b3ed8feaefec6e48 /apps/dashboard/lib/Controller | |
parent | de3b6a2219c933388c39f07faedc39cd76abd472 (diff) | |
download | nextcloud-server-f8bed12cfb01d95d92098c0e957cae9c22ec484a.tar.gz nextcloud-server-f8bed12cfb01d95d92098c0e957cae9c22ec484a.zip |
dashboard: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
Diffstat (limited to 'apps/dashboard/lib/Controller')
-rw-r--r-- | apps/dashboard/lib/Controller/DashboardApiController.php | 24 | ||||
-rw-r--r-- | apps/dashboard/lib/Controller/DashboardController.php | 3 |
2 files changed, 19 insertions, 8 deletions
diff --git a/apps/dashboard/lib/Controller/DashboardApiController.php b/apps/dashboard/lib/Controller/DashboardApiController.php index 1062cf1bdba..df1c75e4b68 100644 --- a/apps/dashboard/lib/Controller/DashboardApiController.php +++ b/apps/dashboard/lib/Controller/DashboardApiController.php @@ -6,6 +6,7 @@ declare(strict_types=1); * @copyright Copyright (c) 2021 Julien Veyssier <eneiluj@posteo.net> * * @author Julien Veyssier <eneiluj@posteo.net> + * @author Kate Döen <kate.doeen@nextcloud.com> * * @license GNU AGPL version 3 or any later version * @@ -26,7 +27,9 @@ declare(strict_types=1); namespace OCA\Dashboard\Controller; +use OCA\Dashboard\ResponseDefinitions; use OCP\AppFramework\OCSController; +use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\Dashboard\IButtonWidget; use OCP\Dashboard\IIconWidget; @@ -41,6 +44,10 @@ use OCP\IRequest; use OCP\Dashboard\IAPIWidget; use OCP\Dashboard\Model\WidgetItem; +/** + * @psalm-import-type DashboardWidget from ResponseDefinitions + * @psalm-import-type DashboardWidgetItem from ResponseDefinitions + */ class DashboardApiController extends OCSController { /** @var IManager */ @@ -65,15 +72,15 @@ class DashboardApiController extends OCSController { } /** - * Example request with Curl: - * curl -u user:passwd http://my.nc/ocs/v2.php/apps/dashboard/api/v1/widget-items -H Content-Type:application/json -X GET -d '{"sinceIds":{"github_notifications":"2021-03-22T15:01:10Z"}}' + * @NoAdminRequired + * @NoCSRFRequired + * + * Get the items for the widgets * - * @param array $sinceIds Array indexed by widget Ids, contains date/id from which we want the new items + * @param array<string, string> $sinceIds Array indexed by widget Ids, contains date/id from which we want the new items * @param int $limit Limit number of result items per widget * @param string[] $widgets Limit results to specific widgets - * - * @NoAdminRequired - * @NoCSRFRequired + * @return DataResponse<Http::STATUS_OK, array<string, DashboardWidgetItem[]>, array{}> */ public function getWidgetItems(array $sinceIds = [], int $limit = 7, array $widgets = []): DataResponse { $showWidgets = $widgets; @@ -97,11 +104,12 @@ class DashboardApiController extends OCSController { } /** - * Example request with Curl: - * curl -u user:passwd http://my.nc/ocs/v2.php/apps/dashboard/api/v1/widgets + * Get the widgets * * @NoAdminRequired * @NoCSRFRequired + * + * @return DataResponse<Http::STATUS_OK, DashboardWidget[], array{}> */ public function getWidgets(): DataResponse { $widgets = $this->dashboardManager->getWidgets(); diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php index b0e150e00f7..e72fde4b7bd 100644 --- a/apps/dashboard/lib/Controller/DashboardController.php +++ b/apps/dashboard/lib/Controller/DashboardController.php @@ -9,6 +9,7 @@ declare(strict_types=1); * @author Julius Härtl <jus@bitgrid.net> * @author Morris Jobke <hey@morrisjobke.de> * @author Roeland Jago Douma <roeland@famdouma.nl> + * @author Kate Döen <kate.doeen@nextcloud.com> * * @license GNU AGPL version 3 or any later version * @@ -32,6 +33,7 @@ use OCA\Files\Event\LoadSidebar; use OCA\Viewer\Event\LoadViewer; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\IgnoreOpenAPI; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Services\IInitialState; @@ -42,6 +44,7 @@ use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; use OCP\IRequest; +#[IgnoreOpenAPI] class DashboardController extends Controller { /** @var IInitialState */ |