From a7fd4145a78476021f4e41e6a3a2b9de9acb35e6 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 30 Nov 2016 16:44:29 +0100 Subject: [PATCH] avatar implementation --- Yavsc/ApiControllers/AccountController.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Yavsc/ApiControllers/AccountController.cs b/Yavsc/ApiControllers/AccountController.cs index dcb3d8b4..3627ef22 100644 --- a/Yavsc/ApiControllers/AccountController.cs +++ b/Yavsc/ApiControllers/AccountController.cs @@ -11,6 +11,7 @@ namespace Yavsc.WebApi.Controllers using Models.Account; using ViewModels.Account; using Models.Auth; + using Yavsc.Helpers; [Authorize,Route("~/api/account")] public class ApiAccountController : Controller @@ -136,6 +137,7 @@ namespace Yavsc.WebApi.Controllers ); return Ok(user); } + [HttpPut("~/api/me")] public async Task UpdateMe(MyUpdate me) { @@ -160,7 +162,18 @@ namespace Yavsc.WebApi.Controllers return Ok(); } - - + [HttpPost("~/api/setavatar")] + public async Task SetAvatar() + { + var root = User.InitPostToFileSystem(null); + var user = await _userManager.FindByIdAsync(User.GetUserId()); + long usage = user.DiskUsage; + if (Request.Form.Files.Count!=1) + return new BadRequestResult(); + var info = user.ReceiveUserFile(root, user.DiskQuota, ref usage, Request.Form.Files[0]); + user.DiskUsage = usage; + await _userManager.UpdateAsync(user); + return Ok(info); + } } }