هذا الالتزام موجود في:
2026-04-20 15:12:16 +03:00
التزام 28f7241bcd
172 ملفات معدلة مع 21907 إضافات و0 حذوفات

عرض الملف

@@ -0,0 +1,25 @@
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsEnum, IsOptional, IsString, IsUrl, Length } from 'class-validator';
import { PostVisibility } from '../../../common/enums/post-visibility.enum';
export class CreatePostDto {
@ApiProperty({ maxLength: 2200, description: 'Post description/content' })
@IsString()
@Length(1, 2200)
content!: string;
@ApiPropertyOptional({ description: 'Single video URL (optional)' })
@IsOptional()
@IsUrl({ require_tld: false })
videoUrl?: string;
@ApiPropertyOptional({ description: 'Single audio URL (optional)' })
@IsOptional()
@IsUrl({ require_tld: false })
audioUrl?: string;
@ApiPropertyOptional({ enum: PostVisibility, default: PostVisibility.PUBLIC })
@IsOptional()
@IsEnum(PostVisibility)
visibility?: PostVisibility;
}

عرض الملف

@@ -0,0 +1,11 @@
import { ApiPropertyOptional } from '@nestjs/swagger';
import { IsEnum, IsOptional } from 'class-validator';
import { PaginationQueryDto } from '../../../common/dto/pagination-query.dto';
import { PostVisibility } from '../../../common/enums/post-visibility.enum';
export class PostQueryDto extends PaginationQueryDto {
@ApiPropertyOptional({ enum: PostVisibility })
@IsOptional()
@IsEnum(PostVisibility)
visibility?: PostVisibility;
}

عرض الملف

@@ -0,0 +1,26 @@
import { ApiPropertyOptional } from '@nestjs/swagger';
import { IsEnum, IsOptional, IsString, IsUrl, Length } from 'class-validator';
import { PostVisibility } from '../../../common/enums/post-visibility.enum';
export class UpdatePostDto {
@ApiPropertyOptional({ maxLength: 2200 })
@IsOptional()
@IsString()
@Length(1, 2200)
content?: string;
@ApiPropertyOptional({ description: 'Set video URL. If provided, audioUrl will be cleared.' })
@IsOptional()
@IsUrl({ require_tld: false })
videoUrl?: string;
@ApiPropertyOptional({ description: 'Set audio URL. If provided, videoUrl will be cleared.' })
@IsOptional()
@IsUrl({ require_tld: false })
audioUrl?: string;
@ApiPropertyOptional({ enum: PostVisibility })
@IsOptional()
@IsEnum(PostVisibility)
visibility?: PostVisibility;
}