diff options
Diffstat (limited to 'BackEnd/Timeline/Controllers')
-rw-r--r-- | BackEnd/Timeline/Controllers/Resource.Designer.cs | 36 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/Resource.resx | 12 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/TimelinePostController.cs | 1 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/UserAvatarController.cs | 32 |
4 files changed, 9 insertions, 72 deletions
diff --git a/BackEnd/Timeline/Controllers/Resource.Designer.cs b/BackEnd/Timeline/Controllers/Resource.Designer.cs index c062380b..a647558a 100644 --- a/BackEnd/Timeline/Controllers/Resource.Designer.cs +++ b/BackEnd/Timeline/Controllers/Resource.Designer.cs @@ -106,42 +106,6 @@ namespace Timeline.Controllers { }
/// <summary>
- /// Looks up a localized string similar to Image is not a square..
- /// </summary>
- internal static string MessageImageBadSize {
- get {
- return ResourceManager.GetString("MessageImageBadSize", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Image decode failed..
- /// </summary>
- internal static string MessageImageDecodeFailed {
- get {
- return ResourceManager.GetString("MessageImageDecodeFailed", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Specified image format does not match the actual one ..
- /// </summary>
- internal static string MessageImageFormatUnmatch {
- get {
- return ResourceManager.GetString("MessageImageFormatUnmatch", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Unknown error happened to image..
- /// </summary>
- internal static string MessageImageUnknownError {
- get {
- return ResourceManager.GetString("MessageImageUnknownError", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to You can't do this because it is the root user..
/// </summary>
internal static string MessageInvalidOperationOnRootUser {
diff --git a/BackEnd/Timeline/Controllers/Resource.resx b/BackEnd/Timeline/Controllers/Resource.resx index afaa1ba1..47b7a329 100644 --- a/BackEnd/Timeline/Controllers/Resource.resx +++ b/BackEnd/Timeline/Controllers/Resource.resx @@ -132,18 +132,6 @@ <data name="MessageForbidNotAdministratorOrOwner" xml:space="preserve">
<value>You can't do this unless you are administrator or resource owner.</value>
</data>
- <data name="MessageImageBadSize" xml:space="preserve">
- <value>Image is not a square.</value>
- </data>
- <data name="MessageImageDecodeFailed" xml:space="preserve">
- <value>Image decode failed.</value>
- </data>
- <data name="MessageImageFormatUnmatch" xml:space="preserve">
- <value>Specified image format does not match the actual one .</value>
- </data>
- <data name="MessageImageUnknownError" xml:space="preserve">
- <value>Unknown error happened to image.</value>
- </data>
<data name="MessageInvalidOperationOnRootUser" xml:space="preserve">
<value>You can't do this because it is the root user.</value>
</data>
diff --git a/BackEnd/Timeline/Controllers/TimelinePostController.cs b/BackEnd/Timeline/Controllers/TimelinePostController.cs index c33d47aa..21d3821a 100644 --- a/BackEnd/Timeline/Controllers/TimelinePostController.cs +++ b/BackEnd/Timeline/Controllers/TimelinePostController.cs @@ -202,7 +202,6 @@ namespace Timeline.Controllers }
}
-
try
{
var post = await _postService.CreatePostAsync(timelineId, userId, createRequest);
diff --git a/BackEnd/Timeline/Controllers/UserAvatarController.cs b/BackEnd/Timeline/Controllers/UserAvatarController.cs index 376e1f11..5b8c5cdf 100644 --- a/BackEnd/Timeline/Controllers/UserAvatarController.cs +++ b/BackEnd/Timeline/Controllers/UserAvatarController.cs @@ -7,7 +7,6 @@ using Timeline.Helpers.Cache; using Timeline.Models;
using Timeline.Models.Http;
using Timeline.Models.Validation;
-using Timeline.Services.Imaging;
using Timeline.Services.User;
using Timeline.Services.User.Avatar;
@@ -36,7 +35,7 @@ namespace Timeline.Controllers /// <param name="ifNoneMatch">If-None-Match header.</param>
/// <returns>Avatar data.</returns>
[HttpGet("users/{username}/avatar")]
- [Produces("image/png", "image/jpeg", "image/gif", "image/webp", "application/json", "text/json")]
+ [ProducesImages]
[ProducesResponseType(typeof(byte[]), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(void), StatusCodes.Status304NotModified)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
@@ -54,7 +53,7 @@ namespace Timeline.Controllers /// <param name="body">The avatar data.</param>
[HttpPut("users/{username}/avatar")]
[Authorize]
- [Consumes("image/png", "image/jpeg", "image/gif", "image/webp")]
+ [ConsumesImages]
[MaxContentLength(1000 * 1000 * 10)]
[ProducesResponseType(typeof(void), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
@@ -62,31 +61,17 @@ namespace Timeline.Controllers [ProducesResponseType(StatusCodes.Status403Forbidden)]
public async Task<IActionResult> Put([FromRoute][Username] string username, [FromBody] ByteData body)
{
- if (!UserHasPermission(UserPermission.UserManagement) && User.Identity!.Name != username)
+ if (!UserHasPermission(UserPermission.UserManagement) && GetUsername() != username)
{
return ForbidWithCommonResponse(Resource.MessageForbidNotAdministratorOrOwner);
}
long id = await _userService.GetUserIdByUsernameAsync(username);
- try
- {
- var digest = await _service.SetAvatarAsync(id, body);
-
- Response.Headers.Append("ETag", $"\"{digest.ETag}\"");
+ var digest = await _service.SetAvatarAsync(id, body);
- return Ok();
- }
- catch (ImageException e)
- {
- return BadRequest(e.Error switch
- {
- ImageException.ErrorReason.CantDecode => new CommonResponse(ErrorCodes.Image.CantDecode, Resource.MessageImageDecodeFailed),
- ImageException.ErrorReason.UnmatchedFormat => new CommonResponse(ErrorCodes.Image.UnmatchedFormat, Resource.MessageImageFormatUnmatch),
- ImageException.ErrorReason.BadSize => new CommonResponse(ErrorCodes.Image.BadSize, Resource.MessageImageBadSize),
- _ => new CommonResponse(ErrorCodes.Image.Unknown, Resource.MessageImageUnknownError)
- });
- }
+ Response.Headers.Append("ETag", $"\"{digest.ETag}\"");
+ return Ok();
}
/// <summary>
@@ -98,11 +83,12 @@ namespace Timeline.Controllers /// <response code="401">You have not logged in.</response>
/// <response code="403">You are not administrator.</response>
[HttpDelete("users/{username}/avatar")]
+ [Authorize]
+ [NotEntityDelete]
[ProducesResponseType(typeof(void), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
- [Authorize]
public async Task<IActionResult> Delete([FromRoute][Username] string username)
{
if (!UserHasPermission(UserPermission.UserManagement) && User.Identity!.Name != username)
@@ -113,7 +99,7 @@ namespace Timeline.Controllers long id = await _userService.GetUserIdByUsernameAsync(username);
await _service.DeleteAvatarAsync(id);
- return Ok();
+ return OkWithCommonResponse();
}
}
}
|