From 4a78bb8074128300aefad0e259c2cc07b416eb19 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Mon, 11 Aug 2025 16:37:41 +0530 Subject: [PATCH] Added updatelogs in update and delete bucket API --- .../Service/DirectoryService.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Marco.Pms.Services/Service/DirectoryService.cs b/Marco.Pms.Services/Service/DirectoryService.cs index c697fd2..bcf19cc 100644 --- a/Marco.Pms.Services/Service/DirectoryService.cs +++ b/Marco.Pms.Services/Service/DirectoryService.cs @@ -1945,6 +1945,8 @@ namespace Marco.Pms.Services.Service return ApiResponse.ErrorResponse("You don't have permission to access this bucket", "You don't have permission to access this bucket", 403); } + var bucketObject = _updateLogsHelper.EntityToBsonDocument(bucket); + // Update bucket properties safely bucket.Name = bucketDto.Name ?? string.Empty; bucket.Description = bucketDto.Description ?? string.Empty; @@ -1970,6 +1972,14 @@ namespace Marco.Pms.Services.Service bucketVM.EmployeeIds = employeeBuckets.Where(eb => eb.BucketId == bucket.Id).Select(eb => eb.EmployeeId).ToList(); bucketVM.NumberOfContacts = contactBuckets.Count; + await _updateLogsHelper.PushToUpdateLogsAsync(new UpdateLogsObject + { + EntityId = bucket.Id.ToString(), + UpdatedById = loggedInEmployee.Id.ToString(), + OldObject = bucketObject, + UpdatedAt = DateTime.UtcNow + }, bucketCollection); + _logger.LogInfo("Employee ID {LoggedInEmployeeId} successfully updated bucket ID {BucketId}.", loggedInEmployee.Id, bucket.Id); return ApiResponse.SuccessResponse(bucketVM, "Bucket updated successfully", 200); @@ -2216,6 +2226,8 @@ namespace Marco.Pms.Services.Service "Permission denied", 403); } + var bucketObject = _updateLogsHelper.EntityToBsonDocument(bucket); + // Remove related employee bucket mappings _context.EmployeeBucketMappings.RemoveRange(employeeBucketMappings); // Remove the bucket itself @@ -2233,6 +2245,14 @@ namespace Marco.Pms.Services.Service _logger.LogInfo("Employee {EmployeeId} deleted bucket {BucketId} along with related employee bucket mappings.", loggedInEmployee.Id, bucket.Id); + await _updateLogsHelper.PushToUpdateLogsAsync(new UpdateLogsObject + { + EntityId = bucket.Id.ToString(), + UpdatedById = loggedInEmployee.Id.ToString(), + OldObject = bucketObject, + UpdatedAt = DateTime.UtcNow + }, bucketCollection); + return ApiResponse.SuccessResponse(new { }, "Bucket deleted successfully", 200); } catch (Exception ex)