Merge remote-tracking branch 'origin/Devsights-changes'

This commit is contained in:
2025-01-08 15:06:17 -05:00
14 changed files with 603 additions and 60 deletions

View File

@@ -1,16 +1,19 @@
using Hutopy.Web.Features.Users.Handlers.Models;
using Hutopy.Web.Features.Memberships.Data;
using Hutopy.Web.Features.Memberships.Infrastructure;
namespace Hutopy.Web.Features.Users.Handlers;
[PublicAPI]
public class GetCurrentUserQueryHandler(
IdentityService identityService)
IdentityService identityService,
MembershipDbContext membershipDbContext)
: EndpointWithoutRequest<UserDto>
{
public override void Configure()
{
Get("/api/users/profile");
Options(o => o.WithTags("Users"));
Options(o => o.WithTags("Memberships"));
}
public override async Task HandleAsync(
@@ -26,6 +29,12 @@ public class GetCurrentUserQueryHandler(
var roles = await identityService.GetCurrentUserRolesAsync();
var stripeId = await membershipDbContext
.Creators
.Where(c => c.Id == userModel.Id)
.Select(c => c.StripeAccountId)
.FirstOrDefaultAsync(cancellationToken);
await SendOkAsync(
new UserDto
{
@@ -40,6 +49,7 @@ public class GetCurrentUserQueryHandler(
BirthDate = userModel.BirthDate,
Address = userModel.Address,
UserRoles = roles,
StripeId = stripeId ?? string.Empty
},
cancellationToken);
}

View File

@@ -13,4 +13,5 @@ public class UserDto
public string? PhoneNumber { get; init; }
public DateTime? BirthDate { get; init; }
public string? Address { get; init; }
public string? StripeId { get; init; }
}