From e18e606787573ecf5746a085af509f15ab248885 Mon Sep 17 00:00:00 2001 From: jvyden Date: Fri, 29 Jul 2022 17:20:01 -0400 Subject: [PATCH] Implement LBP3 search tab Closes #377 --- .../Controllers/Slots/CollectionController.cs | 2 ++ .../Controllers/Slots/SearchController.cs | 20 +++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/Slots/CollectionController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/Slots/CollectionController.cs index c6ce69db..4d7eb1b8 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/Slots/CollectionController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/Slots/CollectionController.cs @@ -47,6 +47,8 @@ public class CollectionController : ControllerBase } ); + categoriesSerialized += LbpSerializer.StringElement("text_search", LbpSerializer.StringElement("url", "/slots/searchLBP3")); + return this.Ok ( LbpSerializer.TaggedStringElement diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/Slots/SearchController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/Slots/SearchController.cs index 08c68e34..2e4de98a 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/Slots/SearchController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/Slots/SearchController.cs @@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore; namespace LBPUnion.ProjectLighthouse.Servers.GameServer.Controllers.Slots; [ApiController] -[Route("LITTLEBIGPLANETPS3_XML/")] +[Route("LITTLEBIGPLANETPS3_XML/slots")] [Produces("text/xml")] public class SearchController : ControllerBase { @@ -19,8 +19,17 @@ public class SearchController : ControllerBase this.database = database; } - [HttpGet("slots/search")] - public async Task SearchSlots([FromQuery] string query, [FromQuery] int pageSize, [FromQuery] int pageStart) + [HttpGet("searchLBP3")] + public Task SearchSlotsLBP3([FromQuery] int pageSize, [FromQuery] int pageStart, [FromQuery] string textFilter) + => SearchSlots(textFilter, pageSize, pageStart, "results"); + + [HttpGet("search")] + public async Task SearchSlots( + [FromQuery] string query, + [FromQuery] int pageSize, + [FromQuery] int pageStart, + string keyName = "slots" + ) { GameToken? gameToken = await this.database.GameTokenFromRequest(this.Request); if (gameToken == null) return this.StatusCode(403, ""); @@ -51,6 +60,9 @@ public class SearchController : ControllerBase string response = slots.Aggregate("", (current, slot) => current + slot.Serialize(gameToken.GameVersion)); - return this.Ok(LbpSerializer.TaggedStringElement("slots", response, "total", dbQuery.Count())); + return this.Ok(LbpSerializer.TaggedStringElement(keyName, response, "total", dbQuery.Count())); } + + // /LITTLEBIGPLANETPS3_XML?pageStart=1&pageSize=10&resultTypes[]=slot&resultTypes[]=playlist&resultTypes[]=user&adventure=dontCare&textFilter=qwer + } \ No newline at end of file