From ff19b747d8d53b9cb67b78ab56a1f80e939667a2 Mon Sep 17 00:00:00 2001 From: Alan Moon Date: Mon, 21 Aug 2023 16:03:34 +0000 Subject: [PATCH] backport Set/GetProduct from WoJSReStartedApi Co-authored-by: Robert Paciorek --- src/Controllers/Common/ContentController.cs | 26 +++++++++++++++++++++ src/Model/Viking.cs | 2 ++ 2 files changed, 28 insertions(+) diff --git a/src/Controllers/Common/ContentController.cs b/src/Controllers/Common/ContentController.cs index 0b78256..8d73667 100644 --- a/src/Controllers/Common/ContentController.cs +++ b/src/Controllers/Common/ContentController.cs @@ -35,6 +35,32 @@ public class ContentController : Controller { this.config = config; } + [HttpPost] + //[Produces("application/xml")] + [Route("ContentWebService.asmx/GetProduct")] // used by World Of Jumpstart + public string? GetProduct([FromForm] string apiToken) + { + Viking? user = ctx.Sessions.FirstOrDefault(x => x.ApiToken == apiToken)?.Viking; + if (user is null) + return string.Empty; + + return user.ProductData; + } + + [HttpPost] + //[Produces("application/xml")] + [Route("ContentWebService.asmx/SetProduct")] // used by World Of Jumpstart + public string? SetProduct([FromForm] string apiToken, [FromForm] string contentXml) + { + Viking? child = ctx.Sessions.FirstOrDefault(x => x.ApiToken == apiToken)?.Viking; + if (child is null) + return string.Empty; + + child.ProductData = contentXml; + ctx.SaveChanges(); + return child.ProductData; + } + [HttpPost] [Produces("application/xml")] [Route("ContentWebService.asmx/GetDefaultNameSuggestion")] diff --git a/src/Model/Viking.cs b/src/Model/Viking.cs index 731deb0..d5146d8 100644 --- a/src/Model/Viking.cs +++ b/src/Model/Viking.cs @@ -33,4 +33,6 @@ public class Viking { public virtual ICollection GameData { get; set; } = null!; public virtual ICollection ProfileAnswers { get; set; } = null!; public virtual Dragon? SelectedDragon { get; set; } + + public string? ProductData { get; set; } }