mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-05-16 12:29:01 -04:00
Refactoring (#1037)
This commit is contained in:
committed by
Leendert de Borst
parent
cca687b61f
commit
7844f411ef
@@ -37,7 +37,7 @@
|
||||
</SortableTable>
|
||||
</div>
|
||||
}
|
||||
else if (Data != null && !Data.Any())
|
||||
else if (Data != null)
|
||||
{
|
||||
<div class="text-center text-gray-500 dark:text-gray-400">
|
||||
<svg class="mx-auto h-12 w-12 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@using AliasVault.Admin.Main.Models
|
||||
@using AliasVault.Admin.Services
|
||||
@using AliasVault.RazorComponents.Tables
|
||||
|
||||
<div class="p-4 bg-white border border-gray-200 rounded-lg shadow-sm dark:border-gray-700 sm:p-6 dark:bg-gray-800">
|
||||
@@ -31,13 +32,13 @@
|
||||
}
|
||||
</SortableTableColumn>
|
||||
<SortableTableColumn>@user.EmailCount72h.ToString("N0")</SortableTableColumn>
|
||||
<SortableTableColumn>@GetAccountAge(user.RegistrationDate)</SortableTableColumn>
|
||||
<SortableTableColumn>@StatisticsService.GetAccountAge(user.RegistrationDate)</SortableTableColumn>
|
||||
</SortableTableRow>
|
||||
}
|
||||
</SortableTable>
|
||||
</div>
|
||||
}
|
||||
else if (Data != null && !Data.Any())
|
||||
else if (Data != null)
|
||||
{
|
||||
<div class="text-center text-gray-500 dark:text-gray-400">
|
||||
<svg class="mx-auto h-12 w-12 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
@@ -77,26 +78,4 @@
|
||||
CurrentPage = page;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private string GetAccountAge(DateTime registrationDate)
|
||||
{
|
||||
var days = (DateTime.UtcNow - registrationDate).Days;
|
||||
|
||||
if (days == 0)
|
||||
return "Today";
|
||||
else if (days == 1)
|
||||
return "1 day";
|
||||
else if (days < 30)
|
||||
return $"{days} days";
|
||||
else if (days < 365)
|
||||
{
|
||||
var months = days / 30;
|
||||
return months == 1 ? "1 month" : $"{months} months";
|
||||
}
|
||||
else
|
||||
{
|
||||
var years = days / 365;
|
||||
return years == 1 ? "1 year" : $"{years} years";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
</SortableTable>
|
||||
</div>
|
||||
}
|
||||
else if (Data != null && !Data.Any())
|
||||
else if (Data != null)
|
||||
{
|
||||
<div class="text-center text-gray-500 dark:text-gray-400">
|
||||
<svg class="mx-auto h-12 w-12 text-gray-300 dark:text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
|
||||
@@ -17,6 +17,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
/// </summary>
|
||||
public class StatisticsService
|
||||
{
|
||||
private const string UnknownUsername = "Unknown";
|
||||
private readonly IAliasServerDbContextFactory _contextFactory;
|
||||
|
||||
/// <summary>
|
||||
@@ -149,10 +150,10 @@ public class StatisticsService
|
||||
.Where(v => v.UserId == userId && v.CreatedAt >= cutoffDate)
|
||||
.ToListAsync();
|
||||
|
||||
if (recentVaultVersions.Any())
|
||||
if (recentVaultVersions.Count > 0)
|
||||
{
|
||||
var latestRecentVault = recentVaultVersions.OrderByDescending(v => v.Version).First();
|
||||
var earliestRecentVault = recentVaultVersions.OrderBy(v => v.Version).FirstOrDefault();
|
||||
var earliestRecentVault = recentVaultVersions.OrderBy(v => v.Version).First();
|
||||
|
||||
if (earliestRecentVault != null)
|
||||
{
|
||||
@@ -280,7 +281,7 @@ public class StatisticsService
|
||||
return topUsers.Select(u => new TopUserByStorage
|
||||
{
|
||||
UserId = u.UserId,
|
||||
Username = u.Username ?? "Unknown",
|
||||
Username = u.Username ?? UnknownUsername,
|
||||
StorageBytes = u.TotalStorageBytes,
|
||||
StorageDisplaySize = FormatKilobytes(u.TotalStorageBytes),
|
||||
}).ToList();
|
||||
@@ -309,7 +310,7 @@ public class StatisticsService
|
||||
return topUsers.Select(u => new TopUserByAliases
|
||||
{
|
||||
UserId = u.UserId!,
|
||||
Username = u.Username ?? "Unknown",
|
||||
Username = u.Username ?? UnknownUsername,
|
||||
AliasCount = u.AliasCount,
|
||||
}).ToList();
|
||||
}
|
||||
@@ -373,7 +374,7 @@ public class StatisticsService
|
||||
return topUsers.Select(u => new RecentUsageAliases
|
||||
{
|
||||
UserId = u.UserId!,
|
||||
Username = u.Username ?? "Unknown",
|
||||
Username = u.Username ?? UnknownUsername,
|
||||
AliasCount72h = u.AliasCount72h,
|
||||
IsDisabled = u.IsDisabled,
|
||||
RegistrationDate = u.RegistrationDate,
|
||||
@@ -407,7 +408,7 @@ public class StatisticsService
|
||||
return topUsers.Select(u => new RecentUsageEmails
|
||||
{
|
||||
UserId = u.UserId!,
|
||||
Username = u.Username ?? "Unknown",
|
||||
Username = u.Username ?? UnknownUsername,
|
||||
EmailCount72h = u.EmailCount72h,
|
||||
IsDisabled = u.IsDisabled,
|
||||
RegistrationDate = u.RegistrationDate,
|
||||
|
||||
Reference in New Issue
Block a user