import { Controller, Get, Put, Param, Body, Query } from '@nestjs/common'; import { RequirePermissions } from '../auth/permissions.decorator'; import { Permission } from '../auth/permissions.enum'; import { ZahlungService, type ZahlungFilter } from './zahlung.service'; @Controller('api/zahlung') @RequirePermissions(Permission.VIEW_ZAHLUNG) export class ZahlungController { constructor(private readonly zahlungService: ZahlungService) {} @Get('documents') getDocuments( @Query('page') page = '1', @Query('pageSize') pageSize = '25', @Query('filter') filter: ZahlungFilter = 'ausstehend', ) { return this.zahlungService.getZahlungDocuments( parseInt(page, 10), Math.min(parseInt(pageSize, 10), 100), filter, ); } @Put('documents/:id/zahlung') setZahlung( @Param('id') id: string, @Body('value') value: string | null, ) { return this.zahlungService.setZahlung(parseInt(id, 10), value ?? null); } @Get('options') getOptions() { return this.zahlungService.getZahlungOptions(); } }