import { Controller, Get } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { Public } from './common/decorators/public.decorator';

@ApiTags('health')
@Controller('health')
export class HealthController {
  @Public()
  @Get()
  health() {
    return { status: 'ok', timestamp: new Date().toISOString() };
  }

  /**
   * Sentry 验收端点 —— 仅当 PAC_SENTRY_DEBUG=1 时抛未捕获错误(→ 500 → Sentry captureException)。
   * 默认关闭(返回提示 JSON),避免公网留一个裸 500 端点被滥用;验收后把 flag 关掉即可。
   */
  @Public()
  @Get('sentry-test')
  sentryTest() {
    if (process.env.PAC_SENTRY_DEBUG !== '1') {
      return { enabled: false, hint: '设 PAC_SENTRY_DEBUG=1 后本端点会抛未捕获错误,用于验证 Sentry' };
    }
    throw new Error('PAC 后端真实错误验收 · Sentry 冒烟(可忽略/删除)');
  }
}
