2023-07-05 12:42:52 +02:00
|
|
|
|
using Asp.Versioning;
|
|
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
using Umbraco.Cms.Api.Management.ViewModels.User;
|
|
|
|
|
|
using Umbraco.Cms.Core;
|
|
|
|
|
|
using Umbraco.Cms.Core.Services;
|
|
|
|
|
|
using Umbraco.Cms.Core.Services.OperationStatus;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Cms.Api.Management.Controllers.User;
|
|
|
|
|
|
|
|
|
|
|
|
[ApiVersion("1.0")]
|
|
|
|
|
|
public class VerifyInviteUserController : UserControllerBase
|
|
|
|
|
|
{
|
|
|
|
|
|
private readonly IUserService _userService;
|
|
|
|
|
|
|
|
|
|
|
|
public VerifyInviteUserController(IUserService userService) => _userService = userService;
|
|
|
|
|
|
|
|
|
|
|
|
[AllowAnonymous]
|
|
|
|
|
|
[HttpPost("invite/verify")]
|
|
|
|
|
|
[MapToApiVersion("1.0")]
|
|
|
|
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
2023-08-04 10:51:20 +02:00
|
|
|
|
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status404NotFound)]
|
2023-07-05 12:42:52 +02:00
|
|
|
|
public async Task<IActionResult> Invite(VerifyInviteUserRequestModel model)
|
|
|
|
|
|
{
|
|
|
|
|
|
Attempt<UserOperationStatus> result = await _userService.VerifyInviteAsync(model.UserId, model.Token);
|
|
|
|
|
|
|
|
|
|
|
|
return result.Success
|
|
|
|
|
|
? Ok()
|
|
|
|
|
|
: UserOperationStatusResult(result.Result);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|