mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-22 07:41:13 +00:00
[AZ-369] Refactor C16: move inline DTOs out of Program.cs
Move 5 cross-component DTOs (GetSatelliteTilesResponse, SatelliteTile, SaveResult, DownloadTileResponse, RequestRegionRequest) to SatelliteProvider.Common/DTO/. Keep UploadImageRequest in the API project under SatelliteProvider.Api.DTOs (IFormFile depends on Microsoft.AspNetCore.Http; pulling it into Common would force an ASP.NET framework reference into the foundation layer and break the module-layout "Common: Imports from: (none)" invariant). Move ParameterDescriptionFilter to SatelliteProvider.Api.Swagger. Program.cs shrinks from 366 to 257 lines and now contains only endpoint wiring (AC-1). JSON wire shape and Swagger schema names are preserved (AC-2). 84 unit + full integration suite green (AC-3). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
using Microsoft.OpenApi.Models;
|
||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||
|
||||
namespace SatelliteProvider.Api.Swagger;
|
||||
|
||||
public class ParameterDescriptionFilter : IOperationFilter
|
||||
{
|
||||
public void Apply(OpenApiOperation operation, OperationFilterContext context)
|
||||
{
|
||||
if (operation.Parameters == null) return;
|
||||
|
||||
var parameterDescriptions = new Dictionary<string, string>
|
||||
{
|
||||
["lat"] = "Latitude coordinate where image was captured",
|
||||
["lon"] = "Longitude coordinate where image was captured",
|
||||
["mgrs"] = "MGRS coordinate string",
|
||||
["squareSideMeters"] = "Square side size in meters",
|
||||
["Latitude"] = "Latitude coordinate of the tile center",
|
||||
["Longitude"] = "Longitude coordinate of the tile center",
|
||||
["ZoomLevel"] = "Zoom level for the tile (higher values = more detail)"
|
||||
};
|
||||
|
||||
foreach (var parameter in operation.Parameters)
|
||||
{
|
||||
if (parameterDescriptions.TryGetValue(parameter.Name, out var description))
|
||||
{
|
||||
parameter.Description = description;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user