feat: replace /archive with release-cardinal searchable browser (Phase 9 §8.H)
Retire the three-card overview for a search + medium + genre browser over all releases. Adds q/genre filter params to the api/release paged read path, mirroring the existing api/track/page TrackFilter pattern.
This commit is contained in:
@@ -22,10 +22,12 @@ public class ReleaseProxyController : ControllerBase
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
/// <summary>Proxies the paged release list, forwarding the optional medium filter and sort params.</summary>
|
||||
/// <summary>Proxies the paged release list, forwarding the optional medium, search (q), genre, and sort params.</summary>
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetReleases(
|
||||
[FromQuery] string? medium = null,
|
||||
[FromQuery] string? q = null,
|
||||
[FromQuery] string? genre = null,
|
||||
[FromQuery] int page = 1,
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] string? sortColumn = null,
|
||||
@@ -35,6 +37,10 @@ public class ReleaseProxyController : ControllerBase
|
||||
var query = $"api/release?page={page}&pageSize={pageSize}&sortDescending={sortDescending}";
|
||||
if (!string.IsNullOrWhiteSpace(medium))
|
||||
query += $"&medium={Uri.EscapeDataString(medium)}";
|
||||
if (!string.IsNullOrWhiteSpace(q))
|
||||
query += $"&q={Uri.EscapeDataString(q)}";
|
||||
if (!string.IsNullOrWhiteSpace(genre))
|
||||
query += $"&genre={Uri.EscapeDataString(genre)}";
|
||||
if (!string.IsNullOrWhiteSpace(sortColumn))
|
||||
query += $"&sortColumn={Uri.EscapeDataString(sortColumn)}";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user