aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-31 13:38:15 +0200
committertranstrike <transtrike@gmail.com>2021-01-31 13:38:15 +0200
commit5a8c7d92216bb7fafc649056a00c11682b82a279 (patch)
treec6b308f1b971b46f4ca750108a1371bb7cd13b5c /src/DevHive.Web
parent505bc41720cbcd02d65e17a6440931c87abcdeda (diff)
downloadDevHive-5a8c7d92216bb7fafc649056a00c11682b82a279.tar
DevHive-5a8c7d92216bb7fafc649056a00c11682b82a279.tar.gz
DevHive-5a8c7d92216bb7fafc649056a00c11682b82a279.zip
Fixed NullReference in cloud, CommentEditingWebModel, PromotionToAdmin, Posts violate key in db
Diffstat (limited to 'src/DevHive.Web')
-rw-r--r--src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs20
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs2
-rw-r--r--src/DevHive.Web/Controllers/CommentController.cs9
-rw-r--r--src/DevHive.Web/Controllers/PostController.cs4
-rw-r--r--src/DevHive.Web/Controllers/UserController.cs13
-rw-r--r--src/DevHive.Web/Models/Comment/UpdateCommentWebModel.cs2
-rw-r--r--src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs1
-rw-r--r--src/DevHive.Web/Models/Identity/User/LoginWebModel.cs1
-rw-r--r--src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs1
-rw-r--r--src/DevHive.Web/Models/Post/CreatePostWebModel.cs2
10 files changed, 14 insertions, 41 deletions
diff --git a/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs b/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs
deleted file mode 100644
index 26e0733..0000000
--- a/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-
-namespace DevHive.Web.Attributes
-{
- public class OnlyAlphanumerics : ValidationAttribute
- {
- public override bool IsValid(object value)
- {
- var stringValue = (string)value;
-
- foreach (char ch in stringValue)
- {
- if (!Char.IsLetterOrDigit(ch))
- return false;
- }
- return true;
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
index 22df311..5c0d378 100644
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
+++ b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
@@ -7,7 +7,7 @@ using Microsoft.Extensions.DependencyInjection;
namespace DevHive.Web.Configurations.Extensions
{
- public static class ConfigureDependencyInjection
+ public static class ConfigureDependencyInjection
{
public static void DependencyInjectionConfiguration(this IServiceCollection services, IConfiguration configuration)
{
diff --git a/src/DevHive.Web/Controllers/CommentController.cs b/src/DevHive.Web/Controllers/CommentController.cs
index ebcb87a..150d622 100644
--- a/src/DevHive.Web/Controllers/CommentController.cs
+++ b/src/DevHive.Web/Controllers/CommentController.cs
@@ -9,10 +9,11 @@ using DevHive.Services.Interfaces;
namespace DevHive.Web.Controllers
{
- [ApiController]
+ [ApiController]
[Route("/api/[controller]")]
[Authorize(Roles = "User,Admin")]
- public class CommentController {
+ public class CommentController
+ {
private readonly ICommentService _commentService;
private readonly IMapper _commentMapper;
@@ -50,9 +51,9 @@ namespace DevHive.Web.Controllers
}
[HttpPut]
- public async Task<IActionResult> UpdateComment(Guid userId, [FromBody] UpdateCommentWebModel updateCommentWebModel, [FromHeader] string authorization)
+ public async Task<IActionResult> UpdateComment(Guid userId, Guid commentId, [FromBody] UpdateCommentWebModel updateCommentWebModel, [FromHeader] string authorization)
{
- if (!await this._commentService.ValidateJwtForComment(updateCommentWebModel.CommentId, authorization))
+ if (!await this._commentService.ValidateJwtForComment(commentId, authorization))
return new UnauthorizedResult();
UpdateCommentServiceModel updateCommentServiceModel =
diff --git a/src/DevHive.Web/Controllers/PostController.cs b/src/DevHive.Web/Controllers/PostController.cs
index 53adfce..ea9a1cd 100644
--- a/src/DevHive.Web/Controllers/PostController.cs
+++ b/src/DevHive.Web/Controllers/PostController.cs
@@ -9,7 +9,7 @@ using DevHive.Services.Interfaces;
namespace DevHive.Web.Controllers
{
- [ApiController]
+ [ApiController]
[Route("/api/[controller]")]
[Authorize(Roles = "User,Admin")]
public class PostController
@@ -25,7 +25,7 @@ namespace DevHive.Web.Controllers
#region Create
[HttpPost]
- public async Task<IActionResult> Create(Guid userId, [FromBody] CreatePostWebModel createPostWebModel, [FromHeader] string authorization)
+ public async Task<IActionResult> Create(Guid userId, [FromForm] CreatePostWebModel createPostWebModel, [FromHeader] string authorization)
{
if (!await this._postService.ValidateJwtForCreating(userId, authorization))
return new UnauthorizedResult();
diff --git a/src/DevHive.Web/Controllers/UserController.cs b/src/DevHive.Web/Controllers/UserController.cs
index 2fe9c2f..fdf317c 100644
--- a/src/DevHive.Web/Controllers/UserController.cs
+++ b/src/DevHive.Web/Controllers/UserController.cs
@@ -13,7 +13,6 @@ namespace DevHive.Web.Controllers
{
[ApiController]
[Route("/api/[controller]")]
- [Authorize(Roles = "User,Admin")]
public class UserController : ControllerBase
{
private readonly IUserService _userService;
@@ -55,6 +54,7 @@ namespace DevHive.Web.Controllers
#region Read
[HttpGet]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> GetById(Guid id, [FromHeader] string authorization)
{
if (!await this._userService.ValidJWT(id, authorization))
@@ -80,6 +80,7 @@ namespace DevHive.Web.Controllers
#region Update
[HttpPut]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateUserWebModel updateUserWebModel, [FromHeader] string authorization)
{
if (!await this._userService.ValidJWT(id, authorization))
@@ -97,6 +98,7 @@ namespace DevHive.Web.Controllers
#region Delete
[HttpDelete]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> Delete(Guid id, [FromHeader] string authorization)
{
if (!await this._userService.ValidJWT(id, authorization))
@@ -111,16 +113,11 @@ namespace DevHive.Web.Controllers
#endregion
[HttpPost]
+ [Authorize(Roles = "User,Admin")]
[Route("SuperSecretPromotionToAdmin")]
public async Task<IActionResult> SuperSecretPromotionToAdmin(Guid userId)
{
- object obj = new
- {
- UserId = userId,
- AdminRoleId = await this._userService.SuperSecretPromotionToAdmin(userId)
- };
-
- return new OkObjectResult(obj);
+ return new OkObjectResult(await this._userService.SuperSecretPromotionToAdmin(userId));
}
}
}
diff --git a/src/DevHive.Web/Models/Comment/UpdateCommentWebModel.cs b/src/DevHive.Web/Models/Comment/UpdateCommentWebModel.cs
index b5d7970..1e120fd 100644
--- a/src/DevHive.Web/Models/Comment/UpdateCommentWebModel.cs
+++ b/src/DevHive.Web/Models/Comment/UpdateCommentWebModel.cs
@@ -4,8 +4,6 @@ namespace DevHive.Web.Models.Comment
{
public class UpdateCommentWebModel
{
- public Guid CommentId { get; set; }
-
public Guid PostId { get; set; }
public string NewMessage { get; set; }
diff --git a/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs
index d7d8d29..297e1a5 100644
--- a/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs
@@ -10,7 +10,6 @@ namespace DevHive.Web.Models.Identity.User
[Required]
[MinLength(3)]
[MaxLength(50)]
- [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
public string UserName { get; set; }
[NotNull]
diff --git a/src/DevHive.Web/Models/Identity/User/LoginWebModel.cs b/src/DevHive.Web/Models/Identity/User/LoginWebModel.cs
index 0395274..ccd806f 100644
--- a/src/DevHive.Web/Models/Identity/User/LoginWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/LoginWebModel.cs
@@ -10,7 +10,6 @@ namespace DevHive.Web.Models.Identity.User
[Required]
[MinLength(3)]
[MaxLength(50)]
- [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
public string UserName { get; set; }
[NotNull]
diff --git a/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs b/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs
index a20c1bf..c533bba 100644
--- a/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs
@@ -10,7 +10,6 @@ namespace DevHive.Web.Models.Identity.User
[Required]
[MinLength(3)]
[MaxLength(50)]
- [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
public string UserName { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Post/CreatePostWebModel.cs b/src/DevHive.Web/Models/Post/CreatePostWebModel.cs
index 256055a..237259d 100644
--- a/src/DevHive.Web/Models/Post/CreatePostWebModel.cs
+++ b/src/DevHive.Web/Models/Post/CreatePostWebModel.cs
@@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Http;
namespace DevHive.Web.Models.Post
{
- public class CreatePostWebModel
+ public class CreatePostWebModel
{
[NotNull]
[Required]