aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/UserPermissionService.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-15 20:54:33 +0800
committerGitHub <noreply@github.com>2020-11-15 20:54:33 +0800
commitdbc05b79c94894b25cbbb23025ed91dd1cf8a7a3 (patch)
tree7c2c792c141def97603cb43d98e83d29ac718e9a /BackEnd/Timeline/Services/UserPermissionService.cs
parent63ec1050dd24e4123f73e9ed757376dc8128803d (diff)
parent1bbc60966cea77ec6ed7895bea1a01ad9c090c3a (diff)
downloadtimeline-dbc05b79c94894b25cbbb23025ed91dd1cf8a7a3.tar.gz
timeline-dbc05b79c94894b25cbbb23025ed91dd1cf8a7a3.tar.bz2
timeline-dbc05b79c94894b25cbbb23025ed91dd1cf8a7a3.zip
Merge pull request #188 from crupest/root-user
Forbid some operation on root user.
Diffstat (limited to 'BackEnd/Timeline/Services/UserPermissionService.cs')
-rw-r--r--BackEnd/Timeline/Services/UserPermissionService.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/BackEnd/Timeline/Services/UserPermissionService.cs b/BackEnd/Timeline/Services/UserPermissionService.cs
index ff09b4ee..42c93283 100644
--- a/BackEnd/Timeline/Services/UserPermissionService.cs
+++ b/BackEnd/Timeline/Services/UserPermissionService.cs
@@ -127,6 +127,7 @@ namespace Timeline.Services
/// <param name="userId">The id of the user.</param>
/// <param name="permission">The new permission.</param>
/// <exception cref="UserNotExistException">Thrown when user does not exist.</exception>
+ /// <exception cref="InvalidOperationOnRootUserException">Thrown when change root user's permission.</exception>
Task AddPermissionToUserAsync(long userId, UserPermission permission);
/// <summary>
@@ -136,6 +137,7 @@ namespace Timeline.Services
/// <param name="permission">The permission.</param>
/// <param name="checkUserExistence">Whether check the user's existence.</param>
/// <exception cref="UserNotExistException">Thrown when <paramref name="checkUserExistence"/> is true and user does not exist.</exception>
+ /// <exception cref="InvalidOperationOnRootUserException">Thrown when change root user's permission.</exception>
Task RemovePermissionFromUserAsync(long userId, UserPermission permission, bool checkUserExistence = true);
}
@@ -176,8 +178,8 @@ namespace Timeline.Services
public async Task AddPermissionToUserAsync(long userId, UserPermission permission)
{
- if (userId == 1) // The init administrator account.
- return;
+ if (userId == 1)
+ throw new InvalidOperationOnRootUserException("Can't change root user's permission.");
await CheckUserExistence(userId, true);
@@ -193,8 +195,8 @@ namespace Timeline.Services
public async Task RemovePermissionFromUserAsync(long userId, UserPermission permission, bool checkUserExistence = true)
{
- if (userId == 1) // The init administrator account.
- return;
+ if (userId == 1)
+ throw new InvalidOperationOnRootUserException("Can't change root user's permission.");
await CheckUserExistence(userId, checkUserExistence);