diff --git a/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj b/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
index f8269e4..a06c1ac 100644
--- a/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
+++ b/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
@@ -3,7 +3,7 @@
net9.0
enable
enable
- 0.0.182
+ 0.0.183
None
False
False
diff --git a/src/CMSMicroservice.Protobuf/Protos/userwallet.proto b/src/CMSMicroservice.Protobuf/Protos/userwallet.proto
index d44af1e..bd7ff2c 100644
--- a/src/CMSMicroservice.Protobuf/Protos/userwallet.proto
+++ b/src/CMSMicroservice.Protobuf/Protos/userwallet.proto
@@ -154,6 +154,7 @@ message GetAllUserWalletByFilterResponseModel
int64 user_id = 2;
int64 balance = 3;
int64 network_balance = 4;
+ string user_name = 5;
}
// ============= Customer-specific Messages =============
diff --git a/src/CMSMicroservice.WebApi/Services/UserWalletService.cs b/src/CMSMicroservice.WebApi/Services/UserWalletService.cs
index e94ed79..f4760cc 100644
--- a/src/CMSMicroservice.WebApi/Services/UserWalletService.cs
+++ b/src/CMSMicroservice.WebApi/Services/UserWalletService.cs
@@ -55,7 +55,28 @@ public class UserWalletService : UserWalletContract.UserWalletContractBase
}
public override async Task GetAllUserWalletByFilter(GetAllUserWalletByFilterRequest request, ServerCallContext context)
{
- return await _dispatchRequestToCQRS.Handle(request, context);
+ var response = await _dispatchRequestToCQRS.Handle(request, context);
+
+ // Enrich response with user names
+ if (response?.Models != null && response.Models.Any())
+ {
+ var userIds = response.Models.Select(m => m.UserId).Distinct().ToList();
+ var users = await _context.Users
+ .AsNoTracking()
+ .Where(u => userIds.Contains(u.Id))
+ .Select(u => new { u.Id, u.FirstName, u.LastName })
+ .ToDictionaryAsync(u => u.Id, context.CancellationToken);
+
+ foreach (var model in response.Models)
+ {
+ if (users.TryGetValue(model.UserId, out var user))
+ {
+ model.UserName = $"{user.FirstName} {user.LastName}".Trim();
+ }
+ }
+ }
+
+ return response;
}
// ============= Customer-specific Methods =============