From 81fa0ca2b9e05b2ecd6c117722a1602a513fe6ab Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Tue, 18 Nov 2025 11:04:44 +0330 Subject: [PATCH] Refactor RoleService to implement soft delete functionality for roles by updating the deletedAt timestamp instead of hard deletion; streamline role filtering logic for improved readability. --- src/modules/admin/providers/role.service.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/modules/admin/providers/role.service.ts b/src/modules/admin/providers/role.service.ts index 9577b3c..d205f7b 100644 --- a/src/modules/admin/providers/role.service.ts +++ b/src/modules/admin/providers/role.service.ts @@ -73,9 +73,7 @@ export class RoleService { let filtered = roles; if (name) { filtered = roles.filter( - r => - r.name.toLowerCase().includes(name.toLowerCase()) || - r.title.toLowerCase().includes(name.toLowerCase()), + r => r.name.toLowerCase().includes(name.toLowerCase()) || r.title.toLowerCase().includes(name.toLowerCase()), ); } @@ -130,9 +128,7 @@ export class RoleService { throw new NotFoundException('Role not found'); } - // Soft delete by removing from database or mark as deleted - // For now, we'll do a hard delete since Role entity doesn't have deletedAt - await this.em.removeAndFlush(role); + await this.roleRepository.update({ id }, { deletedAt: new Date() }); return { message: 'Role deleted successfully' }; } }