From 45873d9115840c9db596c2dffebc7bb29df13686 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 15 Nov 2020 20:48:28 +0800 Subject: feat: Deleting root user now returns 400. --- BackEnd/Timeline/Services/UserDeleteService.cs | 5 +++++ BackEnd/Timeline/Services/UserPermissionService.cs | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'BackEnd/Timeline/Services') diff --git a/BackEnd/Timeline/Services/UserDeleteService.cs b/BackEnd/Timeline/Services/UserDeleteService.cs index b6306682..5365313b 100644 --- a/BackEnd/Timeline/Services/UserDeleteService.cs +++ b/BackEnd/Timeline/Services/UserDeleteService.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Timeline.Entities; using Timeline.Helpers; using Timeline.Models.Validation; +using Timeline.Services.Exceptions; using static Timeline.Resources.Services.UserService; namespace Timeline.Services @@ -20,6 +21,7 @@ namespace Timeline.Services /// True if user is deleted, false if user not exist. /// Thrown if is null. /// Thrown when is of bad format. + /// Thrown when deleting root user. Task DeleteUser(string username); } @@ -54,6 +56,9 @@ namespace Timeline.Services if (user == null) return false; + if (user.Id == 1) + throw new InvalidOperationOnRootUserException("Can't delete root user."); + await _timelineService.DeleteAllPostsOfUser(user.Id); _databaseContext.Users.Remove(user); diff --git a/BackEnd/Timeline/Services/UserPermissionService.cs b/BackEnd/Timeline/Services/UserPermissionService.cs index 2fdf3d2d..42c93283 100644 --- a/BackEnd/Timeline/Services/UserPermissionService.cs +++ b/BackEnd/Timeline/Services/UserPermissionService.cs @@ -127,7 +127,7 @@ namespace Timeline.Services /// The id of the user. /// The new permission. /// Thrown when user does not exist. - /// Thrown when change root user's permission. + /// Thrown when change root user's permission. Task AddPermissionToUserAsync(long userId, UserPermission permission); /// @@ -137,7 +137,7 @@ namespace Timeline.Services /// The permission. /// Whether check the user's existence. /// Thrown when is true and user does not exist. - /// Thrown when change root user's permission. + /// Thrown when change root user's permission. Task RemovePermissionFromUserAsync(long userId, UserPermission permission, bool checkUserExistence = true); } -- cgit v1.2.3