import { Controller, Get, HttpStatus } from '@nestjs/common';
import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger';
import { PrePlantingAdminClient } from '../../infrastructure/external/pre-planting-admin.client';

/**
 * [2026-02-28] 预种计划公开 API（无需 JWT）
 *
 * 供 mobile-app 在未登录或登录前获取预种计划配置信息（开关状态 + 协议文本）。
 * 与 PrePlantingController（需 JWT）分离，避免在类级 @UseGuards 中打洞。
 */
@ApiTags('预种计划-公开')
@Controller('pre-planting')
export class PrePlantingPublicController {
  constructor(
    private readonly adminClient: PrePlantingAdminClient,
  ) {}

  @Get('config')
  @ApiOperation({ summary: '获取预种计划配置（公开，含协议文本）' })
  @ApiResponse({ status: HttpStatus.OK, description: '配置信息' })
  async getConfig() {
    return this.adminClient.getPrePlantingConfig();
  }
}
