- File:
-
- 1 edited
-
iknow-api/Services/Implementations/AuthService.cs (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Services/Implementations/AuthService.cs
rb38c39c rc155364 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 … … 40 45 41 46 await _userRepository.AddUserAsync(user); 42 int userId = user.Id;43 var contactInfo = new ContactInfo44 {45 UserId = userId,46 city = registerDto.city,47 address = registerDto.address,48 municipality = registerDto.municipality,49 phoneNumber = registerDto.phoneNumber,50 microsoftEmail = registerDto.microsoftEmail51 };52 await _userRepository.AddContactAsync(contactInfo);53 var enrollmentInfo = new EnrollmentInfo54 {55 UserId = userId,56 enrollmentYear = registerDto.enrollmentYear,57 quota = (Models.quota)registerDto.quotaType,58 major = (Models.major)registerDto.majorType59 };60 await _userRepository.AddEnrollmentAsync(enrollmentInfo);61 await _userRepository.AddHighSchoolAsync(new HighSchool62 {63 UserId = userId,64 GPA = registerDto.gpa,65 tip = (Models.type)registerDto.tip66 });67 47 return true; 68 48 } 69 49 70 public async Task< string?> LoginAsync(LoginDto loginDto)50 public async Task<AuthResultDto?> LoginAsync(LoginDto loginDto) 71 51 { 72 52 var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email); … … 74 54 return null; 75 55 76 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; 77 68 } 78 69 … … 80 71 { 81 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; 82 86 } 83 87
Note:
See TracChangeset
for help on using the changeset viewer.
