import { Controller, Get, Post, Param, UseGuards, Request } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiBearerAuth } from '@nestjs/swagger'; import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard'; import { FiscalPeriodsService } from './fiscal-periods.service'; @ApiTags('fiscal-periods') @Controller('fiscal-periods') @ApiBearerAuth() @UseGuards(JwtAuthGuard) export class FiscalPeriodsController { constructor(private fpService: FiscalPeriodsService) {} @Get() @ApiOperation({ summary: 'List all fiscal periods' }) findAll() { return this.fpService.findAll(); } @Post(':id/close') @ApiOperation({ summary: 'Close a fiscal period' }) close(@Param('id') id: string, @Request() req: any) { return this.fpService.close(id, req.user.sub); } @Post(':id/lock') @ApiOperation({ summary: 'Lock a fiscal period (audit lock)' }) lock(@Param('id') id: string, @Request() req: any) { return this.fpService.lock(id, req.user.sub); } }