Files
dating-app-backend/src/modules/likes/likes.controller.ts
Oscar 1662bb7dc8 feat(src/modules/greetings/greetings.controller.ts): обновляет ответы API для получения и создания фраз приветствия
 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): обновляет структуру ответа
2026-06-08 16:41:08 +03:00

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);
}
}