✨ feat(database-schema): добавляет ссылку на активный чат в схему профиля пользователя
✨ feat(likes.service): обновляет логику создания лайков с учетом активного чата ✨ feat(likes.module): импортирует модуль Gateways для работы с чатами ✨ feat(feed.service): добавляет условие для фильтрации профилей без активного чата ✨ feat(storage.service): устанавливает политику доступа к бакету S3 для получения объектов ✨ feat(likes-response.dto): добавляет поле чата в ответ на лайк ✨ feat(media.controller): добавляет описание для загрузки медиафайлов ✨ feat(chat.service): добавляет возможность закрытия чата с отчетом или сообщением ✨ feat(chat.controller): обновляет метод закрытия чата для обработки отчетов ✨ feat(app.module): добавляет модуль Dev для разработки в не продакшн среде
This commit is contained in:
31
src/modules/chat/dto/close-chat.dto.ts
Normal file
31
src/modules/chat/dto/close-chat.dto.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsEnum, IsOptional, IsString, MaxLength } from 'class-validator';
|
||||
|
||||
export enum CloseChatType {
|
||||
Cancel = 'cancel',
|
||||
Report = 'report',
|
||||
}
|
||||
|
||||
export class CloseChatDto {
|
||||
@ApiProperty({ enum: CloseChatType, description: 'cancel — отменить матч, report — пожаловаться' })
|
||||
@IsEnum(CloseChatType)
|
||||
type: CloseChatType;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Сообщение собеседнику при отмене матча' })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
@MaxLength(500)
|
||||
cancelMessage?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Причина жалобы (preset)' })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
@MaxLength(200)
|
||||
reportReason?: string;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Дополнительное описание жалобы' })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
@MaxLength(500)
|
||||
reportDescription?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user