first commit

This commit is contained in:
Bastian Wagner
2026-07-31 21:02:47 +02:00
commit 6bea4f766a
512 changed files with 64459 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
import {
Body,
Controller,
HttpCode,
HttpStatus,
Param,
Post,
Req,
UseGuards,
} from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { Roles } from 'src/roles/roles.decorator';
import { RoleEnum } from 'src/roles/roles.enum';
import { RolesGuard } from 'src/roles/roles.guard';
import { CreateTransactionDto } from './dto/create-transaction.dto';
import { TransactionsService } from './transactions.service';
@ApiTags('Transactions')
@ApiBearerAuth()
@UseGuards(AuthGuard('jwt'), RolesGuard)
@Controller({
path: 'transactions',
version: '1',
})
export class TransactionsController {
constructor(private transactionsService: TransactionsService) {}
@Roles([RoleEnum.admin, RoleEnum.user])
@Post()
@HttpCode(HttpStatus.CREATED)
create(@Req() req, @Body() createTransactionDtos: CreateTransactionDto[]) {
const userId = req.user?.id;
return this.transactionsService.createTransactions(
createTransactionDtos,
userId,
);
}
@ApiOperation({
summary: 'Buchung stornieren',
description:
'Erstellt eine Ausgleichsbuchung, die eine fehlerhafte Buchung rückgängig macht. Die Originalbuchung bleibt zur Nachvollziehbarkeit erhalten.',
})
@Roles([RoleEnum.admin, RoleEnum.user])
@Post(':id/reverse')
@HttpCode(HttpStatus.CREATED)
reverse(@Req() req, @Param('id') id: string) {
const userId = req.user?.id;
return this.transactionsService.reverse(Number(id), userId);
}
}