feat(src/modules/cities/cities.controller.ts): добавляет ответы API для получения всех городов и районов

 feat(src/modules/chat/chat.controller.ts): добавляет ответы API для создания чата и получения сообщений

 feat(src/modules/greetings/greetings.controller.ts): добавляет ответы API для получения и создания приветствий

 feat(src/modules/likes/likes.controller.ts): добавляет ответы API для создания лайков и получения совпадений

 feat(src/modules/reports/reports.controller.ts): добавляет ответы API для создания и получения отчетов

 feat(src/modules/feed/feed.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/tags/tags.controller.ts): добавляет ответы API для получения и создания тегов

 feat(src/modules/profiles/profiles.controller.ts): добавляет ответы API для управления профилями пользователей

 feat(src/modules/dates/dates.controller.ts): добавляет ответы API для создания и получения встреч
This commit is contained in:
Oscar
2026-06-08 14:22:50 +03:00
parent bc3e48bcad
commit 102b6b4026
24 changed files with 598 additions and 12 deletions

View File

@@ -0,0 +1,46 @@
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
export class CityDto {
@ApiProperty() id: string;
@ApiProperty() name: string;
@ApiProperty() lat: string;
@ApiProperty() lng: string;
}
export class DistrictDto {
@ApiProperty() id: string;
@ApiProperty() cityId: string;
@ApiProperty() name: string;
}
export class TagDto {
@ApiProperty() id: string;
@ApiProperty() value: string;
}
export class MediaItemDto {
@ApiProperty() id: string;
@ApiProperty() profileId: string;
@ApiProperty() path: string;
@ApiProperty({ enum: ['photo', 'video', 'audio'] }) type: string;
@ApiProperty() sortOrder: number;
}
export class ProfileResponseDto {
@ApiProperty() id: string;
@ApiProperty() userId: string;
@ApiProperty() name: string;
@ApiProperty({ example: '1995-06-15' }) birthDate: string;
@ApiProperty({ enum: ['male', 'female'] }) gender: string;
@ApiPropertyOptional({ nullable: true }) cityId: string | null;
@ApiPropertyOptional({ nullable: true }) districtId: string | null;
@ApiPropertyOptional({ nullable: true }) description: string | null;
@ApiPropertyOptional({ nullable: true }) nation: string | null;
@ApiPropertyOptional({ nullable: true }) height: number | null;
@ApiPropertyOptional({ nullable: true }) weight: number | null;
@ApiPropertyOptional({ nullable: true }) activeChatId: string | null;
@ApiPropertyOptional({ type: CityDto, nullable: true }) city: CityDto | null;
@ApiPropertyOptional({ type: DistrictDto, nullable: true }) district: DistrictDto | null;
@ApiProperty({ type: [TagDto] }) tags: TagDto[];
@ApiProperty({ type: [MediaItemDto] }) media: MediaItemDto[];
}