예제 #1
0
        public Task <DataResult <bool> > RemoveRefreshTokenAsync(DTORefreshToken refreshTokenDTO)
        {
            return(Task.Run(() =>
            {
                var refreshToken = _mapper.Map <RefreshToken>(refreshTokenDTO);
                var result = RemoveToken(refreshToken);

                return new DataResult <bool> {
                    Errors = new List <ErrorDescriber>(), Target = result
                };
            }));
        }
예제 #2
0
        public Task <DataResult <bool> > AddRefreshTokenAsync(DTORefreshToken refreshTokenDTO)
        {
            return(Task.Run(() => {
                bool result = false;
                var refreshTokenRepository = _unitOfWork.GetRepository <RefreshToken>();

                var existingToken = refreshTokenRepository.GetFirstOrDefault(r => r.UserId == refreshTokenDTO.UserId);
                if (existingToken != null)
                {
                    result = RemoveToken(existingToken);
                }
                else
                {
                    var newToken = _mapper.Map <RefreshToken>(refreshTokenDTO);
                    refreshTokenRepository.Insert(newToken);

                    result = _unitOfWork.SaveChanges() > 0;
                }

                return new DataResult <bool> {
                    Errors = new List <ErrorDescriber>(), Target = result
                };
            }));
        }