diff options
Diffstat (limited to 'BackEnd/Timeline/Services/User')
-rw-r--r-- | BackEnd/Timeline/Services/User/CreateTokenResult.cs | 12 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/User/UserService.cs | 15 |
2 files changed, 25 insertions, 2 deletions
diff --git a/BackEnd/Timeline/Services/User/CreateTokenResult.cs b/BackEnd/Timeline/Services/User/CreateTokenResult.cs new file mode 100644 index 00000000..b71a9e9e --- /dev/null +++ b/BackEnd/Timeline/Services/User/CreateTokenResult.cs @@ -0,0 +1,12 @@ +using System; +using Timeline.Entities; + +namespace Timeline.Services.User +{ + public class CreateTokenResult + { + public string Token { get; set; } = default!; + public UserEntity User { get; set; } = default!; + } +} + diff --git a/BackEnd/Timeline/Services/User/UserService.cs b/BackEnd/Timeline/Services/User/UserService.cs index a47bc860..1ad74bec 100644 --- a/BackEnd/Timeline/Services/User/UserService.cs +++ b/BackEnd/Timeline/Services/User/UserService.cs @@ -7,7 +7,8 @@ using System.Linq; using System.Threading.Tasks;
using Timeline.Entities;
using Timeline.Models.Validation;
-
+using Timeline.Services.Token; + namespace Timeline.Services.User
{
public class UserService : BasicUserService, IUserService
@@ -19,14 +20,17 @@ namespace Timeline.Services.User private readonly IPasswordService _passwordService;
+ private readonly IUserTokenService _userTokenService; + private readonly UsernameValidator _usernameValidator = new UsernameValidator();
private readonly NicknameValidator _nicknameValidator = new NicknameValidator();
- public UserService(ILogger<UserService> logger, DatabaseContext databaseContext, IPasswordService passwordService, IClock clock) : base(databaseContext)
+ public UserService(ILogger<UserService> logger, DatabaseContext databaseContext, IPasswordService passwordService, IUserTokenService userTokenService, IClock clock) : base(databaseContext)
{
_logger = logger;
_databaseContext = databaseContext;
_passwordService = passwordService;
+ _userTokenService = userTokenService;
_clock = clock;
}
@@ -162,6 +166,11 @@ namespace Timeline.Services.User await _databaseContext.SaveChangesAsync();
_logger.LogInformation(Resource.LogUserModified, entity.Username, id);
+
+ if (password is not null) + { + await _userTokenService.RevokeAllTokenByUserIdAsync(id); + }
}
return entity;
@@ -214,6 +223,8 @@ namespace Timeline.Services.User entity.Version += 1;
await _databaseContext.SaveChangesAsync();
_logger.LogInformation(Resource.LogChangePassowrd, entity.Username, id);
+
+ await _userTokenService.RevokeAllTokenByUserIdAsync(id);
}
}
}
|