mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-14 17:54:42 +00:00
Add user avatar and profile feature, consolidate Auth and UserManagement features (#257)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
using Features.Locations.Dtos;
|
||||
using MediatR;
|
||||
|
||||
namespace Features.Locations.Commands.GetOrCreateCity;
|
||||
|
||||
/// <summary>
|
||||
/// Resolves <see cref="City" /> to a City ID, creating the Country, StateProvince, and/or City rows
|
||||
/// if any part of the chain doesn't exist yet. Sent by other features' handlers (e.g. brewery
|
||||
/// creation) rather than bound from a request directly, since this feature exposes no controller of
|
||||
/// its own.
|
||||
/// </summary>
|
||||
public record GetOrCreateCityCommand(CityLocation City) : IRequest<Guid>;
|
||||
@@ -0,0 +1,12 @@
|
||||
using Features.Locations.Repository;
|
||||
using MediatR;
|
||||
|
||||
namespace Features.Locations.Commands.GetOrCreateCity;
|
||||
|
||||
/// <summary>Handles <see cref="GetOrCreateCityCommand" /> by delegating to <see cref="ILocationRepository" />.</summary>
|
||||
public class GetOrCreateCityHandler(ILocationRepository repository)
|
||||
: IRequestHandler<GetOrCreateCityCommand, Guid>
|
||||
{
|
||||
public Task<Guid> Handle(GetOrCreateCityCommand request, CancellationToken cancellationToken) =>
|
||||
repository.GetOrCreateCityIdAsync(request.City);
|
||||
}
|
||||
Reference in New Issue
Block a user