Changeset d300631 for ChapterX.Application/Auth/RegisterHandler.cs
- Timestamp:
- 04/28/26 14:53:32 (2 months ago)
- Branches:
- main
- Children:
- b373fea
- Parents:
- dc383dd
- File:
-
- 1 edited
-
ChapterX.Application/Auth/RegisterHandler.cs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ChapterX.Application/Auth/RegisterHandler.cs
rdc383dd rd300631 1 using ChapterX.Application.Abstractions; 1 2 using ChapterX.Domain.Repositories; 2 3 using MediatR; … … 8 9 private readonly IUserRepository _userRepository; 9 10 private readonly IWriterRepository _writerRepository; 11 private readonly IApplicationDbContext _context; 10 12 11 public RegisterHandler(IUserRepository userRepository, IWriterRepository writerRepository )13 public RegisterHandler(IUserRepository userRepository, IWriterRepository writerRepository, IApplicationDbContext context) 12 14 { 13 15 _userRepository = userRepository; 14 16 _writerRepository = writerRepository; 17 _context = context; 15 18 } 16 19 … … 21 24 throw new InvalidOperationException("Email already in use."); 22 25 23 var user = new Domain.Entities.User 26 await using var transaction = await _context.BeginTransactionAsync(cancellationToken); 27 try 24 28 { 25 Username = request.Username, 26 Email = request.Email, 27 Name = request.Name, 28 Surname = request.Surname, 29 Password = BCrypt.Net.BCrypt.HashPassword(request.Password), 30 CreatedAt = DateTime.UtcNow, 31 UpdatedAt = DateTime.UtcNow 32 }; 29 var user = new Domain.Entities.User 30 { 31 Username = request.Username, 32 Email = request.Email, 33 Name = request.Name, 34 Surname = request.Surname, 35 Password = BCrypt.Net.BCrypt.HashPassword(request.Password), 36 CreatedAt = DateTime.UtcNow, 37 UpdatedAt = DateTime.UtcNow 38 }; 33 39 34 await _userRepository.AddAsync(user, cancellationToken);40 await _userRepository.AddAsync(user, cancellationToken); 35 41 36 var writer = new Domain.Entities.Writer { Id = user.Id };37 await _writerRepository.AddAsync(writer, cancellationToken);42 var writer = new Domain.Entities.Writer { Id = user.Id }; 43 await _writerRepository.AddAsync(writer, cancellationToken); 38 44 39 return new RegisterResponse(user.Id, user.Username, user.Email); 45 await transaction.CommitAsync(cancellationToken); 46 return new RegisterResponse(user.Id, user.Username, user.Email); 47 } 48 catch 49 { 50 await transaction.RollbackAsync(cancellationToken); 51 throw; 52 } 40 53 } 41 54 }
Note:
See TracChangeset
for help on using the changeset viewer.
