[FA-55] User service should be done
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
using FictionArchive.Service.Shared.Services.EventBus;
|
||||
|
||||
namespace FictionArchive.Service.UserService.Models.IntegrationEvents;
|
||||
|
||||
public class UserInvitedEvent : IIntegrationEvent
|
||||
{
|
||||
// Invited user info
|
||||
public Guid InvitedUserId { get; set; }
|
||||
public required string InvitedUsername { get; set; }
|
||||
public required string InvitedEmail { get; set; }
|
||||
public required string InvitedOAuthProviderId { get; set; }
|
||||
|
||||
// Inviter info
|
||||
public Guid InviterId { get; set; }
|
||||
public required string InviterUsername { get; set; }
|
||||
public required string InviterOAuthProviderId { get; set; }
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using FictionArchive.Service.Shared.Services.EventBus;
|
||||
using FictionArchive.Service.UserService.Models.Database;
|
||||
using FictionArchive.Service.UserService.Models.IntegrationEvents;
|
||||
using FictionArchive.Service.UserService.Services.AuthenticationClient;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
@@ -9,15 +11,18 @@ public class UserManagementService
|
||||
private readonly ILogger<UserManagementService> _logger;
|
||||
private readonly UserServiceDbContext _dbContext;
|
||||
private readonly IAuthenticationServiceClient _authClient;
|
||||
private readonly IEventBus _eventBus;
|
||||
|
||||
public UserManagementService(
|
||||
UserServiceDbContext dbContext,
|
||||
ILogger<UserManagementService> logger,
|
||||
IAuthenticationServiceClient authClient)
|
||||
IAuthenticationServiceClient authClient,
|
||||
IEventBus eventBus)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_logger = logger;
|
||||
_authClient = authClient;
|
||||
_eventBus = eventBus;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -94,6 +99,17 @@ public class UserManagementService
|
||||
|
||||
await _dbContext.SaveChangesAsync();
|
||||
|
||||
await _eventBus.Publish(new UserInvitedEvent
|
||||
{
|
||||
InvitedUserId = newUser.Id,
|
||||
InvitedUsername = newUser.Username,
|
||||
InvitedEmail = newUser.Email,
|
||||
InvitedOAuthProviderId = newUser.OAuthProviderId,
|
||||
InviterId = inviter.Id,
|
||||
InviterUsername = inviter.Username,
|
||||
InviterOAuthProviderId = inviter.OAuthProviderId
|
||||
});
|
||||
|
||||
_logger.LogInformation(
|
||||
"User {Username} was successfully invited by {InviterId}. New user id: {NewUserId}",
|
||||
username, inviter.Id, newUser.Id);
|
||||
|
||||
Reference in New Issue
Block a user