diff --git a/src/BuildingBlocks/StackSdks/Auth/Masa.BuildingBlocks.StackSdks.Auth/Service/IUserService.cs b/src/BuildingBlocks/StackSdks/Auth/Masa.BuildingBlocks.StackSdks.Auth/Service/IUserService.cs index 2c4e6a871..d0983c65f 100644 --- a/src/BuildingBlocks/StackSdks/Auth/Masa.BuildingBlocks.StackSdks.Auth/Service/IUserService.cs +++ b/src/BuildingBlocks/StackSdks/Auth/Masa.BuildingBlocks.StackSdks.Auth/Service/IUserService.cs @@ -71,7 +71,7 @@ public interface IUserService Task GetSystemDataAsync(Guid userId, string systemId); - Task> GetSystemListDataAsync(IEnumerable userIds, string systemId); + Task> GetSystemListDataAsync(IEnumerable userIds, string systemId); Task DisableAsync(DisableUserModel user); diff --git a/src/Contrib/StackSdks/Masa.Contrib.StackSdks.Auth/Service/UserService.cs b/src/Contrib/StackSdks/Masa.Contrib.StackSdks.Auth/Service/UserService.cs index 6fb808543..84365b280 100644 --- a/src/Contrib/StackSdks/Masa.Contrib.StackSdks.Auth/Service/UserService.cs +++ b/src/Contrib/StackSdks/Masa.Contrib.StackSdks.Auth/Service/UserService.cs @@ -216,11 +216,11 @@ public async Task UpsertSystemDataAsync(string systemId, T data) return dataList.FirstOrDefault().Value ?? default; } - public async Task> GetSystemListDataAsync(IEnumerable userIds, string systemId) + public async Task> GetSystemListDataAsync(IEnumerable userIds, string systemId) { var requestUri = $"api/user/systemData/byIds"; - var data = await _caller.PostAsync>(requestUri, new GetSystemDataModel { UserIds = userIds.ToList(), SystemId = systemId }) ?? new(); - return data; + var data = await _caller.PostAsync>(requestUri, new GetSystemDataModel { UserIds = userIds.ToList(), SystemId = systemId }) ?? new(); + return data.ToDictionary(d => d.Key, d => typeof(T) == typeof(string) ? (T)(object)d.Value : JsonSerializer.Deserialize(d.Value)); } public async Task DisableAsync(DisableUserModel user) diff --git a/src/Contrib/StackSdks/Tests/Masa.Contrib.StackSdks.Auth.Tests/UserServiceTest.cs b/src/Contrib/StackSdks/Tests/Masa.Contrib.StackSdks.Auth.Tests/UserServiceTest.cs index d5c8fda5f..26654657e 100644 --- a/src/Contrib/StackSdks/Tests/Masa.Contrib.StackSdks.Auth.Tests/UserServiceTest.cs +++ b/src/Contrib/StackSdks/Tests/Masa.Contrib.StackSdks.Auth.Tests/UserServiceTest.cs @@ -485,8 +485,8 @@ public async Task TestIntGetUserSystemDataAsync(string systemId) var data = 1; var requestUri = $"api/user/systemData/byIds"; var caller = new Mock(); - caller.Setup(provider => provider.PostAsync>(requestUri, It.IsAny(), default)) - .ReturnsAsync(new Dictionary() { { userId, data } }).Verifiable(); + caller.Setup(provider => provider.PostAsync>(requestUri, It.IsAny(), default)) + .ReturnsAsync(new Dictionary() { { userId, data.ToString() } }).Verifiable(); var userContext = new Mock(); userContext.Setup(user => user.GetUserId()).Returns(userId).Verifiable(); var userService = GetUserService(caller, userContext); @@ -506,8 +506,8 @@ public async Task TestObjectGetUserSystemDataAsync(string systemId) }; var requestUri = $"api/user/systemData/byIds"; var caller = new Mock(); - caller.Setup(provider => provider.PostAsync>(requestUri, It.IsAny(), default)) - .ReturnsAsync(new Dictionary() { { userId, data } }).Verifiable(); + caller.Setup(provider => provider.PostAsync>(requestUri, It.IsAny(), default)) + .ReturnsAsync(new Dictionary() { { userId, JsonSerializer.Serialize(data) } }).Verifiable(); var userContext = new Mock(); userContext.Setup(user => user.GetUserId()).Returns(userId).Verifiable(); var userService = GetUserService(caller, userContext); @@ -515,26 +515,6 @@ public async Task TestObjectGetUserSystemDataAsync(string systemId) Assert.IsTrue(result is not null); } - [TestMethod] - [DataRow("masa-auth")] - public async Task TestGetUserSystemDataAsync(string systemId) - { - var userIds = new List { Guid.NewGuid() }; - var data = new SystemData - { - Name = "name", - Value = "value" - }; - var requestUri = $"api/user/systemData/byIds"; - var caller = new Mock(); - caller.Setup(provider => provider.GetAsync(requestUri, new { userIds = string.Join(',', userIds), systemId }, default)) - .ReturnsAsync(JsonSerializer.Serialize(data)).Verifiable(); - var userContext = new Mock(); - var userService = GetUserService(caller, userContext); - var result = await userService.GetSystemListDataAsync(userIds, systemId); - Assert.IsTrue(result is not null); - } - [TestMethod] [DataRow("masa-auth")] public async Task TestIntUpsertSystemDataAsync(string systemId)