updated services

main
Young 6 months ago
parent 795686bd18
commit 519e779228

@ -1,14 +1,22 @@
using Asp.Versioning;
using BackendTutorial.Events;
using Infrastructure;
using Infrastructure.Attributes;
using Infrastructure.EventBus;
using Infrastructure.HttpUserContext;
using Infrastructure.Security;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace BackendTutorial.Controllers.V1;
[ApiVersion("1.0")]
[Route("tutorial/{version:apiVersion}")]
public class TutorialController(ILogger<TutorialController> logger, IEventBus eventBus) : DefaultControllerBase
public class TutorialController(
ILogger<TutorialController> logger,
IEventBus eventBus,
IUserContext<long> userContext
) : DefaultControllerBase
{
[HttpGet("hello")]
public async Task<MessageData<string>> HelloAsync()
@ -17,11 +25,34 @@ public class TutorialController(ILogger<TutorialController> logger, IEventBus ev
return await Task.Run(() => Succeed<string>("hello world"));
}
[HttpPost("send")]
[HttpPost("send"), Idempotency(nameof(message))]
public async Task<MessageData<string>> SendAsync(string message)
{
eventBus.Publish(new HelloWorldEvent(message));
await Task.CompletedTask;
return Succeed<string>("sent message");
}
[HttpPost("token")]
public async Task<MessageData<JwtTokenInfo>> GetJwtTokenInfoAsync()
{
//mock
userContext.Id = 89757L;
userContext.Username = "test";
userContext.Name = "test";
userContext.Email = "test@test.com";
userContext.RoleNames = ["consumer"];
userContext.RoleIds = ["89757"];
var jwtInfo = userContext.GenerateTokenInfo();
await Task.CompletedTask;
return Succeed(jwtInfo);
}
[Authorize(Policy = "authorize")]
[HttpGet("authorize")]
public async Task<MessageData> AuthorizeAsync()
{
await Task.CompletedTask;
return Succeed();
}
}
Loading…
Cancel
Save