mirror of
https://github.com/nextcloud/server.git
synced 2026-02-20 00:12:30 -05:00
comments: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
This commit is contained in:
parent
3fb8aad35b
commit
58746575dc
3 changed files with 112 additions and 4 deletions
|
|
@ -28,6 +28,9 @@ namespace OCA\Comments;
|
|||
use OCP\Capabilities\ICapability;
|
||||
|
||||
class Capabilities implements ICapability {
|
||||
/**
|
||||
* @return array{files: array{comments: bool}}
|
||||
*/
|
||||
public function getCapabilities(): array {
|
||||
return [
|
||||
'files' => [
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace OCA\Comments\Controller;
|
|||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\NotFoundResponse;
|
||||
use OCP\AppFramework\Http\RedirectResponse;
|
||||
use OCP\AppFramework\Http\Response;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\Comments\IComment;
|
||||
use OCP\Comments\ICommentsManager;
|
||||
use OCP\Files\IRootFolder;
|
||||
|
|
@ -38,8 +38,6 @@ use OCP\IUserSession;
|
|||
use OCP\Notification\IManager;
|
||||
|
||||
/**
|
||||
* Class NotificationsController
|
||||
*
|
||||
* @package OCA\Comments\Controller
|
||||
*/
|
||||
class NotificationsController extends Controller {
|
||||
|
|
@ -73,8 +71,17 @@ class NotificationsController extends Controller {
|
|||
/**
|
||||
* @PublicPage
|
||||
* @NoCSRFRequired
|
||||
*
|
||||
* View a notification
|
||||
*
|
||||
* @param string $id ID of the notification
|
||||
*
|
||||
* @return RedirectResponse<Http::STATUS_SEE_OTHER, array{}>|NotFoundResponse<Http::STATUS_NOT_FOUND, array{}>
|
||||
*
|
||||
* 303: Redirected to notification
|
||||
* 404: Notification not found
|
||||
*/
|
||||
public function view(string $id): Response {
|
||||
public function view(string $id): RedirectResponse|NotFoundResponse {
|
||||
$currentUser = $this->userSession->getUser();
|
||||
if (!$currentUser instanceof IUser) {
|
||||
return new RedirectResponse(
|
||||
|
|
|
|||
98
apps/comments/openapi.json
Normal file
98
apps/comments/openapi.json
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"openapi": "3.0.3",
|
||||
"info": {
|
||||
"title": "comments",
|
||||
"version": "0.0.1",
|
||||
"description": "Files app plugin to add comments to files",
|
||||
"license": {
|
||||
"name": "agpl"
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"basic_auth": {
|
||||
"type": "http",
|
||||
"scheme": "basic"
|
||||
},
|
||||
"bearer_auth": {
|
||||
"type": "http",
|
||||
"scheme": "bearer"
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"Capabilities": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"files"
|
||||
],
|
||||
"properties": {
|
||||
"files": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"comments"
|
||||
],
|
||||
"properties": {
|
||||
"comments": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"paths": {
|
||||
"/index.php/apps/comments/notifications/view/{id}": {
|
||||
"get": {
|
||||
"operationId": "notifications-view",
|
||||
"summary": "View a notification",
|
||||
"tags": [
|
||||
"notifications"
|
||||
],
|
||||
"security": [
|
||||
{},
|
||||
{
|
||||
"bearer_auth": []
|
||||
},
|
||||
{
|
||||
"basic_auth": []
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "ID of the notification",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"303": {
|
||||
"description": "Redirected to notification",
|
||||
"headers": {
|
||||
"Location": {
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Notification not found",
|
||||
"content": {
|
||||
"text/html": {
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
Loading…
Reference in a new issue