From f611b9203cade4808da7461cca2ba5b243f3acc4 Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Thu, 5 Oct 2023 20:47:36 +0000 Subject: [PATCH] SetAvatar (v1) should return bool --- src/Controllers/Common/ContentController.cs | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Controllers/Common/ContentController.cs b/src/Controllers/Common/ContentController.cs index ae9c0e1..9801a97 100644 --- a/src/Controllers/Common/ContentController.cs +++ b/src/Controllers/Common/ContentController.cs @@ -409,6 +409,29 @@ public class ContentController : Controller { [HttpPost] [Produces("application/xml")] [Route("ContentWebService.asmx/SetAvatar")] // used by World Of Jumpstart + [VikingSession] + public IActionResult SetAvatarV1(Viking viking, [FromForm] string contentXML) { + if (viking.AvatarSerialized != null) { + AvatarData dbAvatarData = XmlUtil.DeserializeXml(viking.AvatarSerialized); + AvatarData reqAvatarData = XmlUtil.DeserializeXml(contentXML); + + int dbAvatarVersion = GetAvatarVersion(dbAvatarData); + int reqAvatarVersion = GetAvatarVersion(reqAvatarData); + + if (dbAvatarVersion > reqAvatarVersion) { + // do not allow override newer version avatar data by older version + return Ok(false); + } + } + + viking.AvatarSerialized = contentXML; + ctx.SaveChanges(); + + return Ok(true); + } + + [HttpPost] + [Produces("application/xml")] [Route("V2/ContentWebService.asmx/SetAvatar")] [VikingSession] public IActionResult SetAvatar(Viking viking, [FromForm] string contentXML) {