Ignore:
Timestamp:
10/28/25 10:51:32 (11 months ago)
Author:
GitHub <noreply@…>
Branches:
master
Children:
4708118
Parents:
b38c39c (diff), c2e73b6 (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:51:32)
git-committer:
GitHub <noreply@…> (10/28/25 10:51:32)
Message:

Merge branch 'Dev' into feature/getUser

File:
1 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Services/Implementations/AuthService.cs

    rb38c39c rff202cf  
    33using System.Text;
    44using BCrypt.Net;
    5 using iknow_api.Controllers;
     5using iknow_api.Services;
    66using iknow_api.Models;
    77using iknow_api.DTOs;
     
    1414    {
    1515        private readonly IUserRepository _userRepository;
     16        private readonly IRefreshTokenRepository _refreshTokenRepository;
     17        private readonly IRefreshTokenService _refreshTokenService;
    1618        private readonly IConfiguration _configuration;
    1719
    18         public AuthService(IUserRepository userRepository, IConfiguration configuration)
     20        public AuthService(IUserRepository userRepository, IConfiguration configuration
     21                            , IRefreshTokenService refreshTokenService, IRefreshTokenRepository refreshTokenRepository)
    1922        {
    2023            _userRepository = userRepository;
    2124            _configuration = configuration;
     25            _refreshTokenService = refreshTokenService;
     26            _refreshTokenRepository = refreshTokenRepository;
    2227        }
    2328
     
    6873        }
    6974
    70         public async Task<string?> LoginAsync(LoginDto loginDto)
     75        public async Task<AuthResultDto?> LoginAsync(LoginDto loginDto)
    7176        {
    7277            var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email);
     
    7479                return null;
    7580
    76             return CreateToken(user);
     81             var result = new AuthResultDto
     82            {
     83                AccessToken = CreateToken(user)
     84            };
     85
     86            if (loginDto.GenerateRefreshToken)
     87            {
     88                int userid = _userRepository.GetUserByUsernameAsync(loginDto.Email).Id;
     89                result.RefreshToken = await _refreshTokenService.GenerateRefreshToken(userid);
     90            }
     91
     92            return result;
    7793        }
    7894
     
    8096        {
    8197            return await _userRepository.GetUsersCountAsync();
     98        }
     99
     100        public async Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token)
     101        {
     102            int userid = await _refreshTokenRepository.GetUserId(token.token) ?? 0;
     103            User user = await _userRepository.GetOnlyUserByIdAsync(userid);
     104
     105            var result = new AuthResultDto
     106            {
     107                AccessToken = CreateToken(user)
     108            };
     109           
     110            return result;
    82111        }
    83112
Note: See TracChangeset for help on using the changeset viewer.