aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Data
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Data')
-rw-r--r--Jellyfin.Data/Enums/ActivityLogSortBy.cs49
-rw-r--r--Jellyfin.Data/Queries/ActivityLogQuery.cs69
2 files changed, 105 insertions, 13 deletions
diff --git a/Jellyfin.Data/Enums/ActivityLogSortBy.cs b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
new file mode 100644
index 0000000000..d6d44e8c07
--- /dev/null
+++ b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
@@ -0,0 +1,49 @@
+namespace Jellyfin.Data.Enums;
+
+/// <summary>
+/// Activity log sorting options.
+/// </summary>
+public enum ActivityLogSortBy
+{
+ /// <summary>
+ /// Sort by name.
+ /// </summary>
+ Name = 0,
+
+ /// <summary>
+ /// Sort by overview.
+ /// </summary>
+ Overiew = 1,
+
+ /// <summary>
+ /// Sort by short overview.
+ /// </summary>
+ ShortOverview = 2,
+
+ /// <summary>
+ /// Sort by type.
+ /// </summary>
+ Type = 3,
+
+ /*
+ /// <summary>
+ /// Sort by item name.
+ /// </summary>
+ Item = 4,
+ */
+
+ /// <summary>
+ /// Sort by date.
+ /// </summary>
+ DateCreated = 5,
+
+ /// <summary>
+ /// Sort by username.
+ /// </summary>
+ Username = 6,
+
+ /// <summary>
+ /// Sort by severity.
+ /// </summary>
+ LogSeverity = 7
+}
diff --git a/Jellyfin.Data/Queries/ActivityLogQuery.cs b/Jellyfin.Data/Queries/ActivityLogQuery.cs
index f1af099d3c..95c52f8705 100644
--- a/Jellyfin.Data/Queries/ActivityLogQuery.cs
+++ b/Jellyfin.Data/Queries/ActivityLogQuery.cs
@@ -1,20 +1,63 @@
using System;
+using System.Collections.Generic;
+using Jellyfin.Data.Enums;
+using Jellyfin.Database.Implementations.Enums;
+using Microsoft.Extensions.Logging;
-namespace Jellyfin.Data.Queries
+namespace Jellyfin.Data.Queries;
+
+/// <summary>
+/// A class representing a query to the activity logs.
+/// </summary>
+public class ActivityLogQuery : PaginatedQuery
{
/// <summary>
- /// A class representing a query to the activity logs.
+ /// Gets or sets a value indicating whether to take entries with a user id.
+ /// </summary>
+ public bool? HasUserId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the minimum date to query for.
+ /// </summary>
+ public DateTime? MinDate { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name filter.
/// </summary>
- public class ActivityLogQuery : PaginatedQuery
- {
- /// <summary>
- /// Gets or sets a value indicating whether to take entries with a user id.
- /// </summary>
- public bool? HasUserId { get; set; }
+ public string? Name { get; set; }
- /// <summary>
- /// Gets or sets the minimum date to query for.
- /// </summary>
- public DateTime? MinDate { get; set; }
- }
+ /// <summary>
+ /// Gets or sets the overview filter.
+ /// </summary>
+ public string? Overview { get; set; }
+
+ /// <summary>
+ /// Gets or sets the short overview filter.
+ /// </summary>
+ public string? ShortOverview { get; set; }
+
+ /// <summary>
+ /// Gets or sets the type filter.
+ /// </summary>
+ public string? Type { get; set; }
+
+ /// <summary>
+ /// Gets or sets the item filter.
+ /// </summary>
+ public Guid? ItemId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the username filter.
+ /// </summary>
+ public string? Username { get; set; }
+
+ /// <summary>
+ /// Gets or sets the log level filter.
+ /// </summary>
+ public LogLevel? Severity { get; set; }
+
+ /// <summary>
+ /// Gets or sets the result ordering.
+ /// </summary>
+ public IReadOnlyCollection<(ActivityLogSortBy, SortOrder)>? OrderBy { get; set; }
}