diff options
| author | transtrike <transtrike@gmail.com> | 2021-03-13 11:44:01 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-03-13 11:44:25 +0200 |
| commit | 93ded2b68a31fc9da643ac65955219e4f306ab82 (patch) | |
| tree | 9647a722d5974337f999da34b9a023114b0a9324 /src/Web/DevHive.Web/Controllers/PostController.cs | |
| parent | 441f04790659a439c0054b7b06130d14cc2eb90b (diff) | |
| download | DevHive-93ded2b68a31fc9da643ac65955219e4f306ab82.tar DevHive-93ded2b68a31fc9da643ac65955219e4f306ab82.tar.gz DevHive-93ded2b68a31fc9da643ac65955219e4f306ab82.zip | |
XML Docs on all controllers
Diffstat (limited to 'src/Web/DevHive.Web/Controllers/PostController.cs')
| -rw-r--r-- | src/Web/DevHive.Web/Controllers/PostController.cs | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/Web/DevHive.Web/Controllers/PostController.cs b/src/Web/DevHive.Web/Controllers/PostController.cs index 309070c..44b291d 100644 --- a/src/Web/DevHive.Web/Controllers/PostController.cs +++ b/src/Web/DevHive.Web/Controllers/PostController.cs @@ -10,6 +10,9 @@ using DevHive.Common.Jwt.Interfaces; namespace DevHive.Web.Controllers { + /// <summary> + /// All endpoints for interacting with the post layer + /// </summary> [ApiController] [Route("/api/[controller]")] [Authorize(Roles = "User,Admin")] @@ -27,6 +30,13 @@ namespace DevHive.Web.Controllers } #region Create + /// <summary> + /// Create a new post + /// </summary> + /// <param name="userId">The user's Id</param> + /// <param name="createPostWebModel">The new post's data</param> + /// <param name="authorization">JWT Bearer token</param> + /// <returns>New post's Id</returns> [HttpPost] public async Task<IActionResult> Create(Guid userId, [FromForm] CreatePostWebModel createPostWebModel, [FromHeader] string authorization) { @@ -46,6 +56,11 @@ namespace DevHive.Web.Controllers #endregion #region Read + /// <summary> + /// Query full post's data by it's Id + /// </summary> + /// <param name="id">The post's Id</param> + /// <returns>Full data model of the post</returns> [HttpGet] [AllowAnonymous] public async Task<IActionResult> GetById(Guid id) @@ -58,6 +73,13 @@ namespace DevHive.Web.Controllers #endregion #region Update + /// <summary> + /// Update post's data. Creator only! + /// </summary> + /// <param name="userId">The post creator's Id</param> + /// <param name="updatePostWebModel">The new params of the post</param> + /// <param name="authorization">JWT Bearer token</param> + /// <returns>The post's Id</returns> [HttpPut] public async Task<IActionResult> Update(Guid userId, [FromForm] UpdatePostWebModel updatePostWebModel, [FromHeader] string authorization) { @@ -80,13 +102,19 @@ namespace DevHive.Web.Controllers #endregion #region Delete + /// <summary> + /// Delete a post. Creator only! + /// </summary> + /// <param name="postId">Post's Id</param> + /// <param name="authorization">JWT Bearer token</param> + /// <returns>Ok result</returns> [HttpDelete] - public async Task<IActionResult> Delete(Guid id, [FromHeader] string authorization) + public async Task<IActionResult> Delete(Guid postId, [FromHeader] string authorization) { - if (!await this._postService.ValidateJwtForPost(id, authorization)) + if (!await this._postService.ValidateJwtForPost(postId, authorization)) return new UnauthorizedResult(); - return await this._postService.DeletePost(id) ? + return await this._postService.DeletePost(postId) ? new OkResult() : new BadRequestObjectResult("Could not delete Post"); } |
