This commit is contained in:
2026-06-28 20:32:52 +03:30
parent 7a5b3f0bea
commit bf35179d55
45 changed files with 1555 additions and 46 deletions
+20 -10
View File
@@ -6,39 +6,49 @@ import {
Param,
ParseUUIDPipe,
Patch,
Post,
UseGuards,
} from '@nestjs/common';
import { PermissionCode } from '../authorization/enums/permission-code.enum';
import { CurrentUser } from '../auth/decorators/current-user.decorator';
import { Permissions } from '../auth/decorators/permissions.decorator';
import { Roles } from '../auth/decorators/roles.decorator';
import { PermissionsGuard } from '../auth/guards/permissions.guard';
import { RolesGuard } from '../auth/guards/roles.guard';
import { AuthUser } from '../auth/interfaces/auth-user.interface';
import { UserRole } from '../users/enums/user-role.enum';
import { CustomersService } from './customers.service';
import { CreateCustomerDto } from './dto/create-customer.dto';
import { UpdateCustomerDto } from './dto/update-customer.dto';
@Controller('customers')
@UseGuards(RolesGuard, PermissionsGuard)
export class CustomersController {
constructor(private readonly customersService: CustomersService) {}
@Post()
create(@Body() createCustomerDto: CreateCustomerDto) {
return this.customersService.create(createCustomerDto);
}
@Roles(UserRole.ADMIN)
@Permissions(PermissionCode.CUSTOMERS_READ)
@Get()
findAll() {
return this.customersService.findAll();
}
@Get(':id')
findOne(@Param('id', ParseUUIDPipe) id: string) {
return this.customersService.findOne(id);
findOne(
@Param('id', ParseUUIDPipe) id: string,
@CurrentUser() user: AuthUser,
) {
return this.customersService.findOne(id, user);
}
@Patch(':id')
update(
@Param('id', ParseUUIDPipe) id: string,
@Body() updateCustomerDto: UpdateCustomerDto,
@CurrentUser() user: AuthUser,
) {
return this.customersService.update(id, updateCustomerDto);
return this.customersService.update(id, updateCustomerDto, user);
}
@Roles(UserRole.ADMIN)
@Delete(':id')
remove(@Param('id', ParseUUIDPipe) id: string) {
return this.customersService.remove(id);