V14: Fixup webhook endpoints (#16143)
* Use presentation factory, as there is no map definition * Refactor to actually get entities by key
This commit is contained in:
@@ -2,8 +2,8 @@ using Asp.Versioning;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Umbraco.Cms.Api.Common.ViewModels.Pagination;
|
||||
using Umbraco.Cms.Api.Management.Factories;
|
||||
using Umbraco.Cms.Api.Management.ViewModels.Webhook;
|
||||
using Umbraco.Cms.Core.Mapping;
|
||||
using Umbraco.Cms.Core.Models;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace Umbraco.Cms.Api.Management.Controllers.Webhook;
|
||||
public class AllWebhookController : WebhookControllerBase
|
||||
{
|
||||
private readonly IWebhookService _webhookService;
|
||||
private readonly IUmbracoMapper _umbracoMapper;
|
||||
private readonly IWebhookPresentationFactory _webhookPresentationFactory;
|
||||
|
||||
public AllWebhookController(IWebhookService webhookService, IUmbracoMapper umbracoMapper)
|
||||
public AllWebhookController(IWebhookService webhookService, IWebhookPresentationFactory webhookPresentationFactory)
|
||||
{
|
||||
_webhookService = webhookService;
|
||||
_umbracoMapper = umbracoMapper;
|
||||
_webhookPresentationFactory = webhookPresentationFactory;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
@@ -34,7 +34,7 @@ public class AllWebhookController : WebhookControllerBase
|
||||
var viewModel = new PagedViewModel<WebhookResponseModel>
|
||||
{
|
||||
Total = result.Total,
|
||||
Items = _umbracoMapper.MapEnumerable<IWebhook, WebhookResponseModel>(webhooks)
|
||||
Items = webhooks.Select(x => _webhookPresentationFactory.CreateResponseModel(x)),
|
||||
};
|
||||
|
||||
return Ok(viewModel);
|
||||
|
||||
@@ -61,11 +61,9 @@ public class WebhookRepository : IWebhookRepository
|
||||
public async Task<PagedModel<IWebhook>> GetByIdsAsync(IEnumerable<Guid> keys)
|
||||
{
|
||||
Sql<ISqlContext>? sql = _scopeAccessor.AmbientScope?.Database.SqlContext.Sql()
|
||||
.SelectAll()
|
||||
.Select<WebhookDto>()
|
||||
.From<WebhookDto>()
|
||||
.InnerJoin<Webhook2EventsDto>()
|
||||
.On<WebhookDto, Webhook2EventsDto>(left => left.Id, right => right.WebhookId)
|
||||
.WhereIn<Webhook2EventsDto>(x => x.WebhookId, keys);
|
||||
.WhereIn<WebhookDto>(x => x.Key, keys);
|
||||
|
||||
List<WebhookDto>? webhookDtos = await _scopeAccessor.AmbientScope?.Database.FetchAsync<WebhookDto>(sql)!;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user