From c447479362afa62b9e6522155c2f27eae5a79b9d Mon Sep 17 00:00:00 2001 From: Karl Carriere Date: Wed, 18 Dec 2024 08:44:10 -0500 Subject: [PATCH] Updated GetCurrentUser.cs to include StripeId --- src/Web/Features/Users/Handlers/GetCurrentUser.cs | 14 ++++++++++++-- src/Web/Features/Users/Handlers/Models/UserDto.cs | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Web/Features/Users/Handlers/GetCurrentUser.cs b/src/Web/Features/Users/Handlers/GetCurrentUser.cs index 2b9cc09..9bef3a2 100644 --- a/src/Web/Features/Users/Handlers/GetCurrentUser.cs +++ b/src/Web/Features/Users/Handlers/GetCurrentUser.cs @@ -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 { 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); } diff --git a/src/Web/Features/Users/Handlers/Models/UserDto.cs b/src/Web/Features/Users/Handlers/Models/UserDto.cs index b546f29..3295cac 100644 --- a/src/Web/Features/Users/Handlers/Models/UserDto.cs +++ b/src/Web/Features/Users/Handlers/Models/UserDto.cs @@ -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; } }