import { Controller, Get, Inject } from '@nestjs/common'; import { ApiOkResponse, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger'; import { HealthService } from './health.service'; import { type HealthReport, HealthResponseDto } from './health.types'; @ApiTags('platform') @Controller('health') export class HealthController { constructor(@Inject(HealthService) private readonly healthService: HealthService) {} @Get() @ApiOperation({ summary: '健康检查', description: '真实检查 PostgreSQL 与 Redis;任一不可用返回 503 与统一错误体。', }) @ApiOkResponse({ type: HealthResponseDto, description: '全部依赖健康' }) @ApiResponse({ status: 503, description: '依赖不可用(错误码 50002),details 内附各依赖检查结果', }) async check(): Promise { return this.healthService.check(); } }