using MediaBrowser.Controller.Activity; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Activity; using MediaBrowser.Model.Querying; using ServiceStack; namespace MediaBrowser.Api.System { [Route("/System/ActivityLog/Entries", "GET", Summary = "Gets activity log entries")] public class GetActivityLogs : IReturn> { /// /// Skips over a given number of items within the results. Use for paging. /// /// The start index. [ApiMember(Name = "StartIndex", Description = "Optional. The record index to start at. All items with a lower index will be dropped from the results.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")] public int? StartIndex { get; set; } /// /// The maximum number of items to return /// /// The limit. [ApiMember(Name = "Limit", Description = "Optional. The maximum number of records to return", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")] public int? Limit { get; set; } } [Authenticated] public class ActivityLogService : BaseApiService { private readonly IActivityManager _activityManager; public ActivityLogService(IActivityManager activityManager) { _activityManager = activityManager; } public object Get(GetActivityLogs request) { var result = _activityManager.GetActivityLogEntries(request.StartIndex, request.Limit); return ToOptimizedResult(result); } } }