diff options
Diffstat (limited to 'backend/Elements.Backend/Controllers')
| -rw-r--r-- | backend/Elements.Backend/Controllers/ElementController.cs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/backend/Elements.Backend/Controllers/ElementController.cs b/backend/Elements.Backend/Controllers/ElementController.cs index 2f57514..d916c47 100644 --- a/backend/Elements.Backend/Controllers/ElementController.cs +++ b/backend/Elements.Backend/Controllers/ElementController.cs @@ -1,5 +1,7 @@ using System.Buffers.Text; using System.Text.Json; +using System.Text.Json.Serialization; +using Elements.Backend.DTOs; using Elements.Data; using Elements.Data.Models; using Microsoft.AspNetCore.Http.HttpResults; @@ -29,12 +31,12 @@ public class ElementController : ControllerBase if (element == null) return NotFound(); - var response = new + var response = new ElementDTO() { Id = element.Id, Name = element.Name, CreatorName = element.User.Name, - State = element.State, + State = (int)element.State, Icon = Convert.ToBase64String(element.IconPng) }; @@ -51,13 +53,22 @@ public class ElementController : ControllerBase if (!firstExists || !secondExists) return BadRequest(); - Recipe? recipe = await _dbContext.Recipes.Include(r => r.ResultElement).FirstOrDefaultAsync(r => + Recipe? recipe = await _dbContext.Recipes.Include(r => r.ResultElement).ThenInclude(element => element.User).FirstOrDefaultAsync(r => (r.FirstElementId == firstElementId && r.SecondElementId == secondElementId) || (r.FirstElementId == secondElementId && r.SecondElementId == firstElementId)); if (recipe == null) return NotFound(); + var response = new ElementDTO() + { + Id = recipe.ResultElement.Id, + Name = recipe.ResultElement.Name, + CreatorName = recipe.ResultElement.User.Name, + State = (int)recipe.ResultElement.State, + Icon = Convert.ToBase64String(recipe.ResultElement.IconPng) + }; + var serializeOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; - return Ok(JsonSerializer.Serialize(recipe.ResultElement, serializeOptions)); + return Ok(JsonSerializer.Serialize(response, serializeOptions)); } }
\ No newline at end of file |
