From 302f6acb12500ba2cf4af6c748abc4e690151160 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 10 Nov 2022 10:43:37 +0300 Subject: [PATCH 1/4] Moved the repository code --- .../Volo/Abp/Identity/IIdentityUserRepository.cs | 7 +++++++ .../EfCoreIdentityUserRepository.cs | 10 ++++++++++ .../Identity/MongoDB/MongoIdentityUserRepository.cs | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs index 164d9a1c32..f80bf459b9 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs @@ -102,4 +102,11 @@ public interface IIdentityUserRepository : IBasicRepository bool? notActive = null, CancellationToken cancellationToken = default ); + + Task GetUserByTenantIdAndUserNameAsync( + Guid tenantId, + [NotNull] string userName, + bool includeDetails = true, + CancellationToken cancellationToken = default + ); } diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs index 0b8efc4af5..0df8c9362d 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs @@ -5,6 +5,7 @@ using System.Linq.Dynamic.Core; using System.Security.Claims; using System.Threading; using System.Threading.Tasks; +using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -301,4 +302,13 @@ public class EfCoreIdentityUserRepository : EfCoreRepository GetUserByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, bool includeDetails = true, CancellationToken cancellationToken = default) + { + return await(await GetDbSetAsync()) + .FirstOrDefaultAsync( + u => u.TenantId == tenantId && u.UserName == userName, + GetCancellationToken(cancellationToken) + ); + } } diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs index 2edcff0388..66579ffaca 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs @@ -5,6 +5,7 @@ using System.Linq.Dynamic.Core; using System.Security.Claims; using System.Threading; using System.Threading.Tasks; +using JetBrains.Annotations; using MongoDB.Driver; using MongoDB.Driver.Linq; using Volo.Abp.Domain.Repositories.MongoDB; @@ -269,4 +270,13 @@ public class MongoIdentityUserRepository : MongoDbRepository u.OrganizationUnits.Any(uou => organizationUnitIds.Contains(uou.OrganizationUnitId))) .ToListAsync(cancellationToken); } + + public virtual async Task GetUserByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, bool includeDetails = true, CancellationToken cancellationToken = default) + { + return await (await GetMongoQueryableAsync(cancellationToken)) + .FirstOrDefaultAsync( + u => u.TenantId == tenantId && u.UserName == userName, + GetCancellationToken(cancellationToken) + ); + } } From 28b5e8fb5fa0c3f7cff3422904ad6711129f3b00 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 10 Nov 2022 15:27:57 +0300 Subject: [PATCH 2/4] Updated naming and removed unused parameter --- .../Volo/Abp/Identity/IIdentityUserRepository.cs | 3 +-- .../EntityFrameworkCore/EfCoreIdentityUserRepository.cs | 2 +- .../Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs index f80bf459b9..d5d601330a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs @@ -103,10 +103,9 @@ public interface IIdentityUserRepository : IBasicRepository CancellationToken cancellationToken = default ); - Task GetUserByTenantIdAndUserNameAsync( + Task FindByTenantIdAndUserNameAsync( Guid tenantId, [NotNull] string userName, - bool includeDetails = true, CancellationToken cancellationToken = default ); } diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs index 0df8c9362d..12ebbd80b5 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs @@ -303,7 +303,7 @@ public class EfCoreIdentityUserRepository : EfCoreRepository GetUserByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, bool includeDetails = true, CancellationToken cancellationToken = default) + public virtual async Task FindByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, CancellationToken cancellationToken = default) { return await(await GetDbSetAsync()) .FirstOrDefaultAsync( diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs index 66579ffaca..dbec50c147 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs @@ -271,7 +271,7 @@ public class MongoIdentityUserRepository : MongoDbRepository GetUserByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, bool includeDetails = true, CancellationToken cancellationToken = default) + public virtual async Task FindByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, CancellationToken cancellationToken = default) { return await (await GetMongoQueryableAsync(cancellationToken)) .FirstOrDefaultAsync( From 6ae2fcc2e6b8e405c6619c80b702630ef5b0b2bb Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 10 Nov 2022 17:19:18 +0300 Subject: [PATCH 3/4] Added `includeDetails` --- .../Volo/Abp/Identity/IIdentityUserRepository.cs | 1 + .../EntityFrameworkCore/EfCoreIdentityUserRepository.cs | 7 ++++++- .../Abp/Identity/MongoDB/MongoIdentityUserRepository.cs | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs index d5d601330a..59d6087d06 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs @@ -106,6 +106,7 @@ public interface IIdentityUserRepository : IBasicRepository Task FindByTenantIdAndUserNameAsync( Guid tenantId, [NotNull] string userName, + bool includeDetails = true, CancellationToken cancellationToken = default ); } diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs index 12ebbd80b5..1b0cdc825b 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs @@ -303,9 +303,14 @@ public class EfCoreIdentityUserRepository : EfCoreRepository FindByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, CancellationToken cancellationToken = default) + public virtual async Task FindByTenantIdAndUserNameAsync( + Guid tenantId, + [NotNull] string userName, + bool includeDetails = true, + CancellationToken cancellationToken = default) { return await(await GetDbSetAsync()) + .IncludeDetails(includeDetails) .FirstOrDefaultAsync( u => u.TenantId == tenantId && u.UserName == userName, GetCancellationToken(cancellationToken) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs index dbec50c147..01c92489f6 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs @@ -271,7 +271,11 @@ public class MongoIdentityUserRepository : MongoDbRepository FindByTenantIdAndUserNameAsync(Guid tenantId, [NotNull] string userName, CancellationToken cancellationToken = default) + public virtual async Task FindByTenantIdAndUserNameAsync( + Guid tenantId, + [NotNull] string userName, + bool includeDetails = true, + CancellationToken cancellationToken = default) { return await (await GetMongoQueryableAsync(cancellationToken)) .FirstOrDefaultAsync( From 68789f0427b157f8fdbc30cd81cfb6b5b7886382 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 10 Nov 2022 17:58:25 +0300 Subject: [PATCH 4/4] Made TenantId is nullable --- .../Volo/Abp/Identity/IIdentityUserRepository.cs | 2 +- .../EntityFrameworkCore/EfCoreIdentityUserRepository.cs | 2 +- .../Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs index 59d6087d06..9729d03129 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIdentityUserRepository.cs @@ -104,8 +104,8 @@ public interface IIdentityUserRepository : IBasicRepository ); Task FindByTenantIdAndUserNameAsync( - Guid tenantId, [NotNull] string userName, + Guid? tenantId, bool includeDetails = true, CancellationToken cancellationToken = default ); diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs index 1b0cdc825b..ab9cc892d6 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs @@ -304,8 +304,8 @@ public class EfCoreIdentityUserRepository : EfCoreRepository FindByTenantIdAndUserNameAsync( - Guid tenantId, [NotNull] string userName, + Guid? tenantId, bool includeDetails = true, CancellationToken cancellationToken = default) { diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs index 01c92489f6..71d0d2eb53 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs @@ -272,8 +272,8 @@ public class MongoIdentityUserRepository : MongoDbRepository FindByTenantIdAndUserNameAsync( - Guid tenantId, [NotNull] string userName, + Guid? tenantId, bool includeDetails = true, CancellationToken cancellationToken = default) {