using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.ViewModels.LogViewer; using Umbraco.Cms.Core.Mapping; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; namespace Umbraco.Cms.Api.Management.Controllers.LogViewer.SavedSearch; public class AllSavedSearchLogViewerController : SavedSearchLogViewerControllerBase { private readonly ILogViewerService _logViewerService; private readonly IUmbracoMapper _umbracoMapper; public AllSavedSearchLogViewerController(ILogViewerService logViewerService, IUmbracoMapper umbracoMapper) { _logViewerService = logViewerService; _umbracoMapper = umbracoMapper; } /// /// Gets a paginated list of all saved log searches. /// /// The amount of items to skip. /// The amount of items to take. /// The paged result of the saved log searches. [HttpGet] [MapToApiVersion("1.0")] [ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)] public async Task>> AllSavedSearches(int skip = 0, int take = 100) { IReadOnlyList savedLogQueries = await _logViewerService.GetSavedLogQueriesAsync(); return Ok(_umbracoMapper.Map>(savedLogQueries.Skip(skip).Take(take))); } }