using Features.Breweries.Dtos;
using MediatR;
namespace Features.Breweries.Commands.UpdateBrewery;
/// Location details for a brewery being updated.
///
/// Identifier of the existing location row, if any; a new row is created if none exists yet.
///
/// Raw binary representation of the brewery's geographic coordinates.
public record UpdateBreweryLocation(
Guid BreweryPostLocationId,
Guid CityId,
string AddressLine1,
string? AddressLine2,
string PostalCode,
byte[]? Coordinates
);
///
/// Updates an existing brewery post. Bound directly from the request body of PUT /api/brewery/{id}.
/// A null clears the brewery's location. must be the
/// row-version last read for this brewery (e.g. from a prior GET); the update is rejected with a
/// 409 Conflict if the brewery was modified since then.
///
public record UpdateBreweryCommand(
Guid BreweryPostId,
byte[] RowVersion,
Guid PostedById,
string BreweryName,
string Description,
UpdateBreweryLocation? Location
) : IRequest;