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/Jellyfin.Data.csproj4
-rw-r--r--Jellyfin.Data/Queries/ActivityLogQuery.cs74
3 files changed, 112 insertions, 15 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/Jellyfin.Data.csproj b/Jellyfin.Data/Jellyfin.Data.csproj
index 45374c22f7..f7660f35dd 100644
--- a/Jellyfin.Data/Jellyfin.Data.csproj
+++ b/Jellyfin.Data/Jellyfin.Data.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>net9.0</TargetFramework>
+ <TargetFramework>net10.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
@@ -18,7 +18,7 @@
<PropertyGroup>
<Authors>Jellyfin Contributors</Authors>
<PackageId>Jellyfin.Data</PackageId>
- <VersionPrefix>10.11.0</VersionPrefix>
+ <VersionPrefix>10.12.0</VersionPrefix>
<RepositoryUrl>https://github.com/jellyfin/jellyfin</RepositoryUrl>
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
</PropertyGroup>
diff --git a/Jellyfin.Data/Queries/ActivityLogQuery.cs b/Jellyfin.Data/Queries/ActivityLogQuery.cs
index f1af099d3c..6de6c4c217 100644
--- a/Jellyfin.Data/Queries/ActivityLogQuery.cs
+++ b/Jellyfin.Data/Queries/ActivityLogQuery.cs
@@ -1,20 +1,68 @@
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 maximum date to query for.
+ /// </summary>
+ public DateTime? MaxDate { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name filter.
+ /// </summary>
+ public string? Name { 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 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? Type { get; set; }
- /// <summary>
- /// Gets or sets the minimum date to query for.
- /// </summary>
- public DateTime? MinDate { 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; }
}