✨ feat(src/modules/likes/likes.controller.ts): обновляет ответы API для создания лайка и получения совпадений ✨ feat(src/auth/auth.controller.ts): обновляет ответы API для регистрации, входа и выхода пользователя ✨ feat(src/modules/media/media.controller.ts): обновляет ответы API для загрузки и получения медиа ✨ feat(src/modules/users/users.controller.ts): обновляет ответы API для получения и управления пользователями ✨ feat(src/modules/dates/dto/dates-response.dto.ts): изменяет название свойства статуса даты на dateStatus ✨ feat(src/modules/cities/cities.controller.ts): обновляет ответы API для получения и создания городов и районов ✨ feat(src/modules/chat/chat.controller.ts): обновляет ответы API для создания и получения чатов и сообщений ✨ feat(src/modules/reports/reports.controller.ts): обновляет ответы API для создания и получения отчетов ✨ feat(src/modules/feed/feed.controller.ts): обновляет структуру ответа
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { Body, Controller, Get, Post, Query, UseGuards } from '@nestjs/common';
|
|
import { ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { CurrentUser } from '../../common/decorators/current-user.decorator';
|
|
import { JwtAuthGuard } from '../../common/guards/jwt-auth.guard';
|
|
import { CreateLikeDto } from './dto/create-like.dto';
|
|
import { CreateLikeResponseDto, MatchDto } from './dto/likes-response.dto';
|
|
import { LikesService } from './likes.service';
|
|
|
|
@ApiTags('likes')
|
|
@ApiBearerAuth()
|
|
@UseGuards(JwtAuthGuard)
|
|
@Controller('likes')
|
|
export class LikesController {
|
|
constructor(private readonly likesService: LikesService) {}
|
|
|
|
@Post()
|
|
@ApiOperation({ summary: 'Like or dislike a profile' })
|
|
@ApiCreatedResponse({ type: CreateLikeResponseDto })
|
|
createLike(@CurrentUser('id') userId: string, @Body() dto: CreateLikeDto) {
|
|
return this.likesService.createLike(userId, dto);
|
|
}
|
|
|
|
@Get('matches')
|
|
@ApiOperation({ summary: 'Get matches for a profile' })
|
|
@ApiOkResponse({ type: [MatchDto] })
|
|
getMyMatches(
|
|
@CurrentUser('id') userId: string,
|
|
@Query('profileId') profileId: string,
|
|
) {
|
|
return this.likesService.getMyMatches(userId, profileId);
|
|
}
|
|
}
|