diff options
| author | crobibero <cody@robibe.ro> | 2020-06-12 14:35:51 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2020-06-12 14:35:51 -0600 |
| commit | 2fe65d99f6886d607d618903ac03f7474ce68df0 (patch) | |
| tree | 681efab6ef8fdbffc8b8ddb3e09bc811c733a10d /Jellyfin.Api/Controllers/ActivityLogController.cs | |
| parent | dfe873fc293cf940a4f3d25aacdc8dfc53f150dc (diff) | |
| parent | 6429e60c408c0b88edee6745c5c9c14faade3c9d (diff) | |
Merge remote-tracking branch 'upstream/api-migration' into api-swagger-auth
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); + } + } +} |
