diff --git a/src/AliasVault.Admin/Main/Pages/Logging/General.razor b/src/AliasVault.Admin/Main/Pages/Logging/General.razor
index 49bae0a6f..acdf184c8 100644
--- a/src/AliasVault.Admin/Main/Pages/Logging/General.razor
+++ b/src/AliasVault.Admin/Main/Pages/Logging/General.razor
@@ -153,24 +153,8 @@ else
await using var dbContext = await DbContextFactory.CreateDbContextAsync();
var query = dbContext.Logs.AsQueryable();
- if (!string.IsNullOrEmpty(SearchTerm))
- {
- // Reset page number back to 1 if the search term has changed.
- if (SearchTerm != _lastSearchTerm)
- {
- CurrentPage = 1;
- }
- _lastSearchTerm = SearchTerm;
-
- query = query.Where(x => EF.Functions.Like(x.Application.ToLower(), "%" + SearchTerm.ToLower() + "%") ||
- EF.Functions.Like(x.Message.ToLower(), "%" + SearchTerm.ToLower() + "%") ||
- EF.Functions.Like(x.Level.ToLower(), "%" + SearchTerm.ToLower() + "%"));
- }
-
- if (!string.IsNullOrEmpty(SelectedServiceName))
- {
- query = query.Where(x => x.Application == SelectedServiceName);
- }
+ query = ApplySearchTermFilter(query);
+ query = ApplyServiceNameFilter(query);
// Apply sort.
switch (SortColumn)
@@ -212,6 +196,44 @@ else
StateHasChanged();
}
+ ///
+ /// Applies a search term filter to the query.
+ ///
+ /// The query to apply the filter to.
+ private IQueryable ApplySearchTermFilter(IQueryable query)
+ {
+ if (!string.IsNullOrEmpty(SearchTerm))
+ {
+ // Reset page number back to 1 if the search term has changed.
+ if (SearchTerm != _lastSearchTerm)
+ {
+ CurrentPage = 1;
+ }
+ _lastSearchTerm = SearchTerm;
+
+ query = query.Where(x => EF.Functions.Like(x.Application.ToLower(), "%" + SearchTerm.ToLower() + "%") ||
+ EF.Functions.Like(x.Message.ToLower(), "%" + SearchTerm.ToLower() + "%") ||
+ EF.Functions.Like(x.Level.ToLower(), "%" + SearchTerm.ToLower() + "%") ||
+ EF.Functions.Like(x.SourceContext.ToLower(), "%" + SearchTerm.ToLower() + "%"));
+ }
+
+ return query;
+ }
+
+ ///
+ /// Applies a service name filter to the query.
+ ///
+ /// The query to apply the filter to.
+ private IQueryable ApplyServiceNameFilter(IQueryable query)
+ {
+ if (!string.IsNullOrEmpty(SelectedServiceName))
+ {
+ query = query.Where(x => x.Application == SelectedServiceName);
+ }
+
+ return query;
+ }
+
private async Task DeleteLogsWithConfirmation()
{
if (await ConfirmModalService.ShowConfirmation("Confirm Delete", "Are you sure you want to delete all logs? This action cannot be undone."))
diff --git a/src/AliasVault.Admin/Main/Pages/Users/Users.razor b/src/AliasVault.Admin/Main/Pages/Users/Users.razor
index 32bafc874..e8672d318 100644
--- a/src/AliasVault.Admin/Main/Pages/Users/Users.razor
+++ b/src/AliasVault.Admin/Main/Pages/Users/Users.razor
@@ -82,12 +82,6 @@ else
///
private string _lastSearchTerm = string.Empty;
- ///
- /// The page number before the search term was changed.
- /// This is used to reset the page number back to the previous page when the search term is removed.
- ///
- private int _currentPageBeforeSearch = 1;
-
private string SearchTerm
{
get => _searchTerm;
@@ -136,7 +130,6 @@ else
// Reset page number back to 1 if the search term has changed.
if (SearchTerm != _lastSearchTerm && CurrentPage != 1)
{
- _currentPageBeforeSearch = CurrentPage;
CurrentPage = 1;
}
_lastSearchTerm = SearchTerm;