Fixing sonarcloud issues

This commit is contained in:
2025-06-19 19:29:05 +02:00
parent 1fc8e6cc1c
commit e03db76496
62 changed files with 152 additions and 129 deletions

23
.editorconfig Normal file
View File

@@ -0,0 +1,23 @@
# top-most EditorConfig file
root = true
# Core EditorConfig properties
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.cs]
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_rule.types.symbols = types
dotnet_naming_rule.types.style = pascal_case
dotnet_naming_rule.types.severity = warning
csharp_prefer_braced_block = true:suggestion
csharp_preserve_single_line_blocks = true
csharp_style_expression_bodied_methods = when_on_single_line:suggestion

View File

@@ -66,7 +66,7 @@ public class AuthController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(AuthenticatedUser)); Assert.IsInstanceOfType(result.Data, typeof(AuthenticatedUser));
} }
else else
@@ -103,7 +103,7 @@ public class AuthController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -173,7 +173,7 @@ public class AuthController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -212,8 +212,8 @@ public class AuthController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {

View File

@@ -75,7 +75,7 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(RoleDto)); Assert.IsInstanceOfType(result.Data, typeof(RoleDto));
} }
else else
@@ -110,7 +110,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -172,7 +172,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -207,8 +207,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {
@@ -260,7 +260,7 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(RoleDto)); Assert.IsInstanceOfType(result.Data, typeof(RoleDto));
} }
else else
@@ -302,8 +302,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.AreEqual("Invalid name", result.Message ); Assert.AreEqual("Invalid name", result.Message);
} }
else else
{ {
@@ -346,7 +346,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -396,8 +396,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.IsTrue(result.Message == "Not created"); Assert.AreEqual("Not created", result.Message);
} }
else else
{ {
@@ -446,7 +446,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -499,8 +499,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {
@@ -560,7 +560,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -622,7 +622,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -657,8 +657,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {
@@ -713,7 +713,7 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(RoleDto)); Assert.IsInstanceOfType(result.Data, typeof(RoleDto));
} }
else else
@@ -791,8 +791,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.AreEqual("Invalid name", result.Message ); Assert.AreEqual("Invalid name", result.Message);
} }
else else
{ {
@@ -837,7 +837,7 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.IsTrue(result.Message == "This role is not editable"); Assert.IsTrue(result.Message == "This role is not editable");
} }
else else
@@ -879,7 +879,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -927,7 +927,7 @@ public class RoleController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -981,8 +981,8 @@ public class RoleController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {

View File

@@ -85,7 +85,7 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(UserDto)); Assert.IsInstanceOfType(result.Data, typeof(UserDto));
} }
else else
@@ -120,7 +120,7 @@ public class UserController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -182,7 +182,7 @@ public class UserController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -217,8 +217,8 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {
@@ -270,7 +270,7 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status200OK); Assert.AreEqual(StatusCodes.Status200OK, result.Status);
Assert.IsInstanceOfType(result.Data, typeof(UserDto)); Assert.IsInstanceOfType(result.Data, typeof(UserDto));
} }
else else
@@ -316,7 +316,7 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.IsTrue(result.Message == "Invalid email"); Assert.IsTrue(result.Message == "Invalid email");
} }
else else
@@ -367,7 +367,7 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.IsTrue(result.Message == "Role not found"); Assert.IsTrue(result.Message == "Role not found");
} }
else else
@@ -412,7 +412,7 @@ public class UserController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
// else // else
@@ -467,8 +467,8 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
Assert.IsTrue(result.Message == "Not created"); Assert.AreEqual("Not created", result.Message);
} }
else else
{ {
@@ -520,7 +520,7 @@ public class UserController_Tests
// var result = (BaseResponse<object>)response.Value; // var result = (BaseResponse<object>)response.Value;
// if (result != null) // if (result != null)
// { // {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest); // Assert.AreEqual(StatusCodes.Status400BadRequest, result.Status);
// Console.WriteLine(JsonConvert.SerializeObject(result)); // Console.WriteLine(JsonConvert.SerializeObject(result));
// Assert.IsTrue(result.Message == "Request is not well formed"); // Assert.IsTrue(result.Message == "Request is not well formed");
// } // }
@@ -582,8 +582,8 @@ public class UserController_Tests
var result = (BaseResponse<object>)response.Value; var result = (BaseResponse<object>)response.Value;
if (result != null) if (result != null)
{ {
Assert.IsTrue(result.Status == StatusCodes.Status500InternalServerError); Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
Assert.AreEqual("Something went wrong. Unexpected error", result.Message ); Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
} }
else else
{ {

View File

@@ -143,4 +143,4 @@ public class JwtAuthorizationAttribute_Tests
Assert.IsNotInstanceOfType(context.Result, typeof(UnauthorizedResult)); Assert.IsNotInstanceOfType(context.Result, typeof(UnauthorizedResult));
} }
} }

View File

@@ -33,4 +33,4 @@ public class UserRole_Tests
Assert.Fail($"An exception was thrown: {ex}"); Assert.Fail($"An exception was thrown: {ex}");
} }
} }
} }

View File

@@ -36,4 +36,4 @@ public class AuthenticatedUser_Tests
Assert.Fail($"An exception was thrown: {ex}"); Assert.Fail($"An exception was thrown: {ex}");
} }
} }
} }

View File

@@ -34,7 +34,7 @@ public class UserService_Tests
Console.WriteLine(ex.InnerException); Console.WriteLine(ex.InnerException);
Assert.Fail($"An exception was thrown: {ex.Message}"); Assert.Fail($"An exception was thrown: {ex.Message}");
} }
} }
[TestMethod] [TestMethod]
public async Task CheckIfEmailIsValid_EmailNotExists() public async Task CheckIfEmailIsValid_EmailNotExists()
@@ -366,7 +366,7 @@ public class UserService_Tests
var user = await _userService.UpdateUserPasswordAsync(_user!, "this-is-a-new-password"); var user = await _userService.UpdateUserPasswordAsync(_user!, "this-is-a-new-password");
Assert.IsInstanceOfType(user, typeof(User)); Assert.IsInstanceOfType(user, typeof(User));
Assert.IsNotNull(user); Assert.IsNotNull(user);
Assert.IsTrue(user.Password != oldPassword); Assert.AreNotEqual(user.Password, oldPassword);
} }
else else
{ {
@@ -424,7 +424,7 @@ public class UserService_Tests
var user = await _userService.UpdateUserRoleAsync(_user!, role); var user = await _userService.UpdateUserRoleAsync(_user!, role);
Assert.IsInstanceOfType(user, typeof(User)); Assert.IsInstanceOfType(user, typeof(User));
Assert.IsNotNull(user); Assert.IsNotNull(user);
Assert.IsTrue(user.Role?.Id != oldRole?.Id); Assert.AreNotEqual(user.Role?.Id, oldRole?.Id);
} }
else else
{ {

View File

@@ -21,4 +21,4 @@ public class ExceptionSqlServerContext : SqlServerContext
} }
return base.SaveChangesAsync(cancellationToken); return base.SaveChangesAsync(cancellationToken);
} }
} }

View File

@@ -33,4 +33,4 @@ public static class ModelsInit
}; };
return role; return role;
} }
} }

View File

@@ -53,4 +53,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
} }
} }
} }

View File

@@ -74,4 +74,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
#nullable disable #nullable disable
} }
} }

View File

@@ -67,9 +67,9 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{ {
try try
{ {
if (await this._roleService.CheckIfNameIsValid(request.Data.Name)) if (await this._roleService.CheckIfNameIsValid(request!.Data!.Name))
{ {
var role = await this._roleService.CreateRoleAsync(request.Data); var role = await this._roleService.CreateRoleAsync(request!.Data);
if (role == null || String.IsNullOrEmpty(role.Guid)) if (role == null || String.IsNullOrEmpty(role.Guid))
{ {
@@ -121,8 +121,8 @@ namespace BasicDotnetTemplate.MainProject.Controllers
} }
if ( if (
await this._roleService.CheckIfNameIsValid(request.Data.Name) || await this._roleService.CheckIfNameIsValid(request!.Data!.Name) ||
await this._roleService.CheckIfNameIsValid(request.Data.Name, guid) await this._roleService.CheckIfNameIsValid(request!.Data!.Name, guid)
) )
{ {
role = await this._roleService.UpdateRoleAsync(request.Data, role); role = await this._roleService.UpdateRoleAsync(request.Data, role);
@@ -167,7 +167,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return NotFound(); return NotFound();
} }
await this._roleService.DeleteRoleAsync(role); await this._roleService.DeleteRoleAsync(role);
return Success(String.Empty); return Success(String.Empty);
} }
@@ -185,4 +185,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
} }
} }

View File

@@ -15,4 +15,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return Ok(); return Ok();
} }
} }
} }

View File

@@ -25,7 +25,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
this._userService = userService; this._userService = userService;
this._roleService = roleService; this._roleService = roleService;
} }
[JwtAuthorization()] [JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute] [ModelStateValidationHandledByFilterAttribute]
@@ -73,13 +73,13 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{ {
if (await this._userService.CheckIfEmailIsValid(request!.Data!.Email)) if (await this._userService.CheckIfEmailIsValid(request!.Data!.Email))
{ {
var role = await this._roleService.GetRoleForUser(request.Data.RoleGuid); var role = await this._roleService.GetRoleForUser(request!.Data!.RoleGuid);
if (role == null) if (role == null)
{ {
return BadRequest("Role not found"); return BadRequest("Role not found");
} }
var user = await this._userService.CreateUserAsync(request.Data, role); var user = await this._userService.CreateUserAsync(request!.Data, role);
if (user == null || String.IsNullOrEmpty(user.Guid)) if (user == null || String.IsNullOrEmpty(user.Guid))
{ {
@@ -119,7 +119,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
try try
{ {
var user = await this._userService.GetUserByGuidAsync(guid); var user = await this._userService.GetUserByGuidAsync(guid);
if(user == null) if (user == null)
{ {
return NotFound(); return NotFound();
} }
@@ -129,7 +129,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
var userDto = _mapper?.Map<UserDto>(user); var userDto = _mapper?.Map<UserDto>(user);
return Success(String.Empty, userDto); return Success(String.Empty, userDto);
} }
catch (Exception exception) catch (Exception exception)
{ {
@@ -141,7 +141,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return InternalServerError(message); return InternalServerError(message);
} }
} }
[JwtAuthorization()] [JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute] [ModelStateValidationHandledByFilterAttribute]
@@ -154,7 +154,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
try try
{ {
var user = await this._userService.GetUserByGuidAsync(guid); var user = await this._userService.GetUserByGuidAsync(guid);
if(user == null) if (user == null)
{ {
return NotFound(); return NotFound();
} }
@@ -164,7 +164,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
var userDto = _mapper?.Map<UserDto>(user); var userDto = _mapper?.Map<UserDto>(user);
return Success(String.Empty, userDto); return Success(String.Empty, userDto);
} }
catch (Exception exception) catch (Exception exception)
{ {
@@ -176,7 +176,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return InternalServerError(message); return InternalServerError(message);
} }
} }
[JwtAuthorization()] [JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute] [ModelStateValidationHandledByFilterAttribute]
@@ -195,7 +195,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
} }
var user = await this._userService.GetUserByGuidAsync(guid); var user = await this._userService.GetUserByGuidAsync(guid);
if(user == null) if (user == null)
{ {
return NotFound(); return NotFound();
} }
@@ -205,7 +205,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
var userDto = _mapper?.Map<UserDto>(user); var userDto = _mapper?.Map<UserDto>(user);
return Success(String.Empty, userDto); return Success(String.Empty, userDto);
} }
catch (Exception exception) catch (Exception exception)
{ {
@@ -217,8 +217,8 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return InternalServerError(message); return InternalServerError(message);
} }
} }
[JwtAuthorization()] [JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute] [ModelStateValidationHandledByFilterAttribute]
[HttpDelete("{guid}")] [HttpDelete("{guid}")]
@@ -239,7 +239,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
await this._userService.DeleteUserAsync(user); await this._userService.DeleteUserAsync(user);
return Success(String.Empty); return Success(String.Empty);
} }
catch (Exception exception) catch (Exception exception)
{ {
@@ -254,4 +254,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
} }
} }
} }

View File

@@ -16,4 +16,4 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return Success(String.Empty, _appSettings?.Settings?.Version); return Success(String.Empty, _appSettings?.Settings?.Version);
} }
} }
} }

View File

@@ -9,4 +9,4 @@ namespace BasicDotnetTemplate.MainProject.Core.Attributes
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class ModelStateValidationHandledByFilterAttribute : Attribute public class ModelStateValidationHandledByFilterAttribute : Attribute
{ } { }
} }

View File

@@ -18,7 +18,7 @@ namespace BasicDotnetTemplate.MainProject.Core.Database
public DbSet<PermissionOperation> PermissionOperations { get; set; } public DbSet<PermissionOperation> PermissionOperations { get; set; }
public DbSet<PermissionSystem> PermissionSystems { get; set; } public DbSet<PermissionSystem> PermissionSystems { get; set; }
public DbSet<PermissionSystemModule> PermissionSystemModules { get; set; } public DbSet<PermissionSystemModule> PermissionSystemModules { get; set; }
public DbSet<PermissionSystemModuleOperation> PermissionSystemModuleOperations { get; set; } public DbSet<PermissionSystemModuleOperation> PermissionSystemModuleOperations { get; set; }
public DbSet<RolePermissionSystemModuleOperation> RolePermissionSystemModuleOperations { get; set; } public DbSet<RolePermissionSystemModuleOperation> RolePermissionSystemModuleOperations { get; set; }
public DbSet<Role> Roles { get; set; } public DbSet<Role> Roles { get; set; }
public DbSet<User> Users { get; set; } public DbSet<User> Users { get; set; }

View File

@@ -13,7 +13,7 @@ namespace BasicDotnetTemplate.MainProject.Core.Filters
if (!context.ModelState.IsValid) if (!context.ModelState.IsValid)
{ {
context.Result = new BadRequestObjectResult(new { message = _requestNotWellFormedMessage, errors = context.ModelState }); context.Result = new BadRequestObjectResult(new { message = _requestNotWellFormedMessage, errors = context.ModelState });
return; return;
} }
var requestBody = context.ActionArguments.Values.FirstOrDefault(arg => arg != null && !arg.GetType().IsPrimitive && !(arg is string)); var requestBody = context.ActionArguments.Values.FirstOrDefault(arg => arg != null && !arg.GetType().IsPrimitive && !(arg is string));
@@ -27,4 +27,4 @@ namespace BasicDotnetTemplate.MainProject.Core.Filters
await next(); await next();
} }
} }
} }

View File

@@ -1,4 +1,4 @@
using System; using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using System; using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using System; using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@@ -9,7 +9,7 @@ public class UserRole
public string? Name { get; set; } public string? Name { get; set; }
#nullable disable #nullable disable
public UserRole() {} public UserRole() { }
public UserRole(DatabaseSqlServer.Role role) public UserRole(DatabaseSqlServer.Role role)
{ {

View File

@@ -8,4 +8,4 @@ public class CreateRoleRequestData
public required string Name { get; set; } public required string Name { get; set; }
public required bool IsNotEditable { get; set; } public required bool IsNotEditable { get; set; }
} }

View File

@@ -7,4 +7,4 @@ public class CreateRoleRequest
#nullable enable #nullable enable
public CreateRoleRequestData? Data { get; set; } public CreateRoleRequestData? Data { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -5,4 +5,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Api.Response.Auth;
public class AuthenticateResponse : BaseResponse<AuthenticatedUser> public class AuthenticateResponse : BaseResponse<AuthenticatedUser>
{ {
public AuthenticateResponse(int status, string? message, AuthenticatedUser? data) : base(status, message, data) { } public AuthenticateResponse(int status, string? message, AuthenticatedUser? data) : base(status, message, data) { }
} }

View File

@@ -16,4 +16,4 @@ public class BaseResponse<T>
public virtual dynamic? Data { get; set; } public virtual dynamic? Data { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -5,4 +5,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Api.Response.Role;
public class GetRoleResponse : BaseResponse<RoleDto> public class GetRoleResponse : BaseResponse<RoleDto>
{ {
public GetRoleResponse(int status, string? message, RoleDto? data) : base(status, message, data) { } public GetRoleResponse(int status, string? message, RoleDto? data) : base(status, message, data) { }
} }

View File

@@ -5,4 +5,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Api.Response.User;
public class GetUserResponse : BaseResponse<UserDto> public class GetUserResponse : BaseResponse<UserDto>
{ {
public GetUserResponse(int status, string? message, UserDto? data) : base(status, message, data) { } public GetUserResponse(int status, string? message, UserDto? data) : base(status, message, data) { }
} }

View File

@@ -4,6 +4,6 @@ public class OperationInfo
{ {
#nullable enable #nullable enable
public string? Operation { get; set; } public string? Operation { get; set; }
public List<string>? Roles {get; set; } public List<string>? Roles { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -4,6 +4,6 @@ public class PermissionInfo
{ {
#nullable enable #nullable enable
public string? System { get; set; } public string? System { get; set; }
public List<RolePermissionModuleOperation>? RolePermissionModuleOperations {get; set; } public List<RolePermissionModuleOperation>? RolePermissionModuleOperations { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -5,4 +5,4 @@ public class PermissionsFile
#nullable enable #nullable enable
public List<PermissionInfo>? PermissionInfos { get; set; } public List<PermissionInfo>? PermissionInfos { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -6,4 +6,4 @@ public class RolePermissionModuleOperation
public string? Module { get; set; } public string? Module { get; set; }
public List<OperationInfo>? Operations { get; set; } public List<OperationInfo>? Operations { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -8,4 +8,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.Mongo
[BsonId] [BsonId]
public ObjectId Id { get; set; } public ObjectId Id { get; set; }
} }
} }

View File

@@ -8,4 +8,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public required string Name { get; set; } public required string Name { get; set; }
public required bool Enabled { get; set; } public required bool Enabled { get; set; }
} }
} }

View File

@@ -7,4 +7,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
[MaxLength(100)] [MaxLength(100)]
public required string Name { get; set; } public required string Name { get; set; }
} }
} }

View File

@@ -8,4 +8,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public required string Name { get; set; } public required string Name { get; set; }
public required bool Enabled { get; set; } public required bool Enabled { get; set; }
} }
} }

View File

@@ -10,4 +10,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public required PermissionModule PermissionModule { get; set; } public required PermissionModule PermissionModule { get; set; }
public required bool Enabled { get; set; } public required bool Enabled { get; set; }
} }
} }

View File

@@ -10,4 +10,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public required PermissionSystemModule PermissionSystemModule { get; set; } public required PermissionSystemModule PermissionSystemModule { get; set; }
public required PermissionOperation PermissionOperation { get; set; } public required PermissionOperation PermissionOperation { get; set; }
} }
} }

View File

@@ -10,4 +10,4 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public required Role Role { get; set; } public required Role Role { get; set; }
public required PermissionSystemModuleOperation PermissionSystemModuleOperation { get; set; } public required PermissionSystemModuleOperation PermissionSystemModuleOperation { get; set; }
} }
} }

View File

@@ -11,4 +11,4 @@ public class AppSettings
public EncryptionSettings? EncryptionSettings { get; set; } public EncryptionSettings? EncryptionSettings { get; set; }
public PermissionsSettings? PermissionsSettings { get; set; } public PermissionsSettings? PermissionsSettings { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -7,4 +7,4 @@ public class DatabaseConnection
public string? Postgres { get; set; } public string? Postgres { get; set; }
public string? Mongodb { get; set; } public string? Mongodb { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -7,4 +7,4 @@ public class DatabaseSettings
public string? MongoDbConnectionString { get; set; } public string? MongoDbConnectionString { get; set; }
public string? PostgreSQLConnectionString { get; set; } public string? PostgreSQLConnectionString { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -7,4 +7,4 @@ public class EncryptionSettings
public string? Salt { get; set; } public string? Salt { get; set; }
public int? Iterations { get; set; } public int? Iterations { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -9,4 +9,4 @@ public class JwtSettings
public int? ExpiredAfterMinsOfInactivity { get; set; } public int? ExpiredAfterMinsOfInactivity { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -7,4 +7,4 @@ public class OpenApiSettings
public OpenApiSettingsDetails? OpenApiContact { get; set; } public OpenApiSettingsDetails? OpenApiContact { get; set; }
public OpenApiSettingsDetails? OpenApiLicense { get; set; } public OpenApiSettingsDetails? OpenApiLicense { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -6,4 +6,4 @@ public class OpenApiSettingsDetails
public string? Name { get; set; } public string? Name { get; set; }
public string? Url { get; set; } public string? Url { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -5,4 +5,4 @@ public class PermissionsSettings
#nullable enable #nullable enable
public string? FilePath { get; set; } public string? FilePath { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -5,4 +5,4 @@ public class PrivateSettings
#nullable enable #nullable enable
public DatabaseConnection? DatabaseConnection { get; set; } public DatabaseConnection? DatabaseConnection { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -7,4 +7,4 @@ public class Settings
public string? Version { get; set; } public string? Version { get; set; }
public string? Description { get; set; } public string? Description { get; set; }
#nullable disable #nullable disable
} }

View File

@@ -1,4 +1,4 @@
using NLog; using NLog;
using BasicDotnetTemplate.MainProject.Models.Settings; using BasicDotnetTemplate.MainProject.Models.Settings;
using System.Reflection; using System.Reflection;
using BasicDotnetTemplate.MainProject.Utils; using BasicDotnetTemplate.MainProject.Utils;
@@ -60,4 +60,4 @@ internal static class Program
NLog.LogManager.Shutdown(); // Flush and close down internal threads and timers NLog.LogManager.Shutdown(); // Flush and close down internal threads and timers
} }
} }

View File

@@ -1275,4 +1275,4 @@ public class PermissionService : BaseService, IPermissionService
} }

View File

@@ -191,7 +191,7 @@ public class UserService : BaseService, IUserService
user.PasswordSalt = salt; user.PasswordSalt = salt;
user.PasswordPepper = pepper; user.PasswordPepper = pepper;
user.PasswordIterations = iterations; user.PasswordIterations = iterations;
user.Password = CryptUtils.GeneratePassword(newPassword, salt, iterations, pepper); user.Password = CryptUtils.GeneratePassword(newPassword, salt, iterations, pepper);
user.UpdateTime = DateTime.UtcNow; user.UpdateTime = DateTime.UtcNow;
user.UpdateUserId = this.GetCurrentUserId(); user.UpdateUserId = this.GetCurrentUserId();

View File

@@ -39,4 +39,4 @@ public static class FileUtils
} }
} }
} }

View File

@@ -29,7 +29,7 @@ public static partial class PasswordUtils
private static partial Regex RegexSpecial(); private static partial Regex RegexSpecial();
private static readonly Regex RegexIdenticalChars = new( private static readonly Regex RegexIdenticalChars = new(
@"(\S)\1{2,}", @"(\S)\1{2,}",
RegexOptions.IgnoreCase | RegexOptions.Compiled, RegexOptions.IgnoreCase | RegexOptions.Compiled,
TimeSpan.FromMilliseconds(100) TimeSpan.FromMilliseconds(100)
); );

View File

@@ -142,7 +142,7 @@ public static class ProgramUtils
builder.Services.AddAuthorization(); builder.Services.AddAuthorization();
builder.Services.AddControllers(options => builder.Services.AddControllers(options =>
{ {
options.Filters.Add<ValidationActionFilter>(); options.Filters.Add<ValidationActionFilter>();
}); });
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
@@ -295,4 +295,4 @@ public static class ProgramUtils
} }
} }
} }