feat(api): add OpenAPI/Swagger documentation for all API endpoints
Install @nestjs/swagger, configure Swagger UI at /api/docs with JWT bearer auth, and add ApiTags/ApiOperation/ApiResponse/ApiProperty decorators to all 8 controllers (50+ endpoints) and 31 DTOs across auth, listings, search, payments, subscriptions, admin, notifications, and analytics modules. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -1,17 +1,22 @@
|
||||
import { IsArray, IsEnum, IsString } from 'class-validator';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { Transform } from 'class-transformer';
|
||||
import { PropertyType } from '@prisma/client';
|
||||
|
||||
export class GetPriceTrendDto {
|
||||
@ApiProperty({ description: 'District name' })
|
||||
@IsString()
|
||||
district!: string;
|
||||
|
||||
@ApiProperty({ description: 'City name' })
|
||||
@IsString()
|
||||
city!: string;
|
||||
|
||||
@ApiProperty({ enum: PropertyType, description: 'Property type' })
|
||||
@IsEnum(PropertyType)
|
||||
propertyType!: PropertyType;
|
||||
|
||||
@ApiProperty({ description: 'Comma-separated list of periods', type: [String] })
|
||||
@IsArray()
|
||||
@IsString({ each: true })
|
||||
@Transform(({ value }) => (typeof value === 'string' ? value.split(',') : value))
|
||||
|
||||
Reference in New Issue
Block a user