feat(users): add API documentation properties to CreateUserDto using Swagger decorators

This commit is contained in:
Mathis HERRIOT 2025-05-16 19:10:20 +02:00
parent b61f297497
commit ba8d78442c
No known key found for this signature in database
GPG Key ID: E7EB4A211D8D4907

View File

@ -1,21 +1,40 @@
import { IsString, IsNotEmpty, IsOptional, IsObject } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
/**
* DTO for creating a new user
*/
export class CreateUserDto {
@ApiProperty({
description: 'The name of the user',
example: 'John Doe'
})
@IsString()
@IsNotEmpty()
name: string;
@ApiProperty({
description: 'The avatar URL of the user',
example: 'https://example.com/avatar.png',
required: false
})
@IsString()
@IsOptional()
avatar?: string;
@ApiProperty({
description: 'The GitHub ID of the user',
example: 'github123456'
})
@IsString()
@IsNotEmpty()
githubId: string;
@ApiProperty({
description: 'Additional metadata for the user',
example: { email: 'john.doe@example.com' },
required: false
})
@IsObject()
@IsOptional()
metadata?: Record<string, any>;