Browse Source

Enable nullable annotations for Volo.Abp.Authorization.Abstractions

pull/17108/head
liangshiwei 3 years ago
parent
commit
5ab7ebf5d1
  1. 2
      framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj
  2. 4
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs
  3. 4
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs
  4. 2
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs
  5. 4
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs
  6. 8
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs
  7. 16
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs
  8. 6
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs
  9. 6
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs
  10. 17
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs
  11. 4
      framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs

2
framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj

@ -5,6 +5,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Authorization.Abstractions</AssemblyName> <AssemblyName>Volo.Abp.Authorization.Abstractions</AssemblyName>
<PackageId>Volo.Abp.Authorization.Abstractions</PackageId> <PackageId>Volo.Abp.Authorization.Abstractions</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

4
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs

@ -21,12 +21,12 @@ public class AlwaysAllowAuthorizationService : IAbpAuthorizationService
_currentPrincipalAccessor = currentPrincipalAccessor; _currentPrincipalAccessor = currentPrincipalAccessor;
} }
public Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, IEnumerable<IAuthorizationRequirement> requirements) public Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, IEnumerable<IAuthorizationRequirement> requirements)
{ {
return Task.FromResult(AuthorizationResult.Success()); return Task.FromResult(AuthorizationResult.Success());
} }
public Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, string policyName) public Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, string policyName)
{ {
return Task.FromResult(AuthorizationResult.Success()); return Task.FromResult(AuthorizationResult.Success());
} }

4
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs

@ -17,7 +17,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker
return TaskCache.TrueResult; return TaskCache.TrueResult;
} }
public Task<bool> IsGrantedAsync(ClaimsPrincipal claimsPrincipal, string name) public Task<bool> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string name)
{ {
return TaskCache.TrueResult; return TaskCache.TrueResult;
} }
@ -27,7 +27,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker
return IsGrantedAsync(null, names); return IsGrantedAsync(null, names);
} }
public Task<MultiplePermissionGrantResult> IsGrantedAsync(ClaimsPrincipal claimsPrincipal, string[] names) public Task<MultiplePermissionGrantResult> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string[] names)
{ {
return Task.FromResult(new MultiplePermissionGrantResult(names, PermissionGrantResult.Granted)); return Task.FromResult(new MultiplePermissionGrantResult(names, PermissionGrantResult.Granted));
} }

2
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs

@ -8,7 +8,7 @@ public interface ICanAddChildPermission
{ {
PermissionDefinition AddPermission( PermissionDefinition AddPermission(
[NotNull] string name, [NotNull] string name,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both, MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true); bool isEnabled = true);
} }

4
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs

@ -8,9 +8,9 @@ public interface IPermissionChecker
{ {
Task<bool> IsGrantedAsync([NotNull] string name); Task<bool> IsGrantedAsync([NotNull] string name);
Task<bool> IsGrantedAsync([CanBeNull] ClaimsPrincipal claimsPrincipal, [NotNull] string name); Task<bool> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, [NotNull] string name);
Task<MultiplePermissionGrantResult> IsGrantedAsync([NotNull] string[] names); Task<MultiplePermissionGrantResult> IsGrantedAsync([NotNull] string[] names);
Task<MultiplePermissionGrantResult> IsGrantedAsync([CanBeNull] ClaimsPrincipal claimsPrincipal, [NotNull] string[] names); Task<MultiplePermissionGrantResult> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, [NotNull] string[] names);
} }

8
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs

@ -25,8 +25,7 @@ public interface IPermissionDefinitionContext
/// </summary> /// </summary>
/// <param name="name">Name of the group</param> /// <param name="name">Name of the group</param>
/// <returns></returns> /// <returns></returns>
[CanBeNull] PermissionGroupDefinition? GetGroupOrNull(string name);
PermissionGroupDefinition GetGroupOrNull(string name);
/// <summary> /// <summary>
/// Tries to add a new permission group. /// Tries to add a new permission group.
@ -37,7 +36,7 @@ public interface IPermissionDefinitionContext
/// </summary> /// </summary>
PermissionGroupDefinition AddGroup( PermissionGroupDefinition AddGroup(
[NotNull] string name, [NotNull] string name,
ILocalizableString displayName = null); ILocalizableString? displayName = null);
/// <summary> /// <summary>
/// Tries to remove a permission group. /// Tries to remove a permission group.
@ -51,6 +50,5 @@ public interface IPermissionDefinitionContext
/// Returns null if can not find the given group. /// Returns null if can not find the given group.
/// <param name="name">Name of the group</param> /// <param name="name">Name of the group</param>
/// </summary> /// </summary>
[CanBeNull] PermissionDefinition? GetPermissionOrNull([NotNull] string name);
PermissionDefinition GetPermissionOrNull([NotNull] string name);
} }

16
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs

@ -20,7 +20,7 @@ public class PermissionDefinition :
/// Parent of this permission if one exists. /// Parent of this permission if one exists.
/// If set, this permission can be granted only if parent is granted. /// If set, this permission can be granted only if parent is granted.
/// </summary> /// </summary>
public PermissionDefinition Parent { get; private set; } public PermissionDefinition? Parent { get; private set; }
/// <summary> /// <summary>
/// MultiTenancy side. /// MultiTenancy side.
@ -40,7 +40,7 @@ public class PermissionDefinition :
get => _displayName; get => _displayName;
set => _displayName = Check.NotNull(value, nameof(value)); set => _displayName = Check.NotNull(value, nameof(value));
} }
private ILocalizableString _displayName; private ILocalizableString _displayName = default!;
public IReadOnlyList<PermissionDefinition> Children => _children.ToImmutableList(); public IReadOnlyList<PermissionDefinition> Children => _children.ToImmutableList();
private readonly List<PermissionDefinition> _children; private readonly List<PermissionDefinition> _children;
@ -48,7 +48,7 @@ public class PermissionDefinition :
/// <summary> /// <summary>
/// Can be used to get/set custom properties for this permission definition. /// Can be used to get/set custom properties for this permission definition.
/// </summary> /// </summary>
public Dictionary<string, object> Properties { get; } public Dictionary<string, object?> Properties { get; }
/// <summary> /// <summary>
/// Indicates whether this permission is enabled or disabled. /// Indicates whether this permission is enabled or disabled.
@ -71,14 +71,14 @@ public class PermissionDefinition :
/// Returns the value in the <see cref="Properties"/> dictionary by given <paramref name="name"/>. /// Returns the value in the <see cref="Properties"/> dictionary by given <paramref name="name"/>.
/// Returns null if given <paramref name="name"/> is not present in the <see cref="Properties"/> dictionary. /// Returns null if given <paramref name="name"/> is not present in the <see cref="Properties"/> dictionary.
/// </returns> /// </returns>
public object this[string name] { public object? this[string name] {
get => Properties.GetOrDefault(name); get => Properties.GetOrDefault(name);
set => Properties[name] = value; set => Properties[name] = value;
} }
protected internal PermissionDefinition( protected internal PermissionDefinition(
[NotNull] string name, [NotNull] string name,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both, MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true) bool isEnabled = true)
{ {
@ -87,7 +87,7 @@ public class PermissionDefinition :
MultiTenancySide = multiTenancySide; MultiTenancySide = multiTenancySide;
IsEnabled = isEnabled; IsEnabled = isEnabled;
Properties = new Dictionary<string, object>(); Properties = new Dictionary<string, object?>();
Providers = new List<string>(); Providers = new List<string>();
StateCheckers = new List<ISimpleStateChecker<PermissionDefinition>>(); StateCheckers = new List<ISimpleStateChecker<PermissionDefinition>>();
_children = new List<PermissionDefinition>(); _children = new List<PermissionDefinition>();
@ -95,7 +95,7 @@ public class PermissionDefinition :
public virtual PermissionDefinition AddChild( public virtual PermissionDefinition AddChild(
[NotNull] string name, [NotNull] string name,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both, MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true) bool isEnabled = true)
{ {
@ -115,7 +115,7 @@ public class PermissionDefinition :
PermissionDefinition ICanAddChildPermission.AddPermission( PermissionDefinition ICanAddChildPermission.AddPermission(
string name, string name,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both, MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true) bool isEnabled = true)
{ {

6
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs

@ -20,7 +20,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext
public virtual PermissionGroupDefinition AddGroup( public virtual PermissionGroupDefinition AddGroup(
string name, string name,
ILocalizableString displayName = null) ILocalizableString? displayName = null)
{ {
Check.NotNull(name, nameof(name)); Check.NotNull(name, nameof(name));
@ -45,7 +45,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext
return group; return group;
} }
public virtual PermissionGroupDefinition GetGroupOrNull([NotNull] string name) public virtual PermissionGroupDefinition? GetGroupOrNull([NotNull] string name)
{ {
Check.NotNull(name, nameof(name)); Check.NotNull(name, nameof(name));
@ -69,7 +69,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext
Groups.Remove(name); Groups.Remove(name);
} }
public virtual PermissionDefinition GetPermissionOrNull([NotNull] string name) public virtual PermissionDefinition? GetPermissionOrNull([NotNull] string name)
{ {
Check.NotNull(name, nameof(name)); Check.NotNull(name, nameof(name));

6
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs

@ -8,11 +8,11 @@ public class PermissionGrantInfo
public bool IsGranted { get; } public bool IsGranted { get; }
public string ProviderName { get; } public string? ProviderName { get; }
public string ProviderKey { get; } public string? ProviderKey { get; }
public PermissionGrantInfo([NotNull] string name, bool isGranted, [CanBeNull] string providerName = null, [CanBeNull] string providerKey = null) public PermissionGrantInfo([NotNull] string name, bool isGranted, string? providerName = null, string? providerKey = null)
{ {
Check.NotNull(name, nameof(name)); Check.NotNull(name, nameof(name));

17
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs

@ -13,13 +13,13 @@ public class PermissionGroupDefinition : ICanAddChildPermission
/// </summary> /// </summary>
public string Name { get; } public string Name { get; }
public Dictionary<string, object> Properties { get; } public Dictionary<string, object?> Properties { get; }
public ILocalizableString DisplayName { public ILocalizableString DisplayName {
get => _displayName; get => _displayName;
set => _displayName = Check.NotNull(value, nameof(value)); set => _displayName = Check.NotNull(value, nameof(value));
} }
private ILocalizableString _displayName; private ILocalizableString _displayName = default!;
public IReadOnlyList<PermissionDefinition> Permissions => _permissions.ToImmutableList(); public IReadOnlyList<PermissionDefinition> Permissions => _permissions.ToImmutableList();
private readonly List<PermissionDefinition> _permissions; private readonly List<PermissionDefinition> _permissions;
@ -32,25 +32,25 @@ public class PermissionGroupDefinition : ICanAddChildPermission
/// Returns the value in the <see cref="Properties"/> dictionary by given <paramref name="name"/>. /// Returns the value in the <see cref="Properties"/> dictionary by given <paramref name="name"/>.
/// Returns null if given <paramref name="name"/> is not present in the <see cref="Properties"/> dictionary. /// Returns null if given <paramref name="name"/> is not present in the <see cref="Properties"/> dictionary.
/// </returns> /// </returns>
public object this[string name] { public object? this[string name] {
get => Properties.GetOrDefault(name); get => Properties.GetOrDefault(name);
set => Properties[name] = value; set => Properties[name] = value;
} }
protected internal PermissionGroupDefinition( protected internal PermissionGroupDefinition(
string name, string name,
ILocalizableString displayName = null) ILocalizableString? displayName = null)
{ {
Name = name; Name = name;
DisplayName = displayName ?? new FixedLocalizableString(Name); DisplayName = displayName ?? new FixedLocalizableString(Name);
Properties = new Dictionary<string, object>(); Properties = new Dictionary<string, object?>();
_permissions = new List<PermissionDefinition>(); _permissions = new List<PermissionDefinition>();
} }
public virtual PermissionDefinition AddPermission( public virtual PermissionDefinition AddPermission(
[NotNull] string name, [NotNull] string name,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both, MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true) bool isEnabled = true)
{ {
@ -93,15 +93,14 @@ public class PermissionGroupDefinition : ICanAddChildPermission
return $"[{nameof(PermissionGroupDefinition)} {Name}]"; return $"[{nameof(PermissionGroupDefinition)} {Name}]";
} }
[CanBeNull] public PermissionDefinition? GetPermissionOrNull([NotNull] string name)
public PermissionDefinition GetPermissionOrNull([NotNull] string name)
{ {
Check.NotNull(name, nameof(name)); Check.NotNull(name, nameof(name));
return GetPermissionOrNullRecursively(Permissions, name); return GetPermissionOrNullRecursively(Permissions, name);
} }
private PermissionDefinition GetPermissionOrNullRecursively( private PermissionDefinition? GetPermissionOrNullRecursively(
IReadOnlyList<PermissionDefinition> permissions, string name) IReadOnlyList<PermissionDefinition> permissions, string name)
{ {
foreach (var permission in permissions) foreach (var permission in permissions)

4
framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs

@ -4,7 +4,7 @@ namespace Volo.Abp.Authorization.Permissions;
public class PermissionStateContext public class PermissionStateContext
{ {
public IServiceProvider ServiceProvider { get; set; } public IServiceProvider ServiceProvider { get; set; } = default!;
public PermissionDefinition Permission { get; set; } public PermissionDefinition Permission { get; set; } = default!;
} }

Loading…
Cancel
Save