Files
Umbraco-CMS/src/Umbraco.Cms.Api.Management/Controllers/UserGroups/ByKeyUserGroupController.cs
Nikolaj Geisle 5107375cd8 V13/feature/rename viewmodels to request response (#13952)
* Rename DocumentType/ContentType models

* Rename all viewmodels

* Rename factories

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 10:49:21 +01:00

40 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Management.Factories;
using Umbraco.Cms.Api.Management.ViewModels.UserGroups;
using Umbraco.Cms.Core.Models.Membership;
using Umbraco.Cms.Core.Services;
namespace Umbraco.Cms.Api.Management.Controllers.UserGroups;
public class ByKeyUserGroupController : UserGroupsControllerBase
{
private readonly IUserGroupService _userGroupService;
private readonly IUserGroupPresentationFactory _userGroupPresentationFactory;
public ByKeyUserGroupController(
IUserGroupService userGroupService,
IUserGroupPresentationFactory userGroupPresentationFactory)
{
_userGroupService = userGroupService;
_userGroupPresentationFactory = userGroupPresentationFactory;
}
[HttpGet("{key:guid}")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(UserGroupPresentationModel), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<UserGroupPresentationModel>> ByKey(Guid key)
{
IUserGroup? userGroup = await _userGroupService.GetAsync(key);
if (userGroup is null)
{
return NotFound();
}
return await _userGroupPresentationFactory.CreateAsync(userGroup);
}
}