diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Language/AllLanguageController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Language/AllLanguageController.cs index 4bb96d3694..acbd3ae3f2 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Language/AllLanguageController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Language/AllLanguageController.cs @@ -26,13 +26,14 @@ public class AllLanguageController : LanguageControllerBase [ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)] public async Task>> All(int skip = 0, int take = 100) { - ILanguage[] allLanguages = (await _languageService.GetAllAsync()).ToArray(); + IEnumerable result = await _languageService.GetAllAsync(); + ILanguage[] allLanguages = result.ToArray(); var viewModel = new PagedViewModel { Total = allLanguages.Length, Items = _umbracoMapper.MapEnumerable(allLanguages.Skip(skip).Take(take)) }; - return await Task.FromResult(Ok(viewModel)); + return Ok(viewModel); } } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs new file mode 100644 index 0000000000..f6cf4254a3 --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs @@ -0,0 +1,39 @@ +using Asp.Versioning; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Umbraco.Cms.Api.Common.ViewModels.Pagination; +using Umbraco.Cms.Api.Management.ViewModels.Webhook; +using Umbraco.Cms.Core.Mapping; +using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Services; + +namespace Umbraco.Cms.Api.Management.Controllers.Webhook; + +[ApiVersion("1.0")] +public class AllWebhookController : WebhookControllerBase +{ + private readonly IWebhookService _webhookService; + private readonly IUmbracoMapper _umbracoMapper; + + public AllWebhookController(IWebhookService webhookService, IUmbracoMapper umbracoMapper) + { + _webhookService = webhookService; + _umbracoMapper = umbracoMapper; + } + + [HttpGet] + [MapToApiVersion("1.0")] + [ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)] + public async Task>> All(int skip = 0, int take = 100) + { + PagedModel result = await _webhookService.GetAllAsync(skip, take); + IWebhook[] webhooks = result.Items.ToArray(); + var viewModel = new PagedViewModel + { + Total = result.Total, + Items = _umbracoMapper.MapEnumerable(webhooks) + }; + + return Ok(viewModel); + } +}