From 0f77ae43b57de65da34948f41aa03e2cc00dde98 Mon Sep 17 00:00:00 2001 From: Aaron Po Date: Sat, 20 Jun 2026 15:09:41 -0400 Subject: [PATCH] Format ./web/backend/Features/Features.Breweries --- .../CreateBrewery/CreateBreweryCommand.cs | 2 +- .../CreateBrewery/CreateBreweryHandler.cs | 11 +-- .../CreateBrewery/CreateBreweryValidator.cs | 10 +-- .../DeleteBrewery/DeleteBreweryCommand.cs | 2 +- .../DeleteBrewery/DeleteBreweryHandler.cs | 2 +- .../UpdateBrewery/UpdateBreweryCommand.cs | 2 +- .../UpdateBrewery/UpdateBreweryHandler.cs | 11 +-- .../Controllers/BreweryController.cs | 67 ++++++++++++------- ...resBreweriesServiceCollectionExtensions.cs | 2 +- .../Features.Breweries/Dtos/BreweryDto.cs | 2 +- .../Dtos/BreweryDtoMapper.cs | 6 +- .../Features.Breweries.csproj | 10 +-- .../GetAllBreweries/GetAllBreweriesHandler.cs | 12 +++- .../GetAllBreweries/GetAllBreweriesQuery.cs | 2 +- .../GetBreweryById/GetBreweryByIdHandler.cs | 7 +- .../GetBreweryById/GetBreweryByIdQuery.cs | 2 +- .../Repository/BreweryRepository.cs | 22 +++--- .../Repository/IBreweryRepository.cs | 2 +- 18 files changed, 101 insertions(+), 73 deletions(-) diff --git a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryCommand.cs b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryCommand.cs index 97e7cd8..a06dadc 100644 --- a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryCommand.cs +++ b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryCommand.cs @@ -22,4 +22,4 @@ public record CreateBreweryCommand( string BreweryName, string Description, CreateBreweryLocation Location -) : IRequest; \ No newline at end of file +) : IRequest; diff --git a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryHandler.cs b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryHandler.cs index 26073a8..07c0f1d 100644 --- a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryHandler.cs +++ b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryHandler.cs @@ -18,7 +18,10 @@ public class CreateBreweryHandler(IBreweryRepository repository) /// The details of the brewery post to create. /// A token to observe for cancellation requests. /// The newly created brewery post. - public async Task Handle(CreateBreweryCommand request, CancellationToken cancellationToken) + public async Task Handle( + CreateBreweryCommand request, + CancellationToken cancellationToken + ) { BreweryPost entity = new() { @@ -34,11 +37,11 @@ public class CreateBreweryHandler(IBreweryRepository repository) AddressLine1 = request.Location.AddressLine1, AddressLine2 = request.Location.AddressLine2, PostalCode = request.Location.PostalCode, - Coordinates = request.Location.Coordinates - } + Coordinates = request.Location.Coordinates, + }, }; await repository.CreateAsync(entity); return entity.ToDto(); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs index 3d70d2d..ad5f528 100644 --- a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs +++ b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs @@ -15,9 +15,7 @@ public class CreateBreweryValidator : AbstractValidator /// public CreateBreweryValidator() { - RuleFor(x => x.PostedById) - .NotEmpty() - .WithMessage("PostedById is required."); + RuleFor(x => x.PostedById).NotEmpty().WithMessage("PostedById is required."); RuleFor(x => x.BreweryName) .NotEmpty() @@ -31,9 +29,7 @@ public class CreateBreweryValidator : AbstractValidator .MaximumLength(512) .WithMessage("Description cannot exceed 512 characters."); - RuleFor(x => x.Location) - .NotNull() - .WithMessage("Location is required."); + RuleFor(x => x.Location).NotNull().WithMessage("Location is required."); RuleFor(x => x.Location.CityId) .NotEmpty() @@ -56,4 +52,4 @@ public class CreateBreweryValidator : AbstractValidator .When(x => x.Location is not null) .WithMessage("Postal code cannot exceed 20 characters."); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryCommand.cs b/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryCommand.cs index da74352..2b07ec6 100644 --- a/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryCommand.cs +++ b/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryCommand.cs @@ -5,4 +5,4 @@ namespace Features.Breweries.Commands.DeleteBrewery; /// /// Deletes a brewery post by its unique identifier. /// -public record DeleteBreweryCommand(Guid BreweryPostId) : IRequest; \ No newline at end of file +public record DeleteBreweryCommand(Guid BreweryPostId) : IRequest; diff --git a/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryHandler.cs b/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryHandler.cs index 41eabde..226a0d0 100644 --- a/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryHandler.cs +++ b/web/backend/Features/Features.Breweries/Commands/DeleteBrewery/DeleteBreweryHandler.cs @@ -14,4 +14,4 @@ public class DeleteBreweryHandler(IBreweryRepository repository) { return repository.DeleteAsync(request.BreweryPostId); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryCommand.cs b/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryCommand.cs index 47ac0c1..f2dc90d 100644 --- a/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryCommand.cs +++ b/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryCommand.cs @@ -25,4 +25,4 @@ public record UpdateBreweryCommand( string BreweryName, string Description, UpdateBreweryLocation? Location -) : IRequest; \ No newline at end of file +) : IRequest; diff --git a/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryHandler.cs b/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryHandler.cs index 9462bd3..cb6c033 100644 --- a/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryHandler.cs +++ b/web/backend/Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryHandler.cs @@ -19,7 +19,10 @@ public class UpdateBreweryHandler(IBreweryRepository repository) /// The updated details of the brewery post. /// A token to observe for cancellation requests. /// The updated brewery post. - public async Task Handle(UpdateBreweryCommand request, CancellationToken cancellationToken) + public async Task Handle( + UpdateBreweryCommand request, + CancellationToken cancellationToken + ) { BreweryPost entity = new() { @@ -38,11 +41,11 @@ public class UpdateBreweryHandler(IBreweryRepository repository) AddressLine1 = request.Location.AddressLine1, AddressLine2 = request.Location.AddressLine2, PostalCode = request.Location.PostalCode, - Coordinates = request.Location.Coordinates - } + Coordinates = request.Location.Coordinates, + }, }; await repository.UpdateAsync(entity); return entity.ToDto(); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Controllers/BreweryController.cs b/web/backend/Features/Features.Breweries/Controllers/BreweryController.cs index bdff8fc..25eb393 100644 --- a/web/backend/Features/Features.Breweries/Controllers/BreweryController.cs +++ b/web/backend/Features/Features.Breweries/Controllers/BreweryController.cs @@ -41,11 +41,13 @@ public class BreweryController(IMediator mediator) : ControllerBase if (brewery is null) return NotFound(new ResponseBody { Message = $"Brewery with ID {id} not found." }); - return Ok(new ResponseBody - { - Message = "Brewery retrieved successfully.", - Payload = brewery - }); + return Ok( + new ResponseBody + { + Message = "Brewery retrieved successfully.", + Payload = brewery, + } + ); } /// @@ -59,14 +61,19 @@ public class BreweryController(IMediator mediator) : ControllerBase [HttpGet] public async Task>>> GetAll( [FromQuery] int? limit, - [FromQuery] int? offset) + [FromQuery] int? offset + ) { - IEnumerable breweries = await mediator.Send(new GetAllBreweriesQuery(limit, offset)); - return Ok(new ResponseBody> - { - Message = "Breweries retrieved successfully.", - Payload = breweries - }); + IEnumerable breweries = await mediator.Send( + new GetAllBreweriesQuery(limit, offset) + ); + return Ok( + new ResponseBody> + { + Message = "Breweries retrieved successfully.", + Payload = breweries, + } + ); } /// @@ -78,14 +85,19 @@ public class BreweryController(IMediator mediator) : ControllerBase /// . /// [HttpPost] - public async Task>> Create([FromBody] CreateBreweryCommand command) + public async Task>> Create( + [FromBody] CreateBreweryCommand command + ) { BreweryDto brewery = await mediator.Send(command); - return Created($"/api/brewery/{brewery.BreweryPostId}", new ResponseBody - { - Message = "Brewery created successfully.", - Payload = brewery - }); + return Created( + $"/api/brewery/{brewery.BreweryPostId}", + new ResponseBody + { + Message = "Brewery created successfully.", + Payload = brewery, + } + ); } /// @@ -105,17 +117,22 @@ public class BreweryController(IMediator mediator) : ControllerBase /// when the route ID does not match the payload ID. /// [HttpPut("{id:guid}")] - public async Task>> Update(Guid id, [FromBody] UpdateBreweryCommand command) + public async Task>> Update( + Guid id, + [FromBody] UpdateBreweryCommand command + ) { if (command.BreweryPostId != id) return BadRequest(new ResponseBody { Message = "Route ID does not match payload ID." }); BreweryDto brewery = await mediator.Send(command); - return Ok(new ResponseBody - { - Message = "Brewery updated successfully.", - Payload = brewery - }); + return Ok( + new ResponseBody + { + Message = "Brewery updated successfully.", + Payload = brewery, + } + ); } /// @@ -129,4 +146,4 @@ public class BreweryController(IMediator mediator) : ControllerBase await mediator.Send(new DeleteBreweryCommand(id)); return Ok(new ResponseBody { Message = "Brewery deleted successfully." }); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs b/web/backend/Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs index 957a7e6..b4707c7 100644 --- a/web/backend/Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs +++ b/web/backend/Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs @@ -13,4 +13,4 @@ public static class FeaturesBreweriesServiceCollectionExtensions services.AddScoped(); return services; } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Dtos/BreweryDto.cs b/web/backend/Features/Features.Breweries/Dtos/BreweryDto.cs index 4186773..616cacf 100644 --- a/web/backend/Features/Features.Breweries/Dtos/BreweryDto.cs +++ b/web/backend/Features/Features.Breweries/Dtos/BreweryDto.cs @@ -86,4 +86,4 @@ public class BreweryDto /// The location details of the brewery, or null if no location is associated with it. /// public BreweryLocationDto? Location { get; set; } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs b/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs index baeef35..4cba351 100644 --- a/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs +++ b/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs @@ -34,8 +34,8 @@ public static class BreweryDtoMapper AddressLine1 = brewery.Location.AddressLine1, AddressLine2 = brewery.Location.AddressLine2, PostalCode = brewery.Location.PostalCode, - Coordinates = brewery.Location.Coordinates - } + Coordinates = brewery.Location.Coordinates, + }, }; } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Features.Breweries.csproj b/web/backend/Features/Features.Breweries/Features.Breweries.csproj index d83006a..9364516 100644 --- a/web/backend/Features/Features.Breweries/Features.Breweries.csproj +++ b/web/backend/Features/Features.Breweries/Features.Breweries.csproj @@ -7,13 +7,13 @@ - + - - - - + + + + diff --git a/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesHandler.cs b/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesHandler.cs index 314d7a9..e9a3748 100644 --- a/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesHandler.cs +++ b/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesHandler.cs @@ -12,9 +12,15 @@ namespace Features.Breweries.Queries.GetAllBreweries; public class GetAllBreweriesHandler(IBreweryRepository repository) : IRequestHandler> { - public async Task> Handle(GetAllBreweriesQuery request, CancellationToken cancellationToken) + public async Task> Handle( + GetAllBreweriesQuery request, + CancellationToken cancellationToken + ) { - IEnumerable breweries = await repository.GetAllAsync(request.Limit, request.Offset); + IEnumerable breweries = await repository.GetAllAsync( + request.Limit, + request.Offset + ); return breweries.Select(b => b.ToDto()); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesQuery.cs b/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesQuery.cs index ef3c437..4fe7af8 100644 --- a/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesQuery.cs +++ b/web/backend/Features/Features.Breweries/Queries/GetAllBreweries/GetAllBreweriesQuery.cs @@ -6,4 +6,4 @@ namespace Features.Breweries.Queries.GetAllBreweries; /// /// Retrieves a paginated list of brewery posts. /// -public record GetAllBreweriesQuery(int? Limit, int? Offset) : IRequest>; \ No newline at end of file +public record GetAllBreweriesQuery(int? Limit, int? Offset) : IRequest>; diff --git a/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdHandler.cs b/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdHandler.cs index 0ad63b9..72f510e 100644 --- a/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdHandler.cs +++ b/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdHandler.cs @@ -12,9 +12,12 @@ namespace Features.Breweries.Queries.GetBreweryById; public class GetBreweryByIdHandler(IBreweryRepository repository) : IRequestHandler { - public async Task Handle(GetBreweryByIdQuery request, CancellationToken cancellationToken) + public async Task Handle( + GetBreweryByIdQuery request, + CancellationToken cancellationToken + ) { BreweryPost? brewery = await repository.GetByIdAsync(request.BreweryPostId); return brewery?.ToDto(); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdQuery.cs b/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdQuery.cs index 7c259a1..5f4fc13 100644 --- a/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdQuery.cs +++ b/web/backend/Features/Features.Breweries/Queries/GetBreweryById/GetBreweryByIdQuery.cs @@ -6,4 +6,4 @@ namespace Features.Breweries.Queries.GetBreweryById; /// /// Retrieves a single brewery post by its unique identifier. /// -public record GetBreweryByIdQuery(Guid BreweryPostId) : IRequest; \ No newline at end of file +public record GetBreweryByIdQuery(Guid BreweryPostId) : IRequest; diff --git a/web/backend/Features/Features.Breweries/Repository/BreweryRepository.cs b/web/backend/Features/Features.Breweries/Repository/BreweryRepository.cs index 71523e2..cc5e24b 100644 --- a/web/backend/Features/Features.Breweries/Repository/BreweryRepository.cs +++ b/web/backend/Features/Features.Breweries/Repository/BreweryRepository.cs @@ -11,7 +11,8 @@ namespace Features.Breweries.Repository; /// /// The factory used to create database connections. public class BreweryRepository(ISqlConnectionFactory connectionFactory) - : Repository(connectionFactory), IBreweryRepository + : Repository(connectionFactory), + IBreweryRepository { /// /// Retrieves a brewery post by ID using the USP_GetBreweryById stored procedure. @@ -29,7 +30,8 @@ public class BreweryRepository(ISqlConnectionFactory connectionFactory) AddParameter(command, "@BreweryPostID", id); await using DbDataReader reader = await command.ExecuteReaderAsync(); - if (await reader.ReadAsync()) return MapToEntity(reader); + if (await reader.ReadAsync()) + return MapToEntity(reader); return null; } @@ -58,7 +60,8 @@ public class BreweryRepository(ISqlConnectionFactory connectionFactory) await using DbDataReader reader = await command.ExecuteReaderAsync(); List breweries = new(); - while (await reader.ReadAsync()) breweries.Add(MapToEntity(reader)); + while (await reader.ReadAsync()) + breweries.Add(MapToEntity(reader)); return breweries; } @@ -121,7 +124,8 @@ public class BreweryRepository(ISqlConnectionFactory connectionFactory) command.CommandText = "USP_CreateBrewery"; command.CommandType = CommandType.StoredProcedure; - if (brewery.Location is null) throw new ArgumentException("Location must be provided when creating a brewery."); + if (brewery.Location is null) + throw new ArgumentException("Location must be provided when creating a brewery."); AddParameter(command, "@BreweryName", brewery.BreweryName); AddParameter(command, "@Description", brewery.Description); @@ -195,7 +199,7 @@ public class BreweryRepository(ISqlConnectionFactory connectionFactory) PostalCode = reader.GetString(reader.GetOrdinal("PostalCode")), Coordinates = reader.IsDBNull(reader.GetOrdinal("Coordinates")) ? null - : reader.GetFieldValue(reader.GetOrdinal("Coordinates")) + : reader.GetFieldValue(reader.GetOrdinal("Coordinates")), }; brewery.Location = location; } @@ -215,15 +219,11 @@ public class BreweryRepository(ISqlConnectionFactory connectionFactory) /// The command to add the parameter to. /// The parameter name (including any prefix, e.g. "@BreweryName"). /// The parameter value, or null to bind . - private static void AddParameter( - DbCommand command, - string name, - object? value - ) + private static void AddParameter(DbCommand command, string name, object? value) { DbParameter p = command.CreateParameter(); p.ParameterName = name; p.Value = value ?? DBNull.Value; command.Parameters.Add(p); } -} \ No newline at end of file +} diff --git a/web/backend/Features/Features.Breweries/Repository/IBreweryRepository.cs b/web/backend/Features/Features.Breweries/Repository/IBreweryRepository.cs index d0a0972..e976c2a 100644 --- a/web/backend/Features/Features.Breweries/Repository/IBreweryRepository.cs +++ b/web/backend/Features/Features.Breweries/Repository/IBreweryRepository.cs @@ -40,4 +40,4 @@ public interface IBreweryRepository /// The brewery post to create. Must have a non-null Location. /// Thrown when has no Location. Task CreateAsync(BreweryPost brewery); -} \ No newline at end of file +}