aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services
diff options
context:
space:
mode:
Diffstat (limited to 'BackEnd/Timeline/Services')
-rw-r--r--BackEnd/Timeline/Services/User/IUserDeleteService.cs4
-rw-r--r--BackEnd/Timeline/Services/User/UserDeleteService.cs12
2 files changed, 9 insertions, 7 deletions
diff --git a/BackEnd/Timeline/Services/User/IUserDeleteService.cs b/BackEnd/Timeline/Services/User/IUserDeleteService.cs
index 992a565c..3b872942 100644
--- a/BackEnd/Timeline/Services/User/IUserDeleteService.cs
+++ b/BackEnd/Timeline/Services/User/IUserDeleteService.cs
@@ -9,10 +9,10 @@ namespace Timeline.Services.User
/// Delete a user of given username.
/// </summary>
/// <param name="username">Username of the user to delete. Can't be null.</param>
- /// <returns>True if user is deleted, false if user not exist.</returns>
/// <exception cref="ArgumentNullException">Thrown if <paramref name="username"/> is null.</exception>
/// <exception cref="ArgumentException">Thrown when <paramref name="username"/> is of bad format.</exception>
+ /// <exception cref="EntityNotExistException">Thrown when the user does not exist. </exception>
/// <exception cref="InvalidOperationOnRootUserException">Thrown when deleting root user.</exception>
- Task<bool> DeleteUserAsync(string username);
+ Task DeleteUserAsync(string username);
}
}
diff --git a/BackEnd/Timeline/Services/User/UserDeleteService.cs b/BackEnd/Timeline/Services/User/UserDeleteService.cs
index 3e3e29e2..c21042df 100644
--- a/BackEnd/Timeline/Services/User/UserDeleteService.cs
+++ b/BackEnd/Timeline/Services/User/UserDeleteService.cs
@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using System;
+using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
@@ -27,7 +28,7 @@ namespace Timeline.Services.User
_timelinePostService = timelinePostService;
}
- public async Task<bool> DeleteUserAsync(string username)
+ public async Task DeleteUserAsync(string username)
{
if (username == null)
throw new ArgumentNullException(nameof(username));
@@ -38,8 +39,11 @@ namespace Timeline.Services.User
}
var user = await _databaseContext.Users.Where(u => u.Username == username).SingleOrDefaultAsync();
- if (user == null)
- return false;
+ if (user is null)
+ throw new EntityNotExistException(EntityTypes.User, new Dictionary<string, object>
+ {
+ ["username"] = username
+ });
if (user.Id == 1)
throw new InvalidOperationOnRootUserException(Resource.ExceptionDeleteRootUser);
@@ -50,8 +54,6 @@ namespace Timeline.Services.User
await _databaseContext.SaveChangesAsync();
_logger.LogWarning(Resource.LogDeleteUser, user.Username, user.Id);
-
- return true;
}
}