docs: Add full Swagger JSDoc coverage

This commit is contained in:
Maksim Eltyshev
2025-09-08 16:20:27 +02:00
parent e6b4c33542
commit 5ad3134519
128 changed files with 7610 additions and 0 deletions
@@ -3,6 +3,70 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/
/**
* @swagger
* /api/boards/{boardId}/memberships:
* post:
* summary: Add user to board
* description: Adds a user to a board. Requires project manager permissions.
* tags:
* - Board Memberships
* parameters:
* - name: boardId
* in: path
* required: true
* description: ID of the board to add the user to
* schema:
* type: string
* example: 1357158568008091264
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* required:
* - userId
* - role
* properties:
* userId:
* type: string
* description: ID of the user to add to the board
* example: 1357158568008091265
* role:
* type: string
* enum: [editor, viewer]
* description: Role of the user in the board
* example: editor
* canComment:
* type: boolean
* nullable: true
* description: Whether the user can comment on cards (applies only to viewers)
* example: true
* responses:
* 200:
* description: User added to board successfully
* content:
* application/json:
* schema:
* type: object
* required:
* - item
* properties:
* item:
* $ref: '#/components/schemas/BoardMembership'
* 400:
* $ref: '#/components/responses/ValidationError'
* 401:
* $ref: '#/components/responses/Unauthorized'
* 403:
* $ref: '#/components/responses/Forbidden'
* 404:
* $ref: '#/components/responses/NotFound'
* 409:
* $ref: '#/components/responses/Conflict'
*/
const { idInput } = require('../../../utils/inputs');
const Errors = {
@@ -3,6 +3,42 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/
/**
* @swagger
* /api/board-memberships/{id}:
* delete:
* summary: Remove user from board
* description: Removes a user from a board. Users can remove themselves, or project managers can remove any user.
* tags:
* - Board Memberships
* parameters:
* - name: id
* in: path
* required: true
* description: ID of the board membership to remove
* schema:
* type: string
* example: 1357158568008091264
* responses:
* 200:
* description: User removed from board successfully
* content:
* application/json:
* schema:
* type: object
* required:
* - item
* properties:
* item:
* $ref: '#/components/schemas/BoardMembership'
* 400:
* $ref: '#/components/responses/ValidationError'
* 401:
* $ref: '#/components/responses/Unauthorized'
* 404:
* $ref: '#/components/responses/NotFound'
*/
const { idInput } = require('../../../utils/inputs');
const Errors = {
@@ -3,6 +3,59 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/
/**
* @swagger
* /api/board-memberships/{id}:
* patch:
* summary: Update board membership
* description: Updates a board membership. Requires project manager permissions.
* tags:
* - Board Memberships
* parameters:
* - name: id
* in: path
* required: true
* description: ID of the board membership to update
* schema:
* type: string
* example: 1357158568008091264
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* role:
* type: string
* enum: [editor, viewer]
* description: Role of the user in the board
* example: editor
* canComment:
* type: boolean
* nullable: true
* description: Whether the user can comment on cards (applies only to viewers)
* example: true
* responses:
* 200:
* description: Board membership updated successfully
* content:
* application/json:
* schema:
* type: object
* required:
* - item
* properties:
* item:
* $ref: '#/components/schemas/BoardMembership'
* 400:
* $ref: '#/components/responses/ValidationError'
* 401:
* $ref: '#/components/responses/Unauthorized'
* 404:
* $ref: '#/components/responses/NotFound'
*/
const { idInput } = require('../../../utils/inputs');
const Errors = {