diff --git a/API/Controllers/AccountController.cs b/API/Controllers/AccountController.cs index a48532c32..8dba67025 100644 --- a/API/Controllers/AccountController.cs +++ b/API/Controllers/AccountController.cs @@ -131,10 +131,13 @@ public class AccountController : BaseApiController var user = new AppUserBuilder(registerDto.Username, registerDto.Email, await _unitOfWork.SiteThemeRepository.GetDefaultTheme()).Build(); - var result = await _userManager.CreateAsync(user, registerDto.Password); if (!result.Succeeded) return BadRequest(result.Errors); + // Assign default streams + user.DashboardStreams = Seed.DefaultStreams.ToList(); + user.SideNavStreams = Seed.DefaultSideNavStreams.ToList(); + var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); if (string.IsNullOrEmpty(token)) return BadRequest(await _localizationService.Get("en", "confirm-token-gen")); if (!await ConfirmEmailToken(token, user)) return BadRequest(await _localizationService.Get("en", "validate-email", token)); @@ -610,6 +613,11 @@ public class AccountController : BaseApiController var result = await _userManager.CreateAsync(user, AccountService.DefaultPassword); if (!result.Succeeded) return BadRequest(result.Errors); + // Assign default streams + user.DashboardStreams = Seed.DefaultStreams.ToList(); + user.SideNavStreams = Seed.DefaultSideNavStreams.ToList(); + + // Assign Roles var roles = dto.Roles; var hasAdminRole = dto.Roles.Contains(PolicyConstants.AdminRole); @@ -666,6 +674,7 @@ public class AccountController : BaseApiController _logger.LogError(ex, "There was an error during invite user flow, unable to create user. Deleting user for retry"); _unitOfWork.UserRepository.Delete(user); await _unitOfWork.CommitAsync(); + return BadRequest(await _localizationService.Translate(User.GetUserId(), "generic-invite-user")); } diff --git a/API/Helpers/Builders/AppUserBuilder.cs b/API/Helpers/Builders/AppUserBuilder.cs index ebe0efa23..790071d0a 100644 --- a/API/Helpers/Builders/AppUserBuilder.cs +++ b/API/Helpers/Builders/AppUserBuilder.cs @@ -32,8 +32,6 @@ public class AppUserBuilder : IEntityBuilder DashboardStreams = new List(), SideNavStreams = new List() }; - _appUser.DashboardStreams = Seed.DefaultStreams.ToList(); - _appUser.SideNavStreams = Seed.DefaultSideNavStreams.ToList(); } public AppUserBuilder WithLibrary(Library library, bool createSideNavStream = false) diff --git a/API/Services/AccountService.cs b/API/Services/AccountService.cs index 8e1ede54d..24fd69511 100644 --- a/API/Services/AccountService.cs +++ b/API/Services/AccountService.cs @@ -27,6 +27,7 @@ public interface IAccountService Task HasChangeRestrictionRole(AppUser? user); Task CheckIfAccessible(HttpRequest request); Task GenerateEmailLink(HttpRequest request, string token, string routePart, string email, bool withHost = true); + } public class AccountService : IAccountService diff --git a/Kavita.Common/Kavita.Common.csproj b/Kavita.Common/Kavita.Common.csproj index 3cd3caace..8297ae34f 100644 --- a/Kavita.Common/Kavita.Common.csproj +++ b/Kavita.Common/Kavita.Common.csproj @@ -4,7 +4,7 @@ net7.0 kavitareader.com Kavita - 0.7.10.1 + 0.7.10.2 en true @@ -21,4 +21,4 @@ - \ No newline at end of file + diff --git a/openapi.json b/openapi.json index ebd36449a..dc3c4e353 100644 --- a/openapi.json +++ b/openapi.json @@ -7,7 +7,7 @@ "name": "GPL-3.0", "url": "https://github.com/Kareadita/Kavita/blob/develop/LICENSE" }, - "version": "0.7.10.0" + "version": "0.7.10.1" }, "servers": [ { @@ -4251,20 +4251,17 @@ "content": { "text/plain": { "schema": { - "type": "integer", - "format": "int32" + "$ref": "#/components/schemas/ProgressDto" } }, "application/json": { "schema": { - "type": "integer", - "format": "int32" + "$ref": "#/components/schemas/ProgressDto" } }, "text/json": { "schema": { - "type": "integer", - "format": "int32" + "$ref": "#/components/schemas/ProgressDto" } } }