feat: implement user-scoped receipt aliases with global fallback; enhance alias management in admin panel
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / test (24.15.0) (push) Has been cancelled
This commit is contained in:
@@ -1,25 +1,30 @@
|
||||
import { Body, Controller, Delete, Get, Param, ParseIntPipe, Post } from '@nestjs/common';
|
||||
import { ReceiptAliasService } from './receipt-alias.service';
|
||||
import { CreateReceiptAliasDto } from './dto/create-receipt-alias.dto';
|
||||
import { Roles } from '../auth/decorators/roles.decorator';
|
||||
import { CurrentUser } from '../auth/decorators/current-user.decorator';
|
||||
|
||||
@Roles('admin')
|
||||
@Controller('receipt-aliases')
|
||||
export class ReceiptAliasController {
|
||||
constructor(private readonly receiptAliasService: ReceiptAliasService) {}
|
||||
|
||||
@Get()
|
||||
findAll() {
|
||||
return this.receiptAliasService.findAll();
|
||||
findAll(@CurrentUser() user: { userId: number; role: string }) {
|
||||
return this.receiptAliasService.findAllForUser(user.userId, user.role);
|
||||
}
|
||||
|
||||
@Post()
|
||||
upsert(@Body() dto: CreateReceiptAliasDto) {
|
||||
return this.receiptAliasService.upsert(dto);
|
||||
upsert(
|
||||
@Body() dto: CreateReceiptAliasDto,
|
||||
@CurrentUser() user: { userId: number; role: string },
|
||||
) {
|
||||
return this.receiptAliasService.upsert(dto, user.userId, user.role);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
remove(@Param('id', ParseIntPipe) id: number) {
|
||||
return this.receiptAliasService.remove(id);
|
||||
remove(
|
||||
@Param('id', ParseIntPipe) id: number,
|
||||
@CurrentUser() user: { userId: number; role: string },
|
||||
) {
|
||||
return this.receiptAliasService.remove(id, user.userId, user.role);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user