refactor permissions

This commit is contained in:
2026-07-20 10:16:45 +03:30
parent c82cc654f0
commit 6b222db890
32 changed files with 765 additions and 172 deletions
+18 -16
View File
@@ -113,21 +113,21 @@ export class UsersController {
}
@ApiOperation({ summary: "Create user group ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_CREATE, PermissionEnum.CUSTOMERS_CREATE)
@Post("user-group")
createUserGroup(@Body() createDto: CreateUserGroupDto) {
return this.usersService.createUserGroup(createDto);
}
@ApiOperation({ summary: "get all user group ==> admin route" })
@PermissionsDec(PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.CUSTOMERS_READ)
@Get("user-group")
UserGroups() {
return this.usersService.getUserGroups();
}
@ApiOperation({ summary: "get all users ==> admin route" })
@PermissionsDec(PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.CUSTOMERS_READ)
@Get()
getUsers() {
return this.usersService.findAllUsers();
@@ -136,12 +136,14 @@ export class UsersController {
@ApiOperation({ summary: "Create customer" })
@HttpCode(HttpStatus.CREATED)
@PermissionsDec(PermissionEnum.CUSTOMERS_CREATE)
@Post("customers")
createCustomer(@Body() createDto: CreateCustomerDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.customersService.createCustomer(createDto, userIpAndHeaders);
}
@ApiOperation({ summary: "Update customer" })
@PermissionsDec(PermissionEnum.CUSTOMERS_UPDATE)
@Patch("customers/:id")
updateCustomer(
@Param() paramDto: ParamDto,
@@ -152,14 +154,14 @@ export class UsersController {
}
@ApiOperation({ summary: "get customers ==> admin route" })
@PermissionsDec(PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.CUSTOMERS_READ)
@Get("customers")
getCustomers(@Query() queryDto: SearchCustomersDto) {
return this.customersService.getCustomers(queryDto);
}
@ApiOperation({ summary: "get customers by id ==> admin route" })
@PermissionsDec(PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.CUSTOMERS_READ)
@Get("customers/:id")
getCustomerById(@Param() paramDto: ParamDto) {
return this.customersService.getCustomerById(paramDto.id);
@@ -169,35 +171,35 @@ export class UsersController {
@ApiOperation({ summary: "get all admins ==> admin route" })
@AdminRoute()
// @PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
// @PermissionsDec(PermissionEnum.ADMINS_READ, PermissionEnum.CUSTOMERS_READ)
@Get("admins")
getAdmins(@Query() queryDto: SearchAdminQueryDto) {
return this.adminsService.getAdmins(queryDto);
}
@ApiOperation({ summary: "get admin by id ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_READ, PermissionEnum.CUSTOMERS_READ)
@Get("admins/:id")
getAdminById(@Param() paramDto: ParamDto) {
return this.adminsService.getAdminById(paramDto.id);
}
@ApiOperation({ summary: "update admin ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_UPDATE, PermissionEnum.CUSTOMERS_UPDATE)
@Patch("admins/:id")
updateAdmin(@Param() paramDto: ParamDto, @Body() updateDto: UpdateAdminDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.adminsService.updateAdmin(paramDto.id, updateDto, userIpAndHeaders);
}
@ApiOperation({ summary: "delete admin ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_DELETE, PermissionEnum.CUSTOMERS_DELETE)
@Delete("admins/:id")
deleteAdmin(@Param() paramDto: ParamDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.adminsService.deleteAdmin(paramDto.id, userIpAndHeaders);
}
@ApiOperation({ summary: "create admin ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_CREATE, PermissionEnum.CUSTOMERS_CREATE)
@Post("admins")
createAdmin(@Body() createDto: CreateAdminDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.adminsService.createAdmin(createDto, userIpAndHeaders);
@@ -210,42 +212,42 @@ export class UsersController {
}
@ApiOperation({ summary: "get all permissions ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_READ, PermissionEnum.CUSTOMERS_READ)
@Get("permissions")
getPermissions() {
return this.adminsService.getPermissions();
}
@ApiOperation({ summary: "get all roles ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_READ, PermissionEnum.CUSTOMERS_READ)
@Get("roles")
getRoles(@Query() queryDto: SearchRolesQueryDto) {
return this.adminsService.getRoles(queryDto);
}
@ApiOperation({ summary: "get role by id ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_READ, PermissionEnum.CUSTOMERS_READ)
@Get("roles/:id")
getRoleById(@Param() paramDto: ParamDto) {
return this.adminsService.getRoleById(paramDto.id);
}
@ApiOperation({ summary: "create role ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_CREATE, PermissionEnum.CUSTOMERS_CREATE)
@Post("roles")
createRole(@Body() createDto: CreateRoleDto) {
return this.adminsService.createRole(createDto);
}
@ApiOperation({ summary: "update role ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_UPDATE, PermissionEnum.CUSTOMERS_UPDATE)
@Patch("roles/:id")
updateRole(@Param() paramDto: ParamDto, @Body() updateDto: UpdateRoleDto) {
return this.adminsService.updateRole(paramDto.id, updateDto);
}
@ApiOperation({ summary: "delete role ==> admin route" })
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
@PermissionsDec(PermissionEnum.ADMINS_DELETE, PermissionEnum.CUSTOMERS_DELETE)
@Delete("roles/:id")
deleteRole(@Param() paramDto: ParamDto) {
return this.adminsService.deleteRole(paramDto.id);