diff options
| author | David <daullmer@gmail.com> | 2020-06-10 13:09:23 +0200 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2020-06-10 13:09:23 +0200 |
| commit | 1bf6c085eda59034687f24fa5b5997389aede9e5 (patch) | |
| tree | 646ec9fb8fadc68114a88d5268fe509d98b56ca1 /Jellyfin.Api/Controllers/ActivityLogController.cs | |
| parent | dc190e56833235c1b20fa76b8382da80fc62b0b7 (diff) | |
Move File; Move Route; use DateTime? in Query
Diffstat (limited to 'Jellyfin.Api/Controllers/ActivityLogController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/ActivityLogController.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Jellyfin.Api/Controllers/ActivityLogController.cs b/Jellyfin.Api/Controllers/ActivityLogController.cs new file mode 100644 index 000000000..8d37a8373 --- /dev/null +++ b/Jellyfin.Api/Controllers/ActivityLogController.cs @@ -0,0 +1,50 @@ +using System; +using System.Globalization; +using Jellyfin.Api.Constants; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Querying; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace Jellyfin.Api.Controllers +{ + /// <summary> + /// Activity log controller. + /// </summary> + [Route("/System/ActivityLog")] + [Authorize(Policy = Policies.RequiresElevation)] + public class ActivityLogController : BaseJellyfinApiController + { + private readonly IActivityManager _activityManager; + + /// <summary> + /// Initializes a new instance of the <see cref="ActivityLogController"/> class. + /// </summary> + /// <param name="activityManager">Instance of <see cref="IActivityManager"/> interface.</param> + public ActivityLogController(IActivityManager activityManager) + { + _activityManager = activityManager; + } + + /// <summary> + /// Gets activity log entries. + /// </summary> + /// <param name="startIndex">Optional. The record index to start at. All items with a lower index will be dropped from the results.</param> + /// <param name="limit">Optional. The maximum number of records to return.</param> + /// <param name="minDate">Optional. The minimum date. Format = ISO.</param> + /// <param name="hasUserId">Optional. Only returns activities that have a user associated.</param> + /// <response code="200">Activity log returned.</response> + /// <returns>A <see cref="QueryResult{ActivityLogEntry}"/> containing the log entries.</returns> + [HttpGet("Entries")] + [ProducesResponseType(StatusCodes.Status200OK)] + public ActionResult<QueryResult<ActivityLogEntry>> GetLogEntries( + [FromQuery] int? startIndex, + [FromQuery] int? limit, + [FromQuery] DateTime? minDate, + bool? hasUserId) + { + return _activityManager.GetActivityLogEntries(minDate, hasUserId, startIndex, limit); + } + } +} |
