source: iknow-api/Repository/Implementations/RefreshTokenRepository.cs@ f844b7e

Last change on this file since f844b7e was 1e58098, checked in by imbrsk <boris696boris@…>, 11 months ago

added remaining methods to refreshtoken feature

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[4e061d8]1using iknow_api.Models;
2using iknow_api.Data;
3using iknow_api.Models;
4using Microsoft.EntityFrameworkCore;
5using iknow_api.Services;
6using iknow_api.DTOs;
[1e58098]7using System.Runtime.CompilerServices;
[4e061d8]8
9namespace iknow_api.Repositories
10{
11 public class RefreshTokenRepository : IRefreshTokenRepository
12 {
13 private readonly AppDbContext _context;
14
15 public RefreshTokenRepository(AppDbContext context)
16 {
17 _context = context;
18 }
19
20 public async Task AddTokenAsync(RefreshToken refreshToken)
21 {
22 _context.RefreshToken.Add(refreshToken);
23 await _context.SaveChangesAsync();
24 }
25
26 public Task<bool> DeleteTokenAsync(string refreshTokenDto)
27 {
28 throw new NotImplementedException();
29 }
30
[1e58098]31 public async Task<int?> GetUserId(string refreshTokenDto)
32 {
33 var token = await _context.RefreshToken.FirstOrDefaultAsync(u => u.Token == refreshTokenDto);
34 return token?.UserId ;
35 }
[4e061d8]36
37 public async Task<bool> VerifyTokenAsync(VerifyRefreshTokenDto refreshTokenDto)
38 {
[1e58098]39 var token = await _context.RefreshToken
40 .FirstOrDefaultAsync(rt =>
41 rt.Token == refreshTokenDto.token &&
42 rt.IsValid &&
43 rt.ExpiresAt > DateTime.UtcNow);
44
45 return token != null;
[4e061d8]46 }
[1e58098]47
[4e061d8]48 }
49}
Note: See TracBrowser for help on using the repository browser.