added swagger docs
This commit is contained in:
parent
820fc9934c
commit
8603bef573
@ -10,7 +10,7 @@ import {
|
|||||||
import { ConversationsService } from './conversations.service';
|
import { ConversationsService } from './conversations.service';
|
||||||
import { CreateConversationDto } from './dto/create-conversation.dto';
|
import { CreateConversationDto } from './dto/create-conversation.dto';
|
||||||
import { UpdateConversationDto } from './dto/update-conversation.dto';
|
import { UpdateConversationDto } from './dto/update-conversation.dto';
|
||||||
import { ApiOperation } from '@nestjs/swagger';
|
import { ApiBody, ApiOperation, ApiParam, ApiResponse } from '@nestjs/swagger';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
@Controller('conversations')
|
@Controller('conversations')
|
||||||
@ -30,6 +30,28 @@ export class ConversationsController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Patch(':convId/add-participant')
|
@Patch(':convId/add-participant')
|
||||||
|
@ApiOperation({ summary: 'Add a participant to a conversation' })
|
||||||
|
@ApiParam({
|
||||||
|
name: 'convId',
|
||||||
|
type: String,
|
||||||
|
description: 'The ID of the conversation',
|
||||||
|
example: 'conv_abc123',
|
||||||
|
})
|
||||||
|
@ApiBody({
|
||||||
|
schema: {
|
||||||
|
type: 'object',
|
||||||
|
required: ['userId'],
|
||||||
|
properties: {
|
||||||
|
userId: {
|
||||||
|
type: 'string',
|
||||||
|
description: 'The ID of the user to add',
|
||||||
|
example: 'user_xyz789',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
@ApiResponse({ status: 200, description: 'Participant added successfully' })
|
||||||
|
@ApiResponse({ status: 404, description: 'Conversation or user not found' })
|
||||||
async addParticipant(
|
async addParticipant(
|
||||||
@Param('convId') convId: string,
|
@Param('convId') convId: string,
|
||||||
@Body('userId') userId: string,
|
@Body('userId') userId: string,
|
||||||
@ -38,10 +60,33 @@ export class ConversationsController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Patch(':convId/remove-participant')
|
@Patch(':convId/remove-participant')
|
||||||
|
@ApiOperation({ summary: 'Remove a participant from a conversation' })
|
||||||
|
@ApiParam({
|
||||||
|
name: 'convId',
|
||||||
|
type: String,
|
||||||
|
description: 'The ID of the conversation',
|
||||||
|
example: 'conv_abc123',
|
||||||
|
})
|
||||||
|
@ApiBody({
|
||||||
|
schema: {
|
||||||
|
type: 'object',
|
||||||
|
required: ['userId'],
|
||||||
|
properties: {
|
||||||
|
userId: {
|
||||||
|
type: 'string',
|
||||||
|
description: 'The ID of the user to remove',
|
||||||
|
example: 'user_xyz789',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
@ApiResponse({ status: 200, description: 'Participant removed successfully' })
|
||||||
|
@ApiResponse({ status: 404, description: 'Conversation or user not found' })
|
||||||
async removeParticipant(
|
async removeParticipant(
|
||||||
@Param('convId') convId: string,
|
@Param('convId') convId: string,
|
||||||
@Body('userId') userId: string,
|
@Body('userId') userId: string,
|
||||||
) {
|
) {
|
||||||
return this.conversationsService.removeParticipant(convId, userId);
|
return this.conversationsService.removeParticipant(convId, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ export class CreateConversationDto {
|
|||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
enum: ConversationType,
|
enum: ConversationType,
|
||||||
enumName: 'ConversationType',
|
enumName: 'ConversationType',
|
||||||
example: ConversationType.P2P,
|
example: ConversationType.GROUP,
|
||||||
description: 'Type of the conversation',
|
description: 'Type of the conversation',
|
||||||
})
|
})
|
||||||
@IsEnum(ConversationType)
|
@IsEnum(ConversationType)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user