docs: Improve Swagger JSDoc

This commit is contained in:
Maksim Eltyshev
2025-09-12 12:17:01 +02:00
parent 494800d131
commit b4979d214f
129 changed files with 294 additions and 248 deletions

View File

@@ -16,13 +16,13 @@ export const transformActivity = (activity) => ({
/* Actions */ /* Actions */
const getActivitiesInBoard = (boardId, data, headers) => const getBoardActivities = (boardId, data, headers) =>
socket.get(`/boards/${boardId}/actions`, data, headers).then((body) => ({ socket.get(`/boards/${boardId}/actions`, data, headers).then((body) => ({
...body, ...body,
items: body.items.map(transformActivity), items: body.items.map(transformActivity),
})); }));
const getActivitiesInCard = (cardId, data, headers) => const getCardActivities = (cardId, data, headers) =>
socket.get(`/cards/${cardId}/actions`, data, headers).then((body) => ({ socket.get(`/cards/${cardId}/actions`, data, headers).then((body) => ({
...body, ...body,
items: body.items.map(transformActivity), items: body.items.map(transformActivity),
@@ -38,7 +38,7 @@ const makeHandleActivityCreate = (next) => (body) => {
}; };
export default { export default {
getActivitiesInBoard, getBoardActivities,
getActivitiesInCard, getCardActivities,
makeHandleActivityCreate, makeHandleActivityCreate,
}; };

View File

@@ -7,10 +7,10 @@ import socket from './socket';
/* Actions */ /* Actions */
const createCustomFieldGroupInBoard = (cardId, data, headers) => const createBoardCustomFieldGroup = (cardId, data, headers) =>
socket.post(`/boards/${cardId}/custom-field-groups`, data, headers); socket.post(`/boards/${cardId}/custom-field-groups`, data, headers);
const createCustomFieldGroupInCard = (cardId, data, headers) => const createCardCustomFieldGroup = (cardId, data, headers) =>
socket.post(`/cards/${cardId}/custom-field-groups`, data, headers); socket.post(`/cards/${cardId}/custom-field-groups`, data, headers);
const getCustomFieldGroup = (id, headers) => const getCustomFieldGroup = (id, headers) =>
@@ -23,8 +23,8 @@ const deleteCustomFieldGroup = (id, headers) =>
socket.delete(`/custom-field-groups/${id}`, undefined, headers); socket.delete(`/custom-field-groups/${id}`, undefined, headers);
export default { export default {
createCustomFieldGroupInBoard, createBoardCustomFieldGroup,
createCustomFieldGroupInCard, createCardCustomFieldGroup,
getCustomFieldGroup, getCustomFieldGroup,
updateCustomFieldGroup, updateCustomFieldGroup,
deleteCustomFieldGroup, deleteCustomFieldGroup,

View File

@@ -7,10 +7,10 @@ import socket from './socket';
/* Actions */ /* Actions */
const createNotificationServiceInUser = (userId, data, headers) => const createUserNotificationService = (userId, data, headers) =>
socket.post(`/users/${userId}/notification-services`, data, headers); socket.post(`/users/${userId}/notification-services`, data, headers);
const createNotificationServiceInBoard = (boardId, data, headers) => const createBoardNotificationService = (boardId, data, headers) =>
socket.post(`/boards/${boardId}/notification-services`, data, headers); socket.post(`/boards/${boardId}/notification-services`, data, headers);
const updateNotificationService = (id, data, headers) => const updateNotificationService = (id, data, headers) =>
@@ -23,8 +23,8 @@ const deleteNotificationService = (id, headers) =>
socket.delete(`/notification-services/${id}`, undefined, headers); socket.delete(`/notification-services/${id}`, undefined, headers);
export default { export default {
createNotificationServiceInUser, createUserNotificationService,
createNotificationServiceInBoard, createBoardNotificationService,
updateNotificationService, updateNotificationService,
testNotificationService, testNotificationService,
deleteNotificationService, deleteNotificationService,

View File

@@ -22,7 +22,7 @@ export function* fetchActivitiesInBoard(boardId) {
({ ({
items: activities, items: activities,
included: { users }, included: { users },
} = yield call(request, api.getActivitiesInBoard, boardId, { } = yield call(request, api.getBoardActivities, boardId, {
beforeId: lastActivityId || undefined, beforeId: lastActivityId || undefined,
})); }));
} catch (error) { } catch (error) {
@@ -51,7 +51,7 @@ export function* fetchActivitiesInCard(cardId) {
({ ({
items: activities, items: activities,
included: { users }, included: { users },
} = yield call(request, api.getActivitiesInCard, cardId, { } = yield call(request, api.getCardActivities, cardId, {
beforeId: lastActivityId || undefined, beforeId: lastActivityId || undefined,
})); }));
} catch (error) { } catch (error) {

View File

@@ -31,7 +31,7 @@ export function* createCustomFieldGroupInBoard(boardId, data) {
try { try {
({ item: customFieldGroup } = yield call( ({ item: customFieldGroup } = yield call(
request, request,
api.createCustomFieldGroupInBoard, api.createBoardCustomFieldGroup,
boardId, boardId,
nextData, nextData,
)); ));
@@ -69,7 +69,7 @@ export function* createCustomFieldGroupInCard(cardId, data) {
try { try {
({ item: customFieldGroup } = yield call( ({ item: customFieldGroup } = yield call(
request, request,
api.createCustomFieldGroupInCard, api.createCardCustomFieldGroup,
cardId, cardId,
nextData, nextData,
)); ));

View File

@@ -27,7 +27,7 @@ export function* createNotificationServiceInCurrentUser(data) {
try { try {
({ item: notificationService } = yield call( ({ item: notificationService } = yield call(
request, request,
api.createNotificationServiceInUser, api.createUserNotificationService,
currentUserId, currentUserId,
data, data,
)); ));
@@ -54,7 +54,7 @@ export function* createNotificationServiceInBoard(boardId, data) {
try { try {
({ item: notificationService } = yield call( ({ item: notificationService } = yield call(
request, request,
api.createNotificationServiceInBoard, api.createBoardNotificationService,
boardId, boardId,
data, data,
)); ));

View File

@@ -11,6 +11,7 @@
* description: Accept terms during the authentication flow. Converts the pending token to an access token. * description: Accept terms during the authentication flow. Converts the pending token to an access token.
* tags: * tags:
* - Access Tokens * - Access Tokens
* operationId: acceptTerms
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
@@ -87,6 +88,7 @@
* - Admin login required to initialize instance * - Admin login required to initialize instance
* description: Specific error message * description: Specific error message
* example: Invalid signature * example: Invalid signature
* security: []
*/ */
const { getRemoteAddress } = require('../../../utils/remote-address'); const { getRemoteAddress } = require('../../../utils/remote-address');

View File

@@ -11,6 +11,7 @@
* description: Authenticates a user using email/username and password. Returns an access token for API authentication. * description: Authenticates a user using email/username and password. Returns an access token for API authentication.
* tags: * tags:
* - Access Tokens * - Access Tokens
* operationId: createAccessToken
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
@@ -101,6 +102,7 @@
* - Admin login required to initialize instance * - Admin login required to initialize instance
* description: Specific error message * description: Specific error message
* example: Use single sign-on * example: Use single sign-on
* security: []
*/ */
const bcrypt = require('bcrypt'); const bcrypt = require('bcrypt');

View File

@@ -11,6 +11,7 @@
* description: Logs out the current user by deleting the session and access token. Clears HTTP-only cookies if present. * description: Logs out the current user by deleting the session and access token. Clears HTTP-only cookies if present.
* tags: * tags:
* - Access Tokens * - Access Tokens
* operationId: deleteAccessToken
* responses: * responses:
* 200: * 200:
* description: Logout successful * description: Logout successful

View File

@@ -11,6 +11,7 @@
* description: Exchanges an OIDC authorization code for an access token. Creates a user if they do not exist. * description: Exchanges an OIDC authorization code for an access token. Creates a user if they do not exist.
* tags: * tags:
* - Access Tokens * - Access Tokens
* operationId: exchangeForAccessTokenWithOidc
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
@@ -49,6 +50,12 @@
* type: string * type: string
* description: Access token for API authentication * description: Access token for API authentication
* example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ4... * example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ4...
* headers:
* Set-Cookie:
* description: HTTP-only authentication cookie (if withHttpOnlyToken is true)
* schema:
* type: string
* example: httpOnlyToken=29aa3e38-8d24-4029-9743-9cbcf0a0dd5c; HttpOnly; Secure; SameSite=Strict
* 400: * 400:
* $ref: '#/components/responses/ValidationError' * $ref: '#/components/responses/ValidationError'
* 401: * 401:
@@ -151,6 +158,7 @@
* type: string * type: string
* description: Error message * description: Error message
* example: Invalid OIDC configuration * example: Invalid OIDC configuration
* security: []
*/ */
const { getRemoteAddress } = require('../../../utils/remote-address'); const { getRemoteAddress } = require('../../../utils/remote-address');

View File

@@ -11,6 +11,7 @@
* description: Revokes a pending authentication token and cancels the authentication flow. * description: Revokes a pending authentication token and cancels the authentication flow.
* tags: * tags:
* - Access Tokens * - Access Tokens
* operationId: revokePendingToken
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
@@ -42,6 +43,7 @@
* $ref: '#/components/responses/ValidationError' * $ref: '#/components/responses/ValidationError'
* 404: * 404:
* $ref: '#/components/responses/NotFound' * $ref: '#/components/responses/NotFound'
* security: []
*/ */
const Errors = { const Errors = {

View File

@@ -11,6 +11,7 @@
* description: Retrieves a list of actions (activity history) for a specific board, with pagination support. * description: Retrieves a list of actions (activity history) for a specific board, with pagination support.
* tags: * tags:
* - Actions * - Actions
* operationId: getBoardActions
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves a list of actions (activity history) for a specific card, with pagination support. * description: Retrieves a list of actions (activity history) for a specific card, with pagination support.
* tags: * tags:
* - Actions * - Actions
* operationId: getCardActions
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates an attachment on a card. Requires board editor permissions. * description: Creates an attachment on a card. Requires board editor permissions.
* tags: * tags:
* - Attachments * - Attachments
* operationId: createAttachment
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path
@@ -22,21 +23,25 @@
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
* application/json: * multipart/form-data:
* schema: * schema:
* type: object * type: object
* required: * required:
* - type * - type
* - url
* - name * - name
* properties: * properties:
* type: * type:
* type: string * type: string
* enum: [link] * enum: [file, link]
* description: Type of the attachment * description: Type of the attachment
* example: link * example: link
* file:
* type: string
* format: binary
* description: File to upload
* url: * url:
* type: string * type: string
* format: url
* maxLength: 2048 * maxLength: 2048
* description: URL for the link attachment * description: URL for the link attachment
* example: https://google.com/search?q=planka * example: https://google.com/search?q=planka
@@ -44,29 +49,7 @@
* type: string * type: string
* maxLength: 128 * maxLength: 128
* description: Name/title of the attachment * description: Name/title of the attachment
* example: Google Link * example: Important Attachment
* multipart/form-data:
* schema:
* type: object
* required:
* - type
* - file
* - name
* properties:
* type:
* type: string
* enum: [file]
* description: Type of the attachment
* example: file
* file:
* type: string
* format: binary
* description: File to upload
* name:
* type: string
* maxLength: 128
* description: Name/title of the attachment
* example: Important Document
* requestId: * requestId:
* type: string * type: string
* maxLength: 128 * maxLength: 128

View File

@@ -11,6 +11,7 @@
* description: Deletes an attachment. Requires board editor permissions. * description: Deletes an attachment. Requires board editor permissions.
* tags: * tags:
* - Attachments * - Attachments
* operationId: deleteAttachment
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates an attachment. Requires board editor permissions. * description: Updates an attachment. Requires board editor permissions.
* tags: * tags:
* - Attachments * - Attachments
* operationId: updateAttachment
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
@@ -30,7 +31,7 @@
* type: string * type: string
* maxLength: 128 * maxLength: 128
* description: Name/title of the attachment * description: Name/title of the attachment
* example: Google Link * example: Important Attachment
* responses: * responses:
* 200: * 200:
* description: Attachment updated successfully * description: Attachment updated successfully

View File

@@ -11,6 +11,7 @@
* description: Uploads a background image for a project. Requires project manager permissions. * description: Uploads a background image for a project. Requires project manager permissions.
* tags: * tags:
* - Background Images * - Background Images
* operationId: createBackgroundImage
* parameters: * parameters:
* - name: projectId * - name: projectId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a background image. Requires project manager permissions. * description: Deletes a background image. Requires project manager permissions.
* tags: * tags:
* - Background Images * - Background Images
* operationId: deleteBackgroundImage
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a base custom field group within a project. Requires project manager permissions. * description: Creates a base custom field group within a project. Requires project manager permissions.
* tags: * tags:
* - Base Custom Field Groups * - Base Custom Field Groups
* operationId: createBaseCustomFieldGroup
* parameters: * parameters:
* - name: projectId * - name: projectId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a base custom field group. Requires project manager permissions. * description: Deletes a base custom field group. Requires project manager permissions.
* tags: * tags:
* - Base Custom Field Groups * - Base Custom Field Groups
* operationId: deleteBaseCustomFieldGroup
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a base custom field group. Requires project manager permissions. * description: Updates a base custom field group. Requires project manager permissions.
* tags: * tags:
* - Base Custom Field Groups * - Base Custom Field Groups
* operationId: updateBaseCustomFieldGroup
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -7,15 +7,16 @@
* @swagger * @swagger
* /boards/{boardId}/memberships: * /boards/{boardId}/memberships:
* post: * post:
* summary: Add user to board * summary: Create board membership
* description: Adds a user to a board. Requires project manager permissions. * description: Creates a board membership within a board. Requires project manager permissions.
* tags: * tags:
* - Board Memberships * - Board Memberships
* operationId: createBoardMembership
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path
* required: true * required: true
* description: ID of the board to add the user to * description: ID of the board to create the board membership in
* schema: * schema:
* type: string * type: string
* example: "1357158568008091264" * example: "1357158568008091264"
@@ -31,7 +32,7 @@
* properties: * properties:
* userId: * userId:
* type: string * type: string
* description: ID of the user to add to the board * description: ID of the user who is a member of the board
* example: "1357158568008091265" * example: "1357158568008091265"
* role: * role:
* type: string * type: string
@@ -45,7 +46,7 @@
* example: true * example: true
* responses: * responses:
* 200: * 200:
* description: User added to board successfully * description: Board membership created successfully
* content: * content:
* application/json: * application/json:
* schema: * schema:

View File

@@ -7,21 +7,22 @@
* @swagger * @swagger
* /board-memberships/{id}: * /board-memberships/{id}:
* delete: * delete:
* summary: Remove user from board * summary: Delete board membership
* description: Removes a user from a board. Users can remove themselves, or project managers can remove any user. * description: Deletes a board membership. Users can remove their own membership, project managers can remove any membership.
* tags: * tags:
* - Board Memberships * - Board Memberships
* operationId: deleteBoardMembership
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
* required: true * required: true
* description: ID of the board membership to remove * description: ID of the board membership to delete
* schema: * schema:
* type: string * type: string
* example: "1357158568008091264" * example: "1357158568008091264"
* responses: * responses:
* 200: * 200:
* description: User removed from board successfully * description: Board membership deleted successfully
* content: * content:
* application/json: * application/json:
* schema: * schema:

View File

@@ -11,6 +11,7 @@
* description: Updates a board membership. Requires project manager permissions. * description: Updates a board membership. Requires project manager permissions.
* tags: * tags:
* - Board Memberships * - Board Memberships
* operationId: updateBoardMembership
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a board within a project. Supports importing from Trello. Requires project manager permissions. * description: Creates a board within a project. Supports importing from Trello. Requires project manager permissions.
* tags: * tags:
* - Boards * - Boards
* operationId: createBoard
* parameters: * parameters:
* - name: projectId * - name: projectId
* in: path * in: path
@@ -22,50 +23,6 @@
* requestBody: * requestBody:
* required: true * required: true
* content: * content:
* application/json:
* schema:
* type: object
* required:
* - position
* - name
* properties:
* position:
* type: number
* minimum: 0
* description: Position of the board within the project
* example: 65536
* name:
* type: string
* maxLength: 128
* description: Name/title of the board
* example: Development Board
* defaultView:
* type: string
* enum: [kanban, grid, list]
* default: kanban
* description: Default view for the board
* example: kanban
* defaultCardType:
* type: string
* enum: [project, story]
* default: project
* description: Default card type for new cards
* example: project
* limitCardTypesToDefaultOne:
* type: boolean
* default: false
* description: Whether to limit card types to default one
* example: false
* alwaysDisplayCardCreator:
* type: boolean
* default: false
* description: Whether to always display the card creator
* example: false
* expandTaskListsByDefault:
* type: boolean
* default: false
* description: Whether to expand task lists by default
* example: false
* multipart/form-data: * multipart/form-data:
* schema: * schema:
* type: object * type: object
@@ -83,33 +40,6 @@
* maxLength: 128 * maxLength: 128
* description: Name/title of the board * description: Name/title of the board
* example: Development Board * example: Development Board
* defaultView:
* type: string
* enum: [kanban, grid, list]
* default: kanban
* description: Default view for the board
* example: kanban
* defaultCardType:
* type: string
* enum: [project, story]
* default: project
* description: Default card type for new cards
* example: project
* limitCardTypesToDefaultOne:
* type: boolean
* default: false
* description: Whether to limit card types to default one
* example: false
* alwaysDisplayCardCreator:
* type: boolean
* default: false
* description: Whether to always display the card creator
* example: false
* expandTaskListsByDefault:
* type: boolean
* default: false
* description: Whether to expand task lists by default
* example: false
* importType: * importType:
* type: string * type: string
* enum: [trello] * enum: [trello]

View File

@@ -11,6 +11,7 @@
* description: Deletes a board and all its contents (lists, cards, etc.). Requires project manager permissions. * description: Deletes a board and all its contents (lists, cards, etc.). Requires project manager permissions.
* tags: * tags:
* - Boards * - Boards
* operationId: deleteBoard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves comprehensive board information, including lists, cards, and other related data. * description: Retrieves comprehensive board information, including lists, cards, and other related data.
* tags: * tags:
* - Boards * - Boards
* operationId: getBoard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a board. Project managers can update all fields, board members can only subscribe/unsubscribe. * description: Updates a board. Project managers can update all fields, board members can only subscribe/unsubscribe.
* tags: * tags:
* - Boards * - Boards
* operationId: updateBoard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
@@ -49,6 +50,7 @@
* limitCardTypesToDefaultOne: * limitCardTypesToDefaultOne:
* type: boolean * type: boolean
* description: Whether to limit card types to default one * description: Whether to limit card types to default one
* example: false
* alwaysDisplayCardCreator: * alwaysDisplayCardCreator:
* type: boolean * type: boolean
* description: Whether to limit card types to default one * description: Whether to limit card types to default one

View File

@@ -11,6 +11,7 @@
* description: Adds a label to a card. Requires board editor permissions. * description: Adds a label to a card. Requires board editor permissions.
* tags: * tags:
* - Card Labels * - Card Labels
* operationId: createCardLabel
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Removes a label from a card. Requires board editor permissions. * description: Removes a label from a card. Requires board editor permissions.
* tags: * tags:
* - Card Labels * - Card Labels
* operationId: deleteCardLabel
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Adds a user to a card. Requires board editor permissions. * description: Adds a user to a card. Requires board editor permissions.
* tags: * tags:
* - Card Memberships * - Card Memberships
* operationId: createCardMembership
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Removes a user from a card. Requires board editor permissions. * description: Removes a user from a card. Requires board editor permissions.
* tags: * tags:
* - Card Memberships * - Card Memberships
* operationId: deleteCardMembership
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a card within a list. Requires board editor permissions. * description: Creates a card within a list. Requires board editor permissions.
* tags: * tags:
* - Cards * - Cards
* operationId: createCard
* parameters: * parameters:
* - name: listId * - name: listId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a card and all its contents (tasks, attachments, etc.). Requires board editor permissions. * description: Deletes a card and all its contents (tasks, attachments, etc.). Requires board editor permissions.
* tags: * tags:
* - Cards * - Cards
* operationId: deleteCard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a duplicate of a card with all its contents (tasks, attachments, etc.). Requires board editor permissions. * description: Creates a duplicate of a card with all its contents (tasks, attachments, etc.). Requires board editor permissions.
* tags: * tags:
* - Cards * - Cards
* operationId: duplicateCard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves cards from an endless list with filtering, search, and pagination support. * description: Retrieves cards from an endless list with filtering, search, and pagination support.
* tags: * tags:
* - Cards * - Cards
* operationId: getCards
* parameters: * parameters:
* - name: listId * - name: listId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Marks all notifications for a specific card as read for the current user. Requires access to the card. * description: Marks all notifications for a specific card as read for the current user. Requires access to the card.
* tags: * tags:
* - Cards * - Cards
* operationId: readCardNotifications
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves comprehensive card information, including tasks, attachments, and other related data. * description: Retrieves comprehensive card information, including tasks, attachments, and other related data.
* tags: * tags:
* - Cards * - Cards
* operationId: getCard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a card. Board editors can update all fields, viewers can only subscribe/unsubscribe. * description: Updates a card. Board editors can update all fields, viewers can only subscribe/unsubscribe.
* tags: * tags:
* - Cards * - Cards
* operationId: updateCard
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a new comment on a card. Requires board editor permissions or comment permissions. * description: Creates a new comment on a card. Requires board editor permissions or comment permissions.
* tags: * tags:
* - Comments * - Comments
* operationId: createComment
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a comment. Can be deleted by the comment author (with comment permissions) or project manager. * description: Deletes a comment. Can be deleted by the comment author (with comment permissions) or project manager.
* tags: * tags:
* - Comments * - Comments
* operationId: deleteComment
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves comments for a card with pagination support. Requires access to the card. * description: Retrieves comments for a card with pagination support. Requires access to the card.
* tags: * tags:
* - Comments * - Comments
* operationId: getComments
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a comment. Only the author of the comment can update it. * description: Updates a comment. Only the author of the comment can update it.
* tags: * tags:
* - Comments * - Comments
* operationId: updateComments
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves the application configuration. * description: Retrieves the application configuration.
* tags: * tags:
* - Config * - Config
* operationId: getConfig
* responses: * responses:
* 200: * 200:
* description: Configuration retrieved successfully * description: Configuration retrieved successfully
@@ -23,6 +24,7 @@
* properties: * properties:
* item: * item:
* $ref: '#/components/schemas/Config' * $ref: '#/components/schemas/Config'
* security: []
*/ */
module.exports = { module.exports = {

View File

@@ -7,10 +7,11 @@
* @swagger * @swagger
* /boards/{boardId}/custom-field-groups: * /boards/{boardId}/custom-field-groups:
* post: * post:
* summary: Create custom field group in board * summary: Create board custom field group
* description: Creates a custom field group within a board. Either `baseCustomFieldGroupId` or `name` must be provided. Requires board editor permissions. * description: Creates a custom field group within a board. Either `baseCustomFieldGroupId` or `name` must be provided. Requires board editor permissions.
* tags: * tags:
* - Custom Field Groups * - Custom Field Groups
* operationId: createBoardCustomFieldGroup
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path

View File

@@ -7,10 +7,11 @@
* @swagger * @swagger
* /cards/{cardId}/custom-field-groups: * /cards/{cardId}/custom-field-groups:
* post: * post:
* summary: Create custom field group in card * summary: Create card custom field group
* description: Creates a custom field group within a card. Either `baseCustomFieldGroupId` or `name` must be provided. Requires board editor permissions. * description: Creates a custom field group within a card. Either `baseCustomFieldGroupId` or `name` must be provided. Requires board editor permissions.
* tags: * tags:
* - Custom Field Groups * - Custom Field Groups
* operationId: createCardCustomFieldGroup
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a custom field group. Requires board editor permissions. * description: Deletes a custom field group. Requires board editor permissions.
* tags: * tags:
* - Custom Field Groups * - Custom Field Groups
* operationId: deleteCustomFieldGroup
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves comprehensive custom field group information, including fields and values. Requires access to the board/card. * description: Retrieves comprehensive custom field group information, including fields and values. Requires access to the board/card.
* tags: * tags:
* - Custom Field Groups * - Custom Field Groups
* operationId: getCustomFieldGroup
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
@@ -40,14 +41,14 @@
* properties: * properties:
* customFields: * customFields:
* type: array * type: array
* description: Related custom fields
* items: * items:
* $ref: '#/components/schemas/CustomField' * $ref: '#/components/schemas/CustomField'
* description: Related custom fields
* customFieldValues: * customFieldValues:
* type: array * type: array
* description: Related custom field values (for card-specific groups)
* items: * items:
* $ref: '#/components/schemas/CustomFieldValue' * $ref: '#/components/schemas/CustomFieldValue'
* description: Related custom field values (for card-specific groups)
* 400: * 400:
* $ref: '#/components/responses/ValidationError' * $ref: '#/components/responses/ValidationError'
* 401: * 401:

View File

@@ -11,6 +11,7 @@
* description: Updates a custom field group. Supports both board-wide and card-specific groups. Requires board editor permissions. * description: Updates a custom field group. Supports both board-wide and card-specific groups. Requires board editor permissions.
* tags: * tags:
* - Custom Field Groups * - Custom Field Groups
* operationId: updateCustomFieldGroup
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates or updates a custom field value for a card. Requires board editor permissions. * description: Creates or updates a custom field value for a card. Requires board editor permissions.
* tags: * tags:
* - Custom Field Values * - Custom Field Values
* operationId: updateCustomFieldValue
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a custom field value for a specific card. Requires board editor permissions. * description: Deletes a custom field value for a specific card. Requires board editor permissions.
* tags: * tags:
* - Custom Field Values * - Custom Field Values
* operationId: deleteCustomFieldValue
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a custom field within a base custom field group. Requires project manager permissions. * description: Creates a custom field within a base custom field group. Requires project manager permissions.
* tags: * tags:
* - Custom Fields * - Custom Fields
* operationId: createCustomFieldInBaseGroup
* parameters: * parameters:
* - name: baseCustomFieldGroupId * - name: baseCustomFieldGroupId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a custom field within a custom field group. Requires board editor permissions. * description: Creates a custom field within a custom field group. Requires board editor permissions.
* tags: * tags:
* - Custom Fields * - Custom Fields
* operationId: createCustomFieldInGroup
* parameters: * parameters:
* - name: customFieldGroupId * - name: customFieldGroupId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a custom field. Can delete the in base custom field group (requires project manager permissions) or the custom field group (requires board editor permissions). * description: Deletes a custom field. Can delete the in base custom field group (requires project manager permissions) or the custom field group (requires board editor permissions).
* tags: * tags:
* - Custom Fields * - Custom Fields
* operationId: deleteCustomField
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a custom field. Can update in the base custom field group (requires project manager permissions) or the custom field group (requires board editor permissions). * description: Updates a custom field. Can update in the base custom field group (requires project manager permissions) or the custom field group (requires board editor permissions).
* tags: * tags:
* - Custom Fields * - Custom Fields
* operationId: updateCustomField
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -3,62 +3,6 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/ */
/**
* @swagger
* /attachments/{id}/download/thumbnails/{fileName}.{fileExtension}:
* get:
* summary: Download file attachment thumbnail
* description: Downloads a thumbnail for a file attachment. Only available for image attachments that have thumbnails generated. Requires access to the card.
* tags:
* - File Attachments
* parameters:
* - name: id
* in: path
* required: true
* description: ID of the file attachment to download the thumbnail for
* schema:
* type: string
* example: "1357158568008091264"
* - name: fileName
* in: path
* required: true
* description: Thumbnail size identifier
* schema:
* type: string
* enum: [outside-360, outside-720]
* example: outside-360
* - name: fileExtension
* in: path
* required: true
* description: File extension of the thumbnail
* schema:
* type: string
* example: jpg
* responses:
* 200:
* description: Thumbnail image returned successfully
* content:
* image/*:
* schema:
* type: string
* format: binary
* headers:
* Content-Type:
* schema:
* type: string
* description: MIME type of the thumbnail image
* Cache-Control:
* schema:
* type: string
* description: Cache control header
* 400:
* $ref: '#/components/responses/ValidationError'
* 401:
* $ref: '#/components/responses/Unauthorized'
* 404:
* $ref: '#/components/responses/NotFound'
*/
const { idInput } = require('../../../utils/inputs'); const { idInput } = require('../../../utils/inputs');
const Errors = { const Errors = {

View File

@@ -3,51 +3,6 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/ */
/**
* @swagger
* /attachments/{id}/download:
* get:
* summary: Download file attachment
* description: Downloads a file attachment. Requires access to the card.
* tags:
* - File Attachments
* parameters:
* - name: id
* in: path
* required: true
* description: ID of the file attachment to download
* schema:
* type: string
* example: "1357158568008091264"
* responses:
* 200:
* description: File attachment content returned successfully
* content:
* application/octet-stream:
* schema:
* type: string
* format: binary
* image/*:
* schema:
* type: string
* format: binary
* headers:
* Content-Disposition:
* schema:
* type: string
* description: Attachment disposition with filename
* Content-Type:
* schema:
* type: string
* description: MIME type of the file
* 400:
* $ref: '#/components/responses/ValidationError'
* 401:
* $ref: '#/components/responses/Unauthorized'
* 404:
* $ref: '#/components/responses/NotFound'
*/
const { idInput } = require('../../../utils/inputs'); const { idInput } = require('../../../utils/inputs');
const Errors = { const Errors = {

View File

@@ -11,6 +11,7 @@
* description: Creates a label within a board. Requires board editor permissions. * description: Creates a label within a board. Requires board editor permissions.
* tags: * tags:
* - Labels * - Labels
* operationId: createLabel
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a label. Requires board editor permissions. * description: Deletes a label. Requires board editor permissions.
* tags: * tags:
* - Labels * - Labels
* operationId: deleteLabel
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a label. Requires board editor permissions. * description: Updates a label. Requires board editor permissions.
* tags: * tags:
* - Labels * - Labels
* operationId: updateLabel
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes all cards from a list. Only works with trash-type lists. Requires project manager or board editor permissions. * description: Deletes all cards from a list. Only works with trash-type lists. Requires project manager or board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: clearList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a list within a board. Requires board editor permissions. * description: Creates a list within a board. Requires board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: createList
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a list and moves its cards to a trash list. Can only delete finite lists. Requires board editor permissions. * description: Deletes a list and moves its cards to a trash list. Can only delete finite lists. Requires board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: deleteList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Moves all cards from a closed list to an archive list. Requires board editor permissions. * description: Moves all cards from a closed list to an archive list. Requires board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: moveListCards
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves comprehensive list information, including cards, attachments, and other related data. Requires access to the board. * description: Retrieves comprehensive list information, including cards, attachments, and other related data. Requires access to the board.
* tags: * tags:
* - Lists * - Lists
* operationId: getList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Sorts all cards within a list. Requires board editor permissions. * description: Sorts all cards within a list. Requires board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: sortList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a list. Can move lists between boards. Requires board editor permissions. * description: Updates a list. Can move lists between boards. Requires board editor permissions.
* tags: * tags:
* - Lists * - Lists
* operationId: updateList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a new notification service for a board. Requires project manager permissions. * description: Creates a new notification service for a board. Requires project manager permissions.
* tags: * tags:
* - Notification Services * - Notification Services
* operationId: createBoardNotificationService
* parameters: * parameters:
* - name: boardId * - name: boardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a new notification service for a user. Users can only create services for themselves. * description: Creates a new notification service for a user. Users can only create services for themselves.
* tags: * tags:
* - Notification Services * - Notification Services
* operationId: createUserNotificationService
* parameters: * parameters:
* - name: userId * - name: userId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a notification service. Users can delete their own services, project managers can delete board services. * description: Deletes a notification service. Users can delete their own services, project managers can delete board services.
* tags: * tags:
* - Notification Services * - Notification Services
* operationId: deleteNotificationService
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Sends a test notification to verify the notification service is working. Users can test their own services, project managers can test board services. * description: Sends a test notification to verify the notification service is working. Users can test their own services, project managers can test board services.
* tags: * tags:
* - Notification Services * - Notification Services
* operationId: testNotificationService
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a notification service. Users can update their own services, project managers can update board services. * description: Updates a notification service. Users can update their own services, project managers can update board services.
* tags: * tags:
* - Notification Services * - Notification Services
* operationId: updateNotificationService
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves all unread notifications for the current user, including creator users. * description: Retrieves all unread notifications for the current user, including creator users.
* tags: * tags:
* - Notifications * - Notifications
* operationId: getNotifications
* responses: * responses:
* 200: * 200:
* description: Notifications retrieved successfully * description: Notifications retrieved successfully

View File

@@ -11,6 +11,7 @@
* description: Marks all notifications for the current user as read. * description: Marks all notifications for the current user as read.
* tags: * tags:
* - Notifications * - Notifications
* operationId: readAllNotifications
* responses: * responses:
* 200: * 200:
* description: Notifications marked as read successfully * description: Notifications marked as read successfully

View File

@@ -11,6 +11,7 @@
* description: Retrieves notification, including creator users. Users can only access their own notifications. * description: Retrieves notification, including creator users. Users can only access their own notifications.
* tags: * tags:
* - Notifications * - Notifications
* operationId: getNotification
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a notification. Users can only update their own notifications. * description: Updates a notification. Users can only update their own notifications.
* tags: * tags:
* - Notifications * - Notifications
* operationId: updateNotification
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -7,15 +7,16 @@
* @swagger * @swagger
* /projects/{projectId}/managers: * /projects/{projectId}/managers:
* post: * post:
* summary: Add project manager * summary: Create project manager
* description: Adds a user as a project manager. Requires admin privileges for shared projects or existing project manager permissions. The user must be an admin or project owner. * description: Creates a project manager within a project. Requires admin privileges for shared projects or existing project manager permissions. The user must be an admin or project owner.
* tags: * tags:
* - Project Managers * - Project Managers
* operationId: createProjectManager
* parameters: * parameters:
* - name: projectId * - name: projectId
* in: path * in: path
* required: true * required: true
* description: ID of the project to add the manager to * description: ID of the project to create the project manager in
* schema: * schema:
* type: string * type: string
* example: "1357158568008091264" * example: "1357158568008091264"
@@ -34,7 +35,7 @@
* example: "1357158568008091265" * example: "1357158568008091265"
* responses: * responses:
* 200: * 200:
* description: Project manager added successfully * description: Project manager created successfully
* content: * content:
* application/json: * application/json:
* schema: * schema:

View File

@@ -7,21 +7,22 @@
* @swagger * @swagger
* /project-managers/{id}: * /project-managers/{id}:
* delete: * delete:
* summary: Remove project manager * summary: Delete project manager
* description: Removes a user from project managers. Requires admin privileges for shared projects or existing project manager permissions. Cannot remove the last project manager. * description: Deletes a project manager. Requires admin privileges for shared projects or existing project manager permissions. Cannot remove the last project manager.
* tags: * tags:
* - Project Managers * - Project Managers
* operationId: deleteProjectManager
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
* required: true * required: true
* description: ID of the project manager to remove * description: ID of the project manager to delete
* schema: * schema:
* type: string * type: string
* example: "1357158568008091264" * example: "1357158568008091264"
* responses: * responses:
* 200: * 200:
* description: Project manager removed successfully * description: Project manager deleted successfully
* content: * content:
* application/json: * application/json:
* schema: * schema:

View File

@@ -11,6 +11,7 @@
* description: Creates a project. The current user automatically becomes a project manager. * description: Creates a project. The current user automatically becomes a project manager.
* tags: * tags:
* - Projects * - Projects
* operationId: createProject
* requestBody: * requestBody:
* required: true * required: true
* content: * content:

View File

@@ -11,6 +11,7 @@
* description: Deletes a project. The project must not have any boards. Requires project manager permissions. * description: Deletes a project. The project must not have any boards. Requires project manager permissions.
* tags: * tags:
* - Projects * - Projects
* operationId: deleteProject
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves all projects the current user has access to, including managed projects, membership projects, and shared projects (for admins). * description: Retrieves all projects the current user has access to, including managed projects, membership projects, and shared projects (for admins).
* tags: * tags:
* - Projects * - Projects
* operationId: getProjects
* responses: * responses:
* 200: * 200:
* description: Projects retrieved successfully * description: Projects retrieved successfully

View File

@@ -11,6 +11,7 @@
* description: Retrieves comprehensive project information, including boards, board memberships, and other related data. * description: Retrieves comprehensive project information, including boards, board memberships, and other related data.
* tags: * tags:
* - Projects * - Projects
* operationId: getProject
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a project. Accessible fields depend on user permissions. * description: Updates a project. Accessible fields depend on user permissions.
* tags: * tags:
* - Projects * - Projects
* operationId: updateProject
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a task list within a card. Requires board editor permissions. * description: Creates a task list within a card. Requires board editor permissions.
* tags: * tags:
* - Task Lists * - Task Lists
* operationId: createTaskList
* parameters: * parameters:
* - name: cardId * - name: cardId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a task list and all its tasks. Requires board editor permissions. * description: Deletes a task list and all its tasks. Requires board editor permissions.
* tags: * tags:
* - Task Lists * - Task Lists
* operationId: deleteTaskList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves task list information, including tasks. Requires access to the card. * description: Retrieves task list information, including tasks. Requires access to the card.
* tags: * tags:
* - Task Lists * - Task Lists
* operationId: getTaskList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a task list. Requires board editor permissions. * description: Updates a task list. Requires board editor permissions.
* tags: * tags:
* - Task Lists * - Task Lists
* operationId: updateTaskList
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Creates a task within a task list. Either `linkedCardId` or `name` must be provided. Requires board editor permissions. * description: Creates a task within a task list. Either `linkedCardId` or `name` must be provided. Requires board editor permissions.
* tags: * tags:
* - Tasks * - Tasks
* operationId: createTask
* parameters: * parameters:
* - name: taskListId * - name: taskListId
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Deletes a task. Requires board editor permissions. * description: Deletes a task. Requires board editor permissions.
* tags: * tags:
* - Tasks * - Tasks
* operationId: deleteTask
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a task. Linked card tasks have limited update options. Requires board editor permissions. * description: Updates a task. Linked card tasks have limited update options. Requires board editor permissions.
* tags: * tags:
* - Tasks * - Tasks
* operationId: updateTask
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves terms and conditions in the specified language. * description: Retrieves terms and conditions in the specified language.
* tags: * tags:
* - Terms * - Terms
* operationId: getTerms
* parameters: * parameters:
* - name: type * - name: type
* in: query * in: query
@@ -70,6 +71,7 @@
* $ref: '#/components/responses/Unauthorized' * $ref: '#/components/responses/Unauthorized'
* 404: * 404:
* $ref: '#/components/responses/NotFound' * $ref: '#/components/responses/NotFound'
* security: []
*/ */
module.exports = { module.exports = {

View File

@@ -11,6 +11,7 @@
* description: Creates a user account. Requires admin privileges. * description: Creates a user account. Requires admin privileges.
* tags: * tags:
* - Users * - Users
* operationId: createUser
* requestBody: * requestBody:
* required: true * required: true
* content: * content:

View File

@@ -11,6 +11,7 @@
* description: Deletes a user account. Cannot delete the default admin user. Requires admin privileges. * description: Deletes a user account. Cannot delete the default admin user. Requires admin privileges.
* tags: * tags:
* - Users * - Users
* operationId: deleteUser
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Retrieves a list of all users. Requires admin or project owner privileges. * description: Retrieves a list of all users. Requires admin or project owner privileges.
* tags: * tags:
* - Users * - Users
* operationId: getUsers
* responses: * responses:
* 200: * 200:
* description: List of users retrieved successfully * description: List of users retrieved successfully

View File

@@ -11,6 +11,7 @@
* description: Retrieves a user. Use 'me' as ID to get the current user. * description: Retrieves a user. Use 'me' as ID to get the current user.
* tags: * tags:
* - Users * - Users
* operationId: getUser
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a user's avatar image. Users can update their own avatar, admins can update any user's avatar. * description: Updates a user's avatar image. Users can update their own avatar, admins can update any user's avatar.
* tags: * tags:
* - Users * - Users
* operationId: updateUserAvatar
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path

View File

@@ -11,6 +11,7 @@
* description: Updates a user's email address. Users must provide current password when updating their own email. Admins can update any user's email without a password. * description: Updates a user's email address. Users must provide current password when updating their own email. Admins can update any user's email without a password.
* tags: * tags:
* - Users * - Users
* operationId: updateUserEmail
* parameters: * parameters:
* - in: path * - in: path
* name: id * name: id

View File

@@ -11,6 +11,7 @@
* description: Updates a user's password. Users must provide a current password when updating their own password. Admins can update any user's password without the current password. Returns a new access token when updating own password. * description: Updates a user's password. Users must provide a current password when updating their own password. Admins can update any user's password without the current password. Returns a new access token when updating own password.
* tags: * tags:
* - Users * - Users
* operationId: updateUserPassword
* parameters: * parameters:
* - in: path * - in: path
* name: id * name: id

View File

@@ -11,6 +11,7 @@
* description: Updates a user's username. Users must provide a current password when updating their own username (unless they are SSO users with `oidcIgnoreUsername` enabled). Admins can update any user's username without the current password. * description: Updates a user's username. Users must provide a current password when updating their own username (unless they are SSO users with `oidcIgnoreUsername` enabled). Admins can update any user's username without the current password.
* tags: * tags:
* - Users * - Users
* operationId: updateUserUsername
* parameters: * parameters:
* - in: path * - in: path
* name: id * name: id

View File

@@ -11,6 +11,7 @@
* description: Updates a user. Users can update their own profile, admins can update any user. * description: Updates a user. Users can update their own profile, admins can update any user.
* tags: * tags:
* - Users * - Users
* operationId: updateUser
* parameters: * parameters:
* - name: id * - name: id
* in: path * in: path
@@ -40,6 +41,7 @@
* type: object * type: object
* nullable: true * nullable: true
* description: Avatar of the user (only null value to remove avatar) * description: Avatar of the user (only null value to remove avatar)
* example: null
* phone: * phone:
* type: string * type: string
* maxLength: 128 * maxLength: 128

Some files were not shown because too many files have changed in this diff Show More