import { Controller, Get } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { ApiOperation, ApiTags } from '@nestjs/swagger';

/**
 * Metadatos de versión para el control de actualizaciones del APK (Novasis Cobros).
 * Público (sin auth): la app lo consulta al abrir, incluso bloqueada por versión.
 */
@ApiTags('Mobile · Sistema')
@Controller({ path: 'mobile/sistema', version: '1' })
export class MobileSistemaController {
  constructor(private readonly config: ConfigService) {}

  @Get('version')
  @ApiOperation({ summary: 'Versión soportada del APK + URL de descarga' })
  version() {
    return {
      latest: this.config.get<string>('MOBILE_LATEST') ?? '1.0.0',
      minimo_soportado: this.config.get<string>('MOBILE_MIN_SUPPORTED') ?? '1.0.0',
      apk_url: this.config.get<string>('MOBILE_APK_URL') ?? '',
      changelog: this.config.get<string>('MOBILE_CHANGELOG') ?? '',
    };
  }
}
