Changeset 28759eb for iknow-api/Services
- Timestamp:
- 10/28/25 10:49:02 (11 months ago)
- Branches:
- master
- Children:
- 1d32d5c, e423ff3
- Parents:
- 5eb7847 (diff), 1e58098 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - git-author:
- Boris Gjorgjievski <69085722+imbrsk@…> (10/28/25 10:49:02)
- git-committer:
- GitHub <noreply@…> (10/28/25 10:49:02)
- Location:
- iknow-api/Services
- Files:
-
- 2 added
- 2 edited
-
Implementations/AuthService.cs (modified) (5 diffs)
-
Implementations/RefreshTokenService.cs (added)
-
Interfaces/IAuthService.cs (modified) (2 diffs)
-
Interfaces/IRefreshTokenService.cs (added)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Services/Implementations/AuthService.cs
r5eb7847 r28759eb 3 3 using System.Text; 4 4 using BCrypt.Net; 5 using iknow_api. Controllers;5 using iknow_api.Services; 6 6 using iknow_api.Models; 7 7 using iknow_api.DTOs; … … 14 14 { 15 15 private readonly IUserRepository _userRepository; 16 private readonly IRefreshTokenRepository _refreshTokenRepository; 17 private readonly IRefreshTokenService _refreshTokenService; 16 18 private readonly IConfiguration _configuration; 17 19 18 public AuthService(IUserRepository userRepository, IConfiguration configuration) 20 public AuthService(IUserRepository userRepository, IConfiguration configuration 21 , IRefreshTokenService refreshTokenService, IRefreshTokenRepository refreshTokenRepository) 19 22 { 20 23 _userRepository = userRepository; 21 24 _configuration = configuration; 25 _refreshTokenService = refreshTokenService; 26 _refreshTokenRepository = refreshTokenRepository; 22 27 } 23 28 … … 43 48 } 44 49 45 public async Task< string?> LoginAsync(LoginDto loginDto)50 public async Task<AuthResultDto?> LoginAsync(LoginDto loginDto) 46 51 { 47 52 var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email); … … 49 54 return null; 50 55 51 return CreateToken(user); 56 var result = new AuthResultDto 57 { 58 AccessToken = CreateToken(user) 59 }; 60 61 if (loginDto.GenerateRefreshToken) 62 { 63 int userid = _userRepository.GetUserByUsernameAsync(loginDto.Email).Id; 64 result.RefreshToken = await _refreshTokenService.GenerateRefreshToken(userid); 65 } 66 67 return result; 52 68 } 53 69 … … 55 71 { 56 72 return await _userRepository.GetUsersCountAsync(); 73 } 74 75 public async Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token) 76 { 77 int userid = await _refreshTokenRepository.GetUserId(token.token) ?? 0; 78 User user = await _userRepository.GetOnlyUserByIdAsync(userid); 79 80 var result = new AuthResultDto 81 { 82 AccessToken = CreateToken(user) 83 }; 84 85 return result; 57 86 } 58 87 -
iknow-api/Services/Interfaces/IAuthService.cs
r5eb7847 r28759eb 1 1 using iknow_api.DTOs; 2 2 using iknow_api.DTOs; 3 3 namespace iknow_api.Services 4 4 { … … 6 6 { 7 7 Task<bool> RegisterAsync(RegisterDto registerDto); 8 Task< string?> LoginAsync(LoginDto loginDto);8 Task<AuthResultDto?> LoginAsync(LoginDto loginDto); 9 9 Task<int> GetUsersCountAsync(); 10 Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token); 10 11 } 11 12 }
Note:
See TracChangeset
for help on using the changeset viewer.
