diff --git a/Controllers/v1/AnotherSkinsController.cs b/Controllers/v1/AnotherSkinsController.cs new file mode 100644 index 0000000..0ae12a6 --- /dev/null +++ b/Controllers/v1/AnotherSkinsController.cs @@ -0,0 +1,39 @@ +using Microsoft.AspNetCore.Mvc; +using SkinsApi.Interfaces.Services; + +namespace SkinsApi.Controllers.v1 +{ + [Route("/skin/")] + [ApiController] + public class AnotherSkinsController ( ISkinService skinService) : ControllerBase + { + [HttpGet("{skin_type}/{width}/{user}")] + [Produces("image/png")] + [ProducesResponseType(200)] + public async Task GetSkin(string skin_type, int width, string user) + { + try + { + Stream stream; + switch (skin_type) + { + case "face": + stream = (await skinService.GetSkinStreamAsync(user)).GetFace(width); + break; + case "front": + stream = (await skinService.GetSkinStreamAsync(user)).GetBody(width); + break; + default: + stream = (await skinService.GetSkinStreamAsync(user)).GetFull(width); + break; + + } + return File(stream, "image/png"); + } + catch + { + return NotFound(); + } + } + } +}