import { Controller, Get, UseGuards, Version } from '@nestjs/common';
import { ApiOperation, ApiResponse } from '@nestjs/swagger';
import { AppService } from './app.service';
import { JwtAuthGuard } from 'common/guards/jwt-auth.guard';
import { PermissionsGuard } from 'common/guards/ppermissions.guard';
import { Permissions } from 'common/decorators/permissions.decorator';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  @Version(null)
  @ApiOperation({ summary: 'DFUK API' })
  @ApiResponse({ status: 200, description: 'Returns full API status' })
  async getRoot() {
    return await this.appService.getSystemStatus();
  }

  // @Get('health')
  // @Version('1')
  // @UseGuards(JwtAuthGuard, PermissionsGuard)
  // @Permissions('SYSTEM_HEALTH')
  // @ApiOperation({ summary: 'Health check endpoint' })
  // @ApiResponse({ status: 200, description: 'Returns system health status' })
  // async getHealth() {
  //   return {
  //     status: 'ok',
  //     timestamp: new Date().toISOString(),
  //     version: process.env.npm_package_version || 'unknown',
  //   };
  // }
}
