Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="IvAt.CommonFramework.GenericRepository" Version="2.1.7" />
<PackageVersion Include="IvAt.CommonFramework.IdentitySource.Abstractions" Version="2.1.7" />
<PackageVersion Include="IvAt.CommonFramework.RelativePath" Version="2.1.7" />
<PackageVersion Include="IvAt.CommonFramework.VisualIdentitySource" Version="2.1.7" />
<PackageVersion Include="IvAt.CommonFramework.VisualIdentitySource.Abstractions" Version="2.1.7" />
<PackageVersion Include="IvAt.GenericQueryable.Abstractions" Version="2.1.7" />
<PackageVersion Include="IvAt.GenericQueryable.EntityFramework" Version="2.1.7" />
<PackageVersion Include="IvAt.HierarchicalExpand" Version="2.1.7" />
<PackageVersion Include="IvAt.HierarchicalExpand.Abstractions" Version="2.1.7" />
<PackageVersion Include="IvAt.CommonFramework.GenericRepository" Version="2.1.8" />
<PackageVersion Include="IvAt.CommonFramework.IdentitySource.Abstractions" Version="2.1.8" />
<PackageVersion Include="IvAt.CommonFramework.RelativePath" Version="2.1.8" />
<PackageVersion Include="IvAt.CommonFramework.VisualIdentitySource" Version="2.1.8" />
<PackageVersion Include="IvAt.CommonFramework.VisualIdentitySource.Abstractions" Version="2.1.8" />
<PackageVersion Include="IvAt.GenericQueryable.Abstractions" Version="2.1.8" />
<PackageVersion Include="IvAt.GenericQueryable.EntityFramework" Version="2.1.8" />
<PackageVersion Include="IvAt.HierarchicalExpand" Version="2.1.8" />
<PackageVersion Include="IvAt.HierarchicalExpand.Abstractions" Version="2.1.8" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="10.0.2" />
<PackageVersion Include="Microsoft.AspNetCore.Http" Version="2.3.9" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.6" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace SecuritySystem.GeneralPermission.Initialize;

public interface ISecurityContextInitializer<TSecurityContextType> : ISecurityContextInitializer
{
new Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(CancellationToken cancellationToken);
new Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Initialize(CancellationToken cancellationToken);
}

public interface ISecurityContextInitializer : ISecurityInitializer;
public interface ISecurityContextInitializer : IInitializer;

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ namespace SecuritySystem.GeneralPermission.Initialize;

public interface ISecurityRoleInitializer<TSecurityRole> : ISecurityRoleInitializer
{
Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(IEnumerable<FullSecurityRole> securityRoles, CancellationToken cancellationToken);
Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(IEnumerable<FullSecurityRole> securityRoles, CancellationToken cancellationToken);

new Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(CancellationToken cancellationToken);
new Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(CancellationToken cancellationToken);
}

public interface ISecurityRoleInitializer : ISecurityInitializer;
public interface ISecurityRoleInitializer : IInitializer;
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ namespace SecuritySystem.GeneralPermission.Initialize;
public class SecurityContextInitializer(IServiceProvider serviceProvider, IEnumerable<GeneralPermissionRestrictionBindingInfo> bindings)
: ISecurityContextInitializer
{
public async Task Init(CancellationToken cancellationToken)
public async Task Initialize(CancellationToken cancellationToken)
{
foreach (var binding in bindings)
{
var initializer =
(ISecurityContextInitializer)serviceProvider.GetRequiredService(
typeof(ISecurityContextInitializer<>).MakeGenericType(binding.SecurityContextTypeType));

await initializer.Init(cancellationToken);
await initializer.Initialize(cancellationToken);
}
}
}
Expand All @@ -44,11 +44,10 @@ public class SecurityContextInitializer<TSecurityContextType>(
return serviceProxyFactory.Create<ISecurityContextInitializer<TSecurityContextType>>(innerServiceType, identityInfo, visualIdentityInfo);
});

public Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Init(cancellationToken);
public Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Initialize(CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Initialize(cancellationToken);

Task ISecurityInitializer.Init(CancellationToken cancellationToken) =>
((ISecurityInitializer)this.lazyInnerService.Value).Init(cancellationToken);
Task IInitializer.Initialize(CancellationToken cancellationToken) => ((IInitializer)this.lazyInnerService.Value).Initialize(cancellationToken);
}

public class SecurityContextInitializer<TSecurityContextType, TSecurityContextTypeIdent>(
Expand All @@ -58,20 +57,20 @@ public class SecurityContextInitializer<TSecurityContextType, TSecurityContextTy
ILogger<SecurityContextInitializer<TSecurityContextType, TSecurityContextTypeIdent>> logger,
IdentityInfo<TSecurityContextType, TSecurityContextTypeIdent> identityInfo,
VisualIdentityInfo<TSecurityContextType> visualIdentityInfo,
ISecurityIdentityConverter<TSecurityContextTypeIdent> identityConverter,
ISecurityIdentityConverter<TSecurityContextTypeIdent> identityConverter,
InitializerSettings settings)
: ISecurityContextInitializer<TSecurityContextType>
where TSecurityContextType : class, new()
where TSecurityContextTypeIdent : notnull
where TSecurityContextType : class, new()
where TSecurityContextTypeIdent : notnull
{
public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(CancellationToken cancellationToken)
public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Initialize(CancellationToken cancellationToken)
{
var dbSecurityContextTypes = await queryableSource.GetQueryable<TSecurityContextType>().GenericToListAsync(cancellationToken);
var dbSecurityContextTypes = await queryableSource.GetQueryable<TSecurityContextType>().GenericToListAsync(cancellationToken);

var mergeResult = dbSecurityContextTypes.GetMergeResult(
securityContextInfoSource.SecurityContextInfoList,
identityInfo.Id.Getter,
sc => identityConverter.Convert(sc.Identity).Id);
var mergeResult = dbSecurityContextTypes.GetMergeResult(
securityContextInfoSource.SecurityContextInfoList,
identityInfo.Id.Getter,
sc => identityConverter.Convert(sc.Identity).Id);

if (mergeResult.RemovingItems.Any())
{
Expand All @@ -85,7 +84,8 @@ public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(C
{
foreach (var removingItem in mergeResult.RemovingItems)
{
logger.LogDebug("SecurityContextType removed: {Name} {Id}", visualIdentityInfo.Name.Getter(removingItem), identityInfo.Id.Getter(removingItem));
logger.LogDebug("SecurityContextType removed: {Name} {Id}", visualIdentityInfo.Name.Getter(removingItem),
identityInfo.Id.Getter(removingItem));

await genericRepository.RemoveAsync(removingItem, cancellationToken);
}
Expand All @@ -97,12 +97,13 @@ public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(C

foreach (var securityContextInfo in mergeResult.AddingItems)
{
var securityContextType = new TSecurityContextType();
var securityContextType = new TSecurityContextType();

visualIdentityInfo.Name.Setter(securityContextType, securityContextInfo.Name);
identityInfo.Id.Setter(securityContextType, identityConverter.Convert(securityContextInfo.Identity).Id);
visualIdentityInfo.Name.Setter(securityContextType, securityContextInfo.Name);
identityInfo.Id.Setter(securityContextType, identityConverter.Convert(securityContextInfo.Identity).Id);

logger.LogDebug("SecurityContextType created: {Name} {Id}", visualIdentityInfo.Name.Getter(securityContextType), identityInfo.Id.Getter(securityContextType));
logger.LogDebug("SecurityContextType created: {Name} {Id}", visualIdentityInfo.Name.Getter(securityContextType),
identityInfo.Id.Getter(securityContextType));

await genericRepository.SaveAsync(securityContextType, cancellationToken);
}
Expand All @@ -111,7 +112,7 @@ public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(C
{
if (visualIdentityInfo.Name.Getter(securityContextType) != securityContextInfo.Name)
{
visualIdentityInfo.Name.Setter(securityContextType, securityContextInfo.Name);
visualIdentityInfo.Name.Setter(securityContextType, securityContextInfo.Name);

logger.LogDebug("SecurityContextType updated: {Name} {Id}", securityContextInfo.Name, identityInfo.Id.Getter(securityContextType));

Expand All @@ -122,5 +123,5 @@ public async Task<MergeResult<TSecurityContextType, SecurityContextInfo>> Init(C
return mergeResult;
}

async Task ISecurityInitializer.Init(CancellationToken cancellationToken) => await this.Init(cancellationToken);
}
async Task IInitializer.Initialize(CancellationToken cancellationToken) => await this.Initialize(cancellationToken);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using CommonFramework.VisualIdentitySource;

using GenericQueryable;

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

Expand All @@ -14,15 +15,15 @@ namespace SecuritySystem.GeneralPermission.Initialize;
public class SecurityRoleInitializer(IServiceProvider serviceProvider, IEnumerable<GeneralPermissionBindingInfo> bindings)
: ISecurityRoleInitializer
{
public async Task Init(CancellationToken cancellationToken)
public async Task Initialize(CancellationToken cancellationToken)
{
foreach (var binding in bindings)
{
var initializer =
(ISecurityRoleInitializer)serviceProvider.GetRequiredService(
typeof(ISecurityRoleInitializer<>).MakeGenericType(binding.SecurityRoleType));

await initializer.Init(cancellationToken);
await initializer.Initialize(cancellationToken);
}
}
}
Expand Down Expand Up @@ -53,14 +54,14 @@ public class SecurityRoleInitializer<TSecurityRole>(
visualIdentityInfo);
});

public Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(IEnumerable<FullSecurityRole> securityRoles, CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Init(securityRoles, cancellationToken);
public Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(IEnumerable<FullSecurityRole> securityRoles, CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Initialize(securityRoles, cancellationToken);

public Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Init(cancellationToken);
public Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(CancellationToken cancellationToken) =>
this.lazyInnerService.Value.Initialize(cancellationToken);

Task ISecurityInitializer.Init(CancellationToken cancellationToken) =>
((ISecurityInitializer)this.lazyInnerService.Value).Init(cancellationToken);
Task IInitializer.Initialize(CancellationToken cancellationToken) =>
((IInitializer)this.lazyInnerService.Value).Initialize(cancellationToken);
}

public class SecurityRoleInitializer<TPermission, TSecurityRole, TSecurityRoleIdent>(
Expand All @@ -77,12 +78,12 @@ public class SecurityRoleInitializer<TPermission, TSecurityRole, TSecurityRoleId
where TSecurityRole : class, new()
where TSecurityRoleIdent : notnull
{
public async Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(CancellationToken cancellationToken)
public async Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(CancellationToken cancellationToken)
{
return await this.Init(securityRoleSource.GetRealRoles(), cancellationToken);
return await this.Initialize(securityRoleSource.GetRealRoles(), cancellationToken);
}

public async Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(
public async Task<MergeResult<TSecurityRole, FullSecurityRole>> Initialize(
IEnumerable<FullSecurityRole> securityRoles,
CancellationToken cancellationToken)
{
Expand Down Expand Up @@ -145,5 +146,5 @@ public async Task<MergeResult<TSecurityRole, FullSecurityRole>> Init(
return mergeResult;
}

async Task ISecurityInitializer.Init(CancellationToken cancellationToken) => await this.Init(cancellationToken);
async Task IInitializer.Initialize(CancellationToken cancellationToken) => await this.Initialize(cancellationToken);
}
1 change: 0 additions & 1 deletion src/SecuritySystem.Testing/RootAuthManager.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using CommonFramework;
using CommonFramework.DependencyInjection;
using CommonFramework.GenericRepository;
using CommonFramework.IdentitySource;
using CommonFramework.VisualIdentitySource;
Expand Down
9 changes: 4 additions & 5 deletions src/_Example/ExampleApp.Api/Controllers/InitController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using HierarchicalExpand.AncestorDenormalization;

using Microsoft.AspNetCore.Mvc;

using SecuritySystem.GeneralPermission.Initialize;
using SecuritySystem.Services;

Expand All @@ -15,7 +14,7 @@ namespace ExampleApp.Api.Controllers;
[ApiController]
public class InitController(
IRawUserAuthenticationService rawUserAuthenticationService,
IDenormalizedAncestorsService<BusinessUnit> denormalizedAncestorsService,
IDenormalizedAncestorsService denormalizedAncestorsService,
ISecurityRoleInitializer securityRoleInitializer,
ISecurityContextInitializer securityContextInitializer,
TestDbContext dbContext) : ControllerBase
Expand Down Expand Up @@ -63,12 +62,12 @@ public async Task TestInitialize(CancellationToken cancellationToken = default)

await dbContext.SaveChangesAsync(cancellationToken);

await denormalizedAncestorsService.SyncAllAsync(cancellationToken);
await denormalizedAncestorsService.Initialize(cancellationToken);

await dbContext.SaveChangesAsync(cancellationToken);

await securityRoleInitializer.Init(cancellationToken);
await securityContextInitializer.Init(cancellationToken);
await securityRoleInitializer.Initialize(cancellationToken);
await securityContextInitializer.Initialize(cancellationToken);

await dbContext.SaveChangesAsync(cancellationToken);
}
Expand Down
2 changes: 1 addition & 1 deletion src/__SolutionItems/CommonAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[assembly: AssemblyProduct("SecuritySystem")]
[assembly: AssemblyCompany("IvAt")]

[assembly: AssemblyVersion("2.1.7.0")]
[assembly: AssemblyVersion("2.1.8.0")]
[assembly: AssemblyInformationalVersion("changes at build")]

#if DEBUG
Expand Down
Loading