diff options
author | crupest <crupest@outlook.com> | 2020-11-15 20:54:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-15 20:54:33 +0800 |
commit | dbc05b79c94894b25cbbb23025ed91dd1cf8a7a3 (patch) | |
tree | 7c2c792c141def97603cb43d98e83d29ac718e9a /BackEnd/Timeline/Services/UserPermissionService.cs | |
parent | 63ec1050dd24e4123f73e9ed757376dc8128803d (diff) | |
parent | 1bbc60966cea77ec6ed7895bea1a01ad9c090c3a (diff) | |
download | timeline-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.cs | 10 |
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);
|