Add one long hierarchical method, change some return codes
This commit is contained in:
@@ -102,7 +102,7 @@ public class PostController(
|
||||
if (tag == null)
|
||||
return Problem(
|
||||
detail: $"'{tagName}' is not a valid tag",
|
||||
statusCode: StatusCodes.Status400BadRequest
|
||||
statusCode: StatusCodes.Status422UnprocessableEntity
|
||||
);
|
||||
tags.Add(tag);
|
||||
}
|
||||
@@ -123,6 +123,7 @@ public class PostController(
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status403Forbidden)]
|
||||
[ProducesResponseType(StatusCodes.Status422UnprocessableEntity)]
|
||||
public async Task<ActionResult<PostDto>> Create(CreatePostDto dto)
|
||||
{
|
||||
var userId = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value;
|
||||
@@ -172,7 +173,9 @@ public class PostController(
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status403Forbidden)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(StatusCodes.Status409Conflict)]
|
||||
[ProducesResponseType(StatusCodes.Status415UnsupportedMediaType)]
|
||||
[ProducesResponseType(StatusCodes.Status422UnprocessableEntity)]
|
||||
public async Task<IActionResult> PatchFileContent(int postId, int fileId)
|
||||
{
|
||||
var post = await postService.GetById(postId, includeUnfinished: true);
|
||||
@@ -186,7 +189,7 @@ public class PostController(
|
||||
if (userId != post.Author.Id) return Forbid();
|
||||
|
||||
if (fileRecord.FinishedDate != null)
|
||||
return Problem(statusCode: StatusCodes.Status400BadRequest,
|
||||
return Problem(statusCode: StatusCodes.Status409Conflict,
|
||||
detail: "File was already uploaded.");
|
||||
|
||||
// Parse the Content-Range Header
|
||||
@@ -204,7 +207,7 @@ public class PostController(
|
||||
if (totalSizeFromHeader != totalSize)
|
||||
{
|
||||
return Problem(
|
||||
statusCode: StatusCodes.Status400BadRequest,
|
||||
statusCode: StatusCodes.Status422UnprocessableEntity,
|
||||
detail: $"Total file size mismatch. Expected: {totalSize} bytes, Received: {totalSizeFromHeader} bytes."
|
||||
);
|
||||
}
|
||||
@@ -383,6 +386,7 @@ public class PostController(
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status403Forbidden)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(StatusCodes.Status422UnprocessableEntity)]
|
||||
public async Task<ActionResult<PostDto>> Update(int id, EditPostDto dto)
|
||||
{
|
||||
var post = await postService.GetById(id);
|
||||
@@ -550,6 +554,7 @@ public class PostController(
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status403Forbidden)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(StatusCodes.Status422UnprocessableEntity)]
|
||||
public async Task<ActionResult<CommentDto>> Update(int postId, int commentId, EditCommentDto dto)
|
||||
{
|
||||
var post = await postService.GetById(postId);
|
||||
|
||||
Reference in New Issue
Block a user