Skip to content

Commit 2b35c8a

Browse files
nanotaboadaclaude
andcommitted
feat(data): normalize player dataset to 2022 FIFA World Cup Argentina squad (#435)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2b84c0b commit 2b35c8a

15 files changed

Lines changed: 388 additions & 79 deletions

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ This project uses famous football stadiums (A-Z) that hosted FIFA World Cup matc
4949

5050
### Changed
5151

52+
- Normalize player dataset: add Lo Celso (squad 27), correct Fernández/Mac Allister/Messi team data, replace random UUIDs with deterministic UUID v5 values (#435)
53+
- Align CRUD test fixtures: Lo Celso (squad 27) for Create and Delete, Messi (squad 10) for Retrieve, Damián Martínez (squad 23) for Update (#435)
5254
- Bump `codecov/codecov-action` from 5.5.2 to 5.5.3 (#423)
5355

5456
### Fixed

src/Dotnet.Samples.AspNetCore.WebApi/Configurations/AuthorizeCheckOperationFilter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void Apply(OpenApiOperation operation, OperationFilterContext context)
3737
openApiOperation.Security.Add(
3838
new OpenApiSecurityRequirement
3939
{
40-
{ new OpenApiSecuritySchemeReference("Bearer", null), new List<string>() }
40+
{ new OpenApiSecuritySchemeReference("Bearer", null), new List<string>() },
4141
}
4242
);
4343
}

src/Dotnet.Samples.AspNetCore.WebApi/Controllers/PlayerController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public async Task<IResult> PostAsync([FromBody] PlayerRequestModel player)
6969
Title = "Conflict",
7070
Status = StatusCodes.Status409Conflict,
7171
Detail = $"Player with Squad Number '{player.SquadNumber}' already exists.",
72-
Instance = HttpContext?.Request?.Path.ToString()
72+
Instance = HttpContext?.Request?.Path.ToString(),
7373
}
7474
);
7575
}

src/Dotnet.Samples.AspNetCore.WebApi/Extensions/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ IConfiguration configuration
186186
PermitLimit = settings.PermitLimit,
187187
Window = TimeSpan.FromSeconds(settings.WindowSeconds),
188188
QueueProcessingOrder = QueueProcessingOrder.OldestFirst,
189-
QueueLimit = settings.QueueLimit
189+
QueueLimit = settings.QueueLimit,
190190
}
191191
);
192192
}

src/Dotnet.Samples.AspNetCore.WebApi/Middlewares/ExceptionMiddleware.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ IHostEnvironment environment
1616
{
1717
private const string ProblemDetailsContentType = "application/problem+json";
1818

19-
private static readonly JsonSerializerOptions JsonOptions =
20-
new() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase };
19+
private static readonly JsonSerializerOptions JsonOptions = new()
20+
{
21+
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
22+
};
2123

2224
/// <summary>
2325
/// Invokes the middleware to handle exceptions globally.
@@ -47,7 +49,7 @@ private async Task HandleExceptionAsync(HttpContext context, Exception exception
4749
Title = title,
4850
Status = status,
4951
Detail = GetExceptionDetail(exception),
50-
Instance = context.Request.Path
52+
Instance = context.Request.Path,
5153
};
5254

5355
// Add trace ID for request correlation
@@ -89,13 +91,14 @@ private static (int StatusCode, string Title) MapExceptionToStatusCode(Exception
8991
return exception switch
9092
{
9193
ValidationException => (StatusCodes.Status400BadRequest, "Validation Error"),
92-
ArgumentException
93-
or ArgumentNullException
94-
=> (StatusCodes.Status400BadRequest, "Bad Request"),
94+
ArgumentException or ArgumentNullException => (
95+
StatusCodes.Status400BadRequest,
96+
"Bad Request"
97+
),
9598
InvalidOperationException => (StatusCodes.Status400BadRequest, "Invalid Operation"),
9699
DbUpdateConcurrencyException => (StatusCodes.Status409Conflict, "Concurrency Conflict"),
97100
OperationCanceledException => (StatusCodes.Status408RequestTimeout, "Request Timeout"),
98-
_ => (StatusCodes.Status500InternalServerError, "Internal Server Error")
101+
_ => (StatusCodes.Status500InternalServerError, "Internal Server Error"),
99102
};
100103
}
101104

@@ -115,7 +118,7 @@ private string GetExceptionDetail(Exception exception)
115118
{
116119
ValidationException => exception.Message,
117120
ArgumentException => exception.Message,
118-
_ => "An unexpected error occurred while processing your request."
121+
_ => "An unexpected error occurred while processing your request.",
119122
};
120123
}
121124
}

src/Dotnet.Samples.AspNetCore.WebApi/Migrations/20250414191223_InitialCreate.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,26 @@ protected override void Up(MigrationBuilder migrationBuilder)
2525
AbbrPosition = table.Column<string>(type: "TEXT", nullable: true),
2626
Team = table.Column<string>(type: "TEXT", nullable: true),
2727
League = table.Column<string>(type: "TEXT", nullable: true),
28-
Starting11 = table.Column<bool>(type: "INTEGER", nullable: false)
28+
Starting11 = table.Column<bool>(type: "INTEGER", nullable: false),
2929
},
3030
constraints: table =>
3131
{
3232
table.PrimaryKey("PK_Players", x => x.Id);
33-
});
33+
}
34+
);
3435

3536
migrationBuilder.CreateIndex(
3637
name: "IX_Players_SquadNumber",
3738
table: "Players",
3839
column: "SquadNumber",
39-
unique: true);
40+
unique: true
41+
);
4042
}
4143

4244
/// <inheritdoc />
4345
protected override void Down(MigrationBuilder migrationBuilder)
4446
{
45-
migrationBuilder.DropTable(
46-
name: "Players");
47+
migrationBuilder.DropTable(name: "Players");
4748
}
4849
}
4950
}

src/Dotnet.Samples.AspNetCore.WebApi/Migrations/20250414195445_SeedStarting11.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
2929
"AbbrPosition",
3030
"Team",
3131
"League",
32-
"Starting11"
32+
"Starting11",
3333
],
3434
values: new object[]
3535
{
@@ -43,7 +43,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
4343
player.AbbrPosition,
4444
player.Team,
4545
player.League,
46-
player.Starting11
46+
player.Starting11,
4747
}
4848
);
4949
}

src/Dotnet.Samples.AspNetCore.WebApi/Migrations/20251221220614_SeedSubstitutes.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
2929
"AbbrPosition",
3030
"Team",
3131
"League",
32-
"Starting11"
32+
"Starting11",
3333
],
3434
values: new object[]
3535
{
@@ -43,7 +43,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
4343
player.AbbrPosition,
4444
player.Team,
4545
player.League,
46-
player.Starting11
46+
player.Starting11,
4747
}
4848
);
4949
}

src/Dotnet.Samples.AspNetCore.WebApi/Migrations/20260329000000_NormalizePlayerDataset.Designer.cs

Lines changed: 69 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)