From e1483e9f90ef506444a75499768ec0d7c27bfdc8 Mon Sep 17 00:00:00 2001 From: "Emma [it/its]@Rory&" Date: Thu, 10 Apr 2025 17:12:53 +0200 Subject: Further admin api work --- .../Spacebar.AdminAPI.TestClient/Pages/Users.razor | 24 ++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'extra/admin-api/Utilities/Spacebar.AdminAPI.TestClient/Pages/Users.razor') diff --git a/extra/admin-api/Utilities/Spacebar.AdminAPI.TestClient/Pages/Users.razor b/extra/admin-api/Utilities/Spacebar.AdminAPI.TestClient/Pages/Users.razor index 13c346617..c0e678678 100644 --- a/extra/admin-api/Utilities/Spacebar.AdminAPI.TestClient/Pages/Users.razor +++ b/extra/admin-api/Utilities/Spacebar.AdminAPI.TestClient/Pages/Users.razor @@ -4,6 +4,7 @@ @using Spacebar.AdminApi.Models @using Spacebar.AdminAPI.TestClient.Services @using ArcaneLibs.Blazor.Components +@using ArcaneLibs.Extensions @inject Config Config @inject ILocalStorageService LocalStorage @@ -24,6 +25,7 @@ } +

Got @UserList.Count users.

@{ var columns = DisplayedColumns.Where(kvp => kvp.Value).Select(kvp => kvp.Key).ToList(); @@ -37,7 +39,7 @@ - @foreach (var user in UserList) { + @foreach (var user in UserList.Where(x => !x.Deleted).OrderByDescending(x=>x.MessageCount)) { @foreach (var column in columns) { @@ -58,15 +60,21 @@ private List UserList { get; set; } = new(); protected override async Task OnInitializedAsync() { - using var hc = new HttpClient(); + var hc = new StreamingHttpClient(); hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Config.AccessToken); - var response = await hc.GetAsync(Config.AdminUrl + "/_spacebar/admin/users/"); - if (!response.IsSuccessStatusCode) throw new Exception(await response.Content.ReadAsStringAsync()); - var content = response.Content.ReadFromJsonAsAsyncEnumerable(); - await foreach (var user in content) { - UserList.Add(user); - StateHasChanged(); + + // var request = new HttpRequestMessage(HttpMethod.Get, Config.AdminUrl + "/_spacebar/admin/users/"); + + var response = hc.GetAsyncEnumerableFromJsonAsync(Config.AdminUrl + "/_spacebar/admin/users/"); + // if (!response.IsSuccessStatusCode) throw new Exception(await response.Content.ReadAsStringAsync()); + // var content = response.Content.ReadFromJsonAsAsyncEnumerable(); + await foreach (var user in response) { + // Console.WriteLine(user.ToJson(indent: false, ignoreNull: true)); + UserList.Add(user!); + if(UserList.Count % 1000 == 0) + StateHasChanged(); } + StateHasChanged(); } } \ No newline at end of file -- cgit 1.5.1
@column.GetValue(user)