first commit

This commit is contained in:
lendry
2026-06-24 14:37:15 +03:00
commit 995adeedd4
188 changed files with 28810 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
import { IsArray, IsBoolean, IsIn, IsOptional, IsString, MinLength } from 'class-validator';
export class CreateChatRoomDto {
@IsString()
@MinLength(1)
name!: string;
@IsOptional()
@IsArray()
@IsString({ each: true })
memberUserIds?: string[];
}
export class UpdateChatRoomDto {
@IsOptional()
@IsString()
@MinLength(1)
name?: string;
@IsOptional()
@IsBoolean()
notificationsMuted?: boolean;
}
export class SendChatMessageDto {
@IsString()
@IsIn(['TEXT', 'IMAGE', 'AUDIO', 'VOICE', 'FILE', 'EMOJI', 'POLL'])
type!: string;
@IsOptional()
@IsString()
content?: string;
@IsOptional()
@IsString()
replyToId?: string;
@IsOptional()
@IsString()
storageKey?: string;
@IsOptional()
@IsString()
mimeType?: string;
@IsOptional()
@IsString()
metadataJson?: string;
@IsOptional()
poll?: {
question: string;
options: string[];
allowsMultiple?: boolean;
isAnonymous?: boolean;
};
}
export class VotePollDto {
@IsArray()
@IsString({ each: true })
optionIds!: string[];
}
export class SetRoomNotificationsMutedDto {
@IsBoolean()
muted!: boolean;
}