Browse Source

Created Volo.Abp.Users package and added IUserLookupService.

pull/272/head
Halil İbrahim Kalkan 8 years ago
parent
commit
e19f366afa
  1. 14
      Volo.Abp.sln
  2. 2
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml
  3. 2
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Views/Shared/Components/AbpMenu/Default.cshtml
  4. 2
      src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs
  5. 2
      src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs
  6. 2
      src/Volo.Abp.Ddd.Application/Volo.Abp.Ddd.Application.csproj
  7. 4
      src/Volo.Abp.Ddd.Application/Volo/Abp/Application/AbpDddApplicationModule.cs
  8. 2
      src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs
  9. 1
      src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj
  10. 4
      src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs
  11. 1
      src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj
  12. 2
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs
  13. 19
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserExtensions.cs
  14. 30
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLookupService.cs
  15. 0
      src/Volo.Abp.Identity.HttpApi.Client/Volo.Abp.Identity.HttpApi.Client.csproj.DotSettings
  16. 31
      src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/HttpClientIdentityUserLookupService.cs
  17. 19
      src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/IdentityUserExtensions.cs
  18. 4
      src/Volo.Abp.Users/Volo.Abp.Users.csproj
  19. 2
      src/Volo.Abp.Users/Volo.Abp.Users.csproj.DotSettings
  20. 2
      src/Volo.Abp.Users/Volo/Abp/Settings/UserSettingManagerExtensions.cs
  21. 6
      src/Volo.Abp.Users/Volo/Abp/Users/AbpUsersModule.cs
  22. 2
      src/Volo.Abp.Users/Volo/Abp/Users/CurrentUser.cs
  23. 2
      src/Volo.Abp.Users/Volo/Abp/Users/CurrentUserExtensions.cs
  24. 2
      src/Volo.Abp.Users/Volo/Abp/Users/ICurrentUser.cs
  25. 22
      src/Volo.Abp.Users/Volo/Abp/Users/IUserInfo.cs
  26. 14
      src/Volo.Abp.Users/Volo/Abp/Users/IUserLookupService.cs
  27. 21
      src/Volo.Abp.Users/Volo/Abp/Users/NullUserLookupService.cs
  28. 38
      src/Volo.Abp.Users/Volo/Abp/Users/UserInfo.cs
  29. 2
      src/Volo.Abp.Users/Volo/Abp/Users/UserSettingValueProvider.cs
  30. 2
      test/Volo.Abp.Permissions.Tests/Volo.Abp.Permissions.Tests.csproj
  31. 4
      test/Volo.Abp.Permissions.Tests/Volo/Abp/Permissions/AbpPermissionTestModule.cs
  32. 2
      test/Volo.Abp.Permissions.Tests/Volo/Abp/Permissions/PermissionTestBase.cs
  33. 2
      test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj
  34. 4
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpSettingsTestModule.cs
  35. 2
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs
  36. 2
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingTestDataBuilder.cs
  37. 2
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingsTestBase.cs

14
Volo.Abp.sln

@ -170,8 +170,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Validation.Tests",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Security", "src\Volo.Abp.Security\Volo.Abp.Security.csproj", "{D43CC2C9-449A-4619-B5C6-CBC72BCA0512}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Session", "src\Volo.Abp.Session\Volo.Abp.Session.csproj", "{2FCC8412-8558-465A-A659-025A7BB88F2C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Guids", "src\Volo.Abp.Guids\Volo.Abp.Guids.csproj", "{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Threading", "src\Volo.Abp.Threading\Volo.Abp.Threading.csproj", "{B17BAA37-27E8-4421-A18B-DDF6D146EA06}"
@ -306,6 +304,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{EBD8
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{F33F751F-1260-40C0-8F76-E3D680605662}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Users", "src\Volo.Abp.Users\Volo.Abp.Users.csproj", "{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -580,10 +580,6 @@ Global
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512}.Release|Any CPU.Build.0 = Release|Any CPU
{2FCC8412-8558-465A-A659-025A7BB88F2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2FCC8412-8558-465A-A659-025A7BB88F2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2FCC8412-8558-465A-A659-025A7BB88F2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2FCC8412-8558-465A-A659-025A7BB88F2C}.Release|Any CPU.Build.0 = Release|Any CPU
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -808,6 +804,10 @@ Global
{5AB7E368-1CC8-401D-9952-6CA6779305E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5AB7E368-1CC8-401D-9952-6CA6779305E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5AB7E368-1CC8-401D-9952-6CA6779305E7}.Release|Any CPU.Build.0 = Release|Any CPU
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -889,7 +889,6 @@ Global
{5BECBCEF-459F-424B-A15A-0558D291842A} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{87117AFB-4C87-40CB-889E-F1D97C504906} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{2FCC8412-8558-465A-A659-025A7BB88F2C} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{B17BAA37-27E8-4421-A18B-DDF6D146EA06} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{C6CE997A-DE6F-4669-822F-5654BA72C0B0} = {37087D1B-3693-4E96-983D-A69F210BDE53}
@ -957,6 +956,7 @@ Global
{5AB7E368-1CC8-401D-9952-6CA6779305E7} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{EBD87D3A-8130-4FBB-9A47-4A81717BB915} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{F33F751F-1260-40C0-8F76-E3D680605662} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}

2
src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml

@ -1,6 +1,6 @@
@page
@using AbpDesk.Web.Mvc.Pages.App.Tickets
@using Volo.Abp.Session
@using Volo.Abp.Users
@model AbpDesk.Web.Mvc.Pages.App.Tickets.IndexModel
@inject ICurrentUser CurrentUser;

2
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Views/Shared/Components/AbpMenu/Default.cshtml

@ -1,6 +1,6 @@
@using Volo.Abp.MultiTenancy
@using Volo.Abp.Session
@using Volo.Abp.Ui.Navigation
@using Volo.Abp.Users
@model ApplicationMenu
@inject ICurrentUser CurrentUser
@inject ICurrentTenant CurrentTenant

2
src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs

@ -5,9 +5,9 @@ using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Session;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.AspNetCore.Mvc
{

2
src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs

@ -10,9 +10,9 @@ using Volo.Abp.Authorization;
using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Session;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.AspNetCore.Mvc.RazorPages
{

2
src/Volo.Abp.Ddd.Application/Volo.Abp.Ddd.Application.csproj

@ -19,7 +19,7 @@
<ProjectReference Include="..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Http.Abstractions\Volo.Abp.Http.Abstractions.csproj" />
<ProjectReference Include="..\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj" />
<ProjectReference Include="..\Volo.Abp.Session\Volo.Abp.Session.csproj" />
<ProjectReference Include="..\Volo.Abp.Users\Volo.Abp.Users.csproj" />
<ProjectReference Include="..\Volo.Abp.Validation\Volo.Abp.Validation.csproj" />
</ItemGroup>

4
src/Volo.Abp.Ddd.Application/Volo/Abp/Application/AbpDddApplicationModule.cs

@ -7,13 +7,13 @@ using Volo.Abp.Http;
using Volo.Abp.Http.Modeling;
using Volo.Abp.Modularity;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Session;
using Volo.Abp.Users;
using Volo.Abp.Validation;
namespace Volo.Abp.Application
{
[DependsOn(typeof(AbpDddDomainModule))]
[DependsOn(typeof(AbpSessionModule))]
[DependsOn(typeof(AbpUsersModule))]
[DependsOn(typeof(AbpObjectMappingModule))]
[DependsOn(typeof(AbpValidationModule))]
[DependsOn(typeof(AbpAuthorizationModule))]

2
src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs

@ -7,9 +7,9 @@ using Volo.Abp.Aspects;
using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Session;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.Application.Services
{

1
src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj

@ -18,7 +18,6 @@
<ProjectReference Include="..\Volo.Abp.Identity.Application.Contracts\Volo.Abp.Identity.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Permissions.Application\Volo.Abp.Permissions.Application.csproj" />
<ProjectReference Include="..\Volo.Abp.Session\Volo.Abp.Session.csproj" />
</ItemGroup>
</Project>

4
src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs

@ -2,7 +2,7 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.Permissions;
using Volo.Abp.Session;
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
@ -10,7 +10,7 @@ namespace Volo.Abp.Identity
typeof(AbpIdentityDomainModule),
typeof(AbpIdentityApplicationContractsModule),
typeof(AbpAutoMapperModule),
typeof(AbpSessionModule),
typeof(AbpUsersModule),
typeof(AbpPermissionsApplicationModule)
)]
public class AbpIdentityApplicationModule : AbpModule

1
src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj

@ -17,6 +17,7 @@
<ProjectReference Include="..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj" />
<ProjectReference Include="..\Volo.Abp.Permissions.Domain\Volo.Abp.Permissions.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Users\Volo.Abp.Users.csproj" />
</ItemGroup>
<ItemGroup>

2
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs

@ -2,12 +2,14 @@
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Volo.Abp.Permissions;
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
[DependsOn(typeof(AbpPermissionsDomainModule))]
[DependsOn(typeof(AbpDddDomainModule))]
[DependsOn(typeof(AbpIdentityDomainSharedModule))]
[DependsOn(typeof(AbpUsersModule))]
public class AbpIdentityDomainModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)

19
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserExtensions.cs

@ -0,0 +1,19 @@
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
public static class IdentityUserExtensions
{
public static IUserInfo ToUserInfo(this IdentityUser user)
{
return new UserInfo(
user.Id,
user.UserName,
user.Email,
user.EmailConfirmed,
user.PhoneNumber,
user.PhoneNumberConfirmed
);
}
}
}

30
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLookupService.cs

@ -0,0 +1,30 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
public class IdentityUserLookupService : IUserLookupService, ITransientDependency
{
private readonly IIdentityUserRepository _userRepository;
private readonly ILookupNormalizer _lookupNormalizer;
public IdentityUserLookupService(IIdentityUserRepository userRepository, ILookupNormalizer lookupNormalizer)
{
_userRepository = userRepository;
_lookupNormalizer = lookupNormalizer;
}
public async Task<IUserInfo> FindUserByIdAsync(Guid id)
{
return (await _userRepository.FindAsync(id)).ToUserInfo();
}
public async Task<IUserInfo> FindUserByUserNameAsync(string userName)
{
return (await _userRepository.FindByNormalizedUserNameAsync(_lookupNormalizer.Normalize(userName))).ToUserInfo();
}
}
}

0
src/Volo.Abp.Session/Volo.Abp.Session.csproj.DotSettings → src/Volo.Abp.Identity.HttpApi.Client/Volo.Abp.Identity.HttpApi.Client.csproj.DotSettings

31
src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/HttpClientIdentityUserLookupService.cs

@ -0,0 +1,31 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
public class HttpClientIdentityUserLookupService : IUserLookupService, ITransientDependency
{
private readonly IIdentityUserAppService _userAppService;
public HttpClientIdentityUserLookupService(IIdentityUserAppService userAppService)
{
_userAppService = userAppService;
}
public async Task<IUserInfo> FindUserByIdAsync(Guid id)
{
//TODO: Should return null if not found!
return (await _userAppService.GetAsync(id)).ToUserInfo();
}
public async Task<IUserInfo> FindUserByUserNameAsync(string userName)
{
//TODO: Should return null if not found!
//TODO: Search by UserName, not by a general filter!
return (await _userAppService.GetListAsync(new GetIdentityUsersInput { Filter = userName })).Items.FirstOrDefault()?.ToUserInfo();
}
}
}

19
src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/IdentityUserExtensions.cs

@ -0,0 +1,19 @@
using Volo.Abp.Users;
namespace Volo.Abp.Identity
{
public static class IdentityUserDtoExtensions
{
public static IUserInfo ToUserInfo(this IdentityUserDto user)
{
return new UserInfo(
user.Id,
user.UserName,
user.Email,
user.EmailConfirmed,
user.PhoneNumber,
user.PhoneNumberConfirmed
);
}
}
}

4
src/Volo.Abp.Session/Volo.Abp.Session.csproj → src/Volo.Abp.Users/Volo.Abp.Users.csproj

@ -4,8 +4,8 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Abp.Session</AssemblyName>
<PackageId>Volo.Abp.Session</PackageId>
<AssemblyName>Volo.Abp.Users</AssemblyName>
<PackageId>Volo.Abp.Users</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>

2
src/Volo.Abp.Users/Volo.Abp.Users.csproj.DotSettings

@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp71</s:String></wpf:ResourceDictionary>

2
src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs → src/Volo.Abp.Users/Volo/Abp/Settings/UserSettingManagerExtensions.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using JetBrains.Annotations;
using Volo.Abp.Session;
using Volo.Abp.Users;
namespace Volo.Abp.Settings
{

6
src/Volo.Abp.Session/Volo/Abp/Session/AbpSessionModule.cs → src/Volo.Abp.Users/Volo/Abp/Users/AbpUsersModule.cs

@ -3,11 +3,11 @@ using Volo.Abp.Modularity;
using Volo.Abp.Security;
using Volo.Abp.Settings;
namespace Volo.Abp.Session
namespace Volo.Abp.Users
{
[DependsOn(typeof(AbpSecurityModule))]
[DependsOn(typeof(AbpSettingsModule))]
public class AbpSessionModule : AbpModule
public class AbpUsersModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
@ -16,7 +16,7 @@ namespace Volo.Abp.Session
options.ValueProviders.Add<UserSettingValueProvider>();
});
services.AddAssemblyOf<AbpSessionModule>();
services.AddAssemblyOf<AbpUsersModule>();
}
}
}

2
src/Volo.Abp.Session/Volo/Abp/Session/CurrentUser.cs → src/Volo.Abp.Users/Volo/Abp/Users/CurrentUser.cs

@ -4,7 +4,7 @@ using System.Security.Claims;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Security.Claims;
namespace Volo.Abp.Session
namespace Volo.Abp.Users
{
public class CurrentUser : ICurrentUser, ITransientDependency
{

2
src/Volo.Abp.Session/Volo/Abp/Session/CurrentUserExtensions.cs → src/Volo.Abp.Users/Volo/Abp/Users/CurrentUserExtensions.cs

@ -1,7 +1,7 @@
using System;
using JetBrains.Annotations;
namespace Volo.Abp.Session
namespace Volo.Abp.Users
{
public static class CurrentUserExtensions
{

2
src/Volo.Abp.Session/Volo/Abp/Session/ICurrentUser.cs → src/Volo.Abp.Users/Volo/Abp/Users/ICurrentUser.cs

@ -2,7 +2,7 @@
using System.Security.Claims;
using JetBrains.Annotations;
namespace Volo.Abp.Session
namespace Volo.Abp.Users
{
public interface ICurrentUser
{

22
src/Volo.Abp.Users/Volo/Abp/Users/IUserInfo.cs

@ -0,0 +1,22 @@
using System;
using JetBrains.Annotations;
namespace Volo.Abp.Users
{
public interface IUserInfo
{
Guid Id { get; }
string UserName { get; }
[CanBeNull]
string Email { get; }
bool EmailConfirmed { get; }
[CanBeNull]
string PhoneNumber { get; }
bool PhoneNumberConfirmed { get; }
}
}

14
src/Volo.Abp.Users/Volo/Abp/Users/IUserLookupService.cs

@ -0,0 +1,14 @@
using System;
using System.Threading.Tasks;
namespace Volo.Abp.Users
{
public interface IUserLookupService
{
Task<IUserInfo> FindUserByIdAsync(Guid id);
Task<IUserInfo> FindUserByUserNameAsync(string userName);
//TODO: Searching users...
}
}

21
src/Volo.Abp.Users/Volo/Abp/Users/NullUserLookupService.cs

@ -0,0 +1,21 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Users
{
public class NullUserLookupService : IUserLookupService, ISingletonDependency
{
private static readonly Task<IUserInfo> NullUserResult = Task.FromResult((IUserInfo) null);
public Task<IUserInfo> FindUserByIdAsync(Guid id)
{
return NullUserResult;
}
public Task<IUserInfo> FindUserByUserNameAsync(string userName)
{
return NullUserResult;
}
}
}

38
src/Volo.Abp.Users/Volo/Abp/Users/UserInfo.cs

@ -0,0 +1,38 @@
using System;
using JetBrains.Annotations;
namespace Volo.Abp.Users
{
public class UserInfo : IUserInfo
{
public Guid Id { get; }
public string UserName { get; }
public string Email { get; }
public bool EmailConfirmed { get; }
public string PhoneNumber { get; }
public bool PhoneNumberConfirmed { get; }
public UserInfo(
Guid id,
[NotNull] string userName,
[CanBeNull] string email = null,
bool emailConfirmed = false,
[CanBeNull] string phoneNumber = null,
bool phoneNumberConfirmed = false)
{
Check.NotNull(userName, nameof(userName));
Id = id;
UserName = userName;
Email = email;
EmailConfirmed = emailConfirmed;
PhoneNumber = phoneNumber;
PhoneNumberConfirmed = phoneNumberConfirmed;
}
}
}

2
src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs → src/Volo.Abp.Users/Volo/Abp/Users/UserSettingValueProvider.cs

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Volo.Abp.Settings;
namespace Volo.Abp.Session
namespace Volo.Abp.Users
{
//TODO: Optimization: Get all settings and cache it!

2
test/Volo.Abp.Permissions.Tests/Volo.Abp.Permissions.Tests.csproj

@ -14,7 +14,7 @@
<ItemGroup>
<ProjectReference Include="..\..\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Permissions.EntityFrameworkCore\Volo.Abp.Permissions.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Session\Volo.Abp.Session.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Users\Volo.Abp.Users.csproj" />
<ProjectReference Include="..\AbpTestBase\AbpTestBase.csproj" />
</ItemGroup>

4
test/Volo.Abp.Permissions.Tests/Volo/Abp/Permissions/AbpPermissionTestModule.cs

@ -6,14 +6,14 @@ using Volo.Abp.Autofac;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
using Volo.Abp.Permissions.EntityFrameworkCore;
using Volo.Abp.Session;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.Permissions
{
[DependsOn(
typeof(AbpPermissionsEntityFrameworkCoreModule),
typeof(AbpSessionModule),
typeof(AbpUsersModule),
typeof(AbpAutofacModule))]
public class AbpPermissionTestModule : AbpModule
{

2
test/Volo.Abp.Permissions.Tests/Volo/Abp/Permissions/PermissionTestBase.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.Permissions.EntityFrameworkCore;
using Volo.Abp.Session;
using Volo.Abp.Users;
namespace Volo.Abp.Permissions
{

2
test/Volo.Abp.Settings.Tests/Volo.Abp.Settings.Tests.csproj

@ -13,8 +13,8 @@
<ItemGroup>
<ProjectReference Include="..\..\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Session\Volo.Abp.Session.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Settings.EntityFrameworkCore\Volo.Abp.Settings.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Users\Volo.Abp.Users.csproj" />
<ProjectReference Include="..\AbpTestBase\AbpTestBase.csproj" />
</ItemGroup>

4
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpSettingsTestModule.cs

@ -4,15 +4,15 @@ using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Autofac;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
using Volo.Abp.Session;
using Volo.Abp.Settings.EntityFrameworkCore;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.Settings
{
[DependsOn(
typeof(AbpSettingsEntityFrameworkCoreModule),
typeof(AbpSessionModule),
typeof(AbpUsersModule),
typeof(AbpAutofacModule))]
public class AbpSettingsTestModule : AbpModule
{

2
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs

@ -4,7 +4,7 @@ using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using NSubstitute;
using Shouldly;
using Volo.Abp.Session;
using Volo.Abp.Users;
using Xunit;
namespace Volo.Abp.Settings

2
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingTestDataBuilder.cs

@ -1,7 +1,7 @@
using System;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.Session;
using Volo.Abp.Users;
namespace Volo.Abp.Settings
{

2
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingsTestBase.cs

@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.Session;
using Volo.Abp.Settings.EntityFrameworkCore;
using Volo.Abp.Users;
namespace Volo.Abp.Settings
{

Loading…
Cancel
Save