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; } }