Changes in / [ff202cf:b38c39c]
- Location:
- iknow-api
- Files:
-
- 8 deleted
- 10 edited
-
Controllers/AuthController.cs (modified) (2 diffs)
-
DTOs/RefreshTokenDTO.cs (deleted)
-
DTOs/UserDTO.cs (modified) (1 diff)
-
Data/AppDbContext.cs (modified) (1 diff)
-
Migrations/20251028091953_new.Designer.cs (deleted)
-
Migrations/20251028091953_new.cs (deleted)
-
Migrations/AppDbContextModelSnapshot.cs (modified) (3 diffs)
-
Models/RefreshToken.cs (deleted)
-
Program.cs (modified) (1 diff)
-
Repository/Implementations/RefreshTokenRepository.cs (deleted)
-
Repository/Implementations/UserRepository.cs (modified) (1 diff)
-
Repository/Interface/IRefreshTokenRepository.cs (deleted)
-
Repository/Interface/IUserRepository.cs (modified) (1 diff)
-
Services/Implementations/AuthService.cs (modified) (5 diffs)
-
Services/Implementations/RefreshTokenService.cs (deleted)
-
Services/Interfaces/IAuthService.cs (modified) (2 diffs)
-
Services/Interfaces/IRefreshTokenService.cs (deleted)
-
appsettings.Development.json (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Controllers/AuthController.cs
rff202cf rb38c39c 12 12 { 13 13 private readonly IAuthService _authService; 14 private readonly IRefreshTokenService _refreshTokenService;15 14 16 public AuthController(IAuthService authService , IRefreshTokenService refreshTokenService)15 public AuthController(IAuthService authService) 17 16 { 18 17 _authService = authService; 19 _refreshTokenService = refreshTokenService;20 18 } 21 19 … … 56 54 return Ok(new { message = "You are authorized!" }); 57 55 } 58 59 [HttpPost("verify-user-token")]60 public async Task<IActionResult> VerifyToken([FromBody] VerifyRefreshTokenDto verifyRefreshToken)61 {62 if (await _refreshTokenService.VerifyRefreshToken(verifyRefreshToken))63 { return Ok(await _authService.GenerateNewJWT(verifyRefreshToken)); }64 else65 { return BadRequest(new { message = "No token found!" }); }66 }67 56 } 68 57 } -
iknow-api/DTOs/UserDTO.cs
rff202cf rb38c39c 6 6 public string Email { get; set; } = string.Empty; 7 7 public string Password { get; set; } = string.Empty; 8 public bool GenerateRefreshToken { get; set; }9 8 } 10 9 public class GetUserDataDto -
iknow-api/Data/AppDbContext.cs
rff202cf rb38c39c 13 13 public DbSet<HighSchool> HighSchool { get; set; } 14 14 public DbSet<EnrollmentInfo> EnrollmentInfo { get; set; } 15 public DbSet<RefreshToken> RefreshToken { get; set; }16 15 } 17 16 } -
iknow-api/Migrations/AppDbContextModelSnapshot.cs
rff202cf rb38c39c 24 24 25 25 modelBuilder.Entity("iknow_api.Models.ContactInfo", b => 26 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>27 26 { 28 27 b.Property<int>("Id") … … 106 105 107 106 b.ToTable("HighSchool"); 108 b.Property<DateTime>("ExpiresAt")109 .HasColumnType("timestamp with time zone");110 111 b.Property<bool>("IsValid")112 .HasColumnType("boolean");113 114 b.Property<string>("Token")115 .IsRequired()116 .HasColumnType("text");117 118 b.Property<int>("UserId")119 .HasColumnType("integer");120 121 b.HasKey("Id");122 123 b.HasIndex("UserId");124 125 b.ToTable("RefreshToken");126 107 }); 127 108 … … 168 149 .WithOne("ContactInfo") 169 150 .HasForeignKey("iknow_api.Models.ContactInfo", "UserId") 170 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>171 {172 b.HasOne("iknow_api.Models.User", "User")173 .WithMany()174 .HasForeignKey("UserId")175 151 .OnDelete(DeleteBehavior.Cascade) 176 152 .IsRequired(); -
iknow-api/Program.cs
rff202cf rb38c39c 50 50 builder.Services.AddScoped<IUserService, UserService>(); 51 51 52 builder.Services.AddScoped<IRefreshTokenService, RefreshTokenService>();53 builder.Services.AddScoped<IUserRepository, UserRepository>();54 builder.Services.AddScoped<IRefreshTokenRepository, RefreshTokenRepository>();55 52 builder.Services.AddAuthorization(); 56 53 var app = builder.Build(); -
iknow-api/Repository/Implementations/UserRepository.cs
rff202cf rb38c39c 35 35 36 36 37 public async Task<User?> GetOnlyUserByIdAsync(int id)38 {39 return await _context.User.FirstOrDefaultAsync(u => u.Id == id);40 }41 37 public async Task AddUserAsync(User user) 42 38 { -
iknow-api/Repository/Interface/IUserRepository.cs
rff202cf rb38c39c 12 12 Task<int> GetUsersCountAsync(); 13 13 Task<User> GetUserByIdAsync(int id); 14 Task<User?> GetOnlyUserByIdAsync(int id);15 16 14 } 17 15 } -
iknow-api/Services/Implementations/AuthService.cs
rff202cf rb38c39c 3 3 using System.Text; 4 4 using BCrypt.Net; 5 using iknow_api. Services;5 using iknow_api.Controllers; 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;18 16 private readonly IConfiguration _configuration; 19 17 20 public AuthService(IUserRepository userRepository, IConfiguration configuration 21 , IRefreshTokenService refreshTokenService, IRefreshTokenRepository refreshTokenRepository) 18 public AuthService(IUserRepository userRepository, IConfiguration configuration) 22 19 { 23 20 _userRepository = userRepository; 24 21 _configuration = configuration; 25 _refreshTokenService = refreshTokenService;26 _refreshTokenRepository = refreshTokenRepository;27 22 } 28 23 … … 73 68 } 74 69 75 public async Task< AuthResultDto?> LoginAsync(LoginDto loginDto)70 public async Task<string?> LoginAsync(LoginDto loginDto) 76 71 { 77 72 var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email); … … 79 74 return null; 80 75 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; 76 return CreateToken(user); 93 77 } 94 78 … … 96 80 { 97 81 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 AuthResultDto106 {107 AccessToken = CreateToken(user)108 };109 110 return result;111 82 } 112 83 -
iknow-api/Services/Interfaces/IAuthService.cs
rff202cf rb38c39c 1 1 using iknow_api.DTOs; 2 using iknow_api.DTOs; 2 3 3 namespace iknow_api.Services 4 4 { … … 6 6 { 7 7 Task<bool> RegisterAsync(RegisterDto registerDto); 8 Task< AuthResultDto?> LoginAsync(LoginDto loginDto);8 Task<string?> LoginAsync(LoginDto loginDto); 9 9 Task<int> GetUsersCountAsync(); 10 Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token);11 10 } 12 11 } -
iknow-api/appsettings.Development.json
rff202cf rb38c39c 7 7 }, 8 8 "ConnectionStrings": { 9 "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username= myuser;Password=kodrum2025"9 "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=postgres;Password=newpassword" 10 10 } 11 11 }
Note:
See TracChangeset
for help on using the changeset viewer.
