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>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Authorization.Abstractions</AssemblyName>
<PackageId>Volo.Abp.Authorization.Abstractions</PackageId>
<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;
}
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());
}
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());
}

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

@ -17,7 +17,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker
return TaskCache.TrueResult;
}
public Task<bool> IsGrantedAsync(ClaimsPrincipal claimsPrincipal, string name)
public Task<bool> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string name)
{
return TaskCache.TrueResult;
}
@ -27,7 +27,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker
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));
}

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

@ -8,7 +8,7 @@ public interface ICanAddChildPermission
{
PermissionDefinition AddPermission(
[NotNull] string name,
ILocalizableString displayName = null,
ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both,
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([CanBeNull] ClaimsPrincipal claimsPrincipal, [NotNull] string name);
Task<bool> IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, [NotNull] string name);
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>
/// <param name="name">Name of the group</param>
/// <returns></returns>
[CanBeNull]
PermissionGroupDefinition GetGroupOrNull(string name);
PermissionGroupDefinition? GetGroupOrNull(string name);
/// <summary>
/// Tries to add a new permission group.
@ -37,7 +36,7 @@ public interface IPermissionDefinitionContext
/// </summary>
PermissionGroupDefinition AddGroup(
[NotNull] string name,
ILocalizableString displayName = null);
ILocalizableString? displayName = null);
/// <summary>
/// Tries to remove a permission group.
@ -51,6 +50,5 @@ public interface IPermissionDefinitionContext
/// Returns null if can not find the given group.
/// <param name="name">Name of the group</param>
/// </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.
/// If set, this permission can be granted only if parent is granted.
/// </summary>
public PermissionDefinition Parent { get; private set; }
public PermissionDefinition? Parent { get; private set; }
/// <summary>
/// MultiTenancy side.
@ -40,7 +40,7 @@ public class PermissionDefinition :
get => _displayName;
set => _displayName = Check.NotNull(value, nameof(value));
}
private ILocalizableString _displayName;
private ILocalizableString _displayName = default!;
public IReadOnlyList<PermissionDefinition> Children => _children.ToImmutableList();
private readonly List<PermissionDefinition> _children;
@ -48,7 +48,7 @@ public class PermissionDefinition :
/// <summary>
/// Can be used to get/set custom properties for this permission definition.
/// </summary>
public Dictionary<string, object> Properties { get; }
public Dictionary<string, object?> Properties { get; }
/// <summary>
/// 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 null if given <paramref name="name"/> is not present in the <see cref="Properties"/> dictionary.
/// </returns>
public object this[string name] {
public object? this[string name] {
get => Properties.GetOrDefault(name);
set => Properties[name] = value;
}
protected internal PermissionDefinition(
[NotNull] string name,
ILocalizableString displayName = null,
ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true)
{
@ -87,7 +87,7 @@ public class PermissionDefinition :
MultiTenancySide = multiTenancySide;
IsEnabled = isEnabled;
Properties = new Dictionary<string, object>();
Properties = new Dictionary<string, object?>();
Providers = new List<string>();
StateCheckers = new List<ISimpleStateChecker<PermissionDefinition>>();
_children = new List<PermissionDefinition>();
@ -95,7 +95,7 @@ public class PermissionDefinition :
public virtual PermissionDefinition AddChild(
[NotNull] string name,
ILocalizableString displayName = null,
ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both,
bool isEnabled = true)
{
@ -115,7 +115,7 @@ public class PermissionDefinition :
PermissionDefinition ICanAddChildPermission.AddPermission(
string name,
ILocalizableString displayName = null,
ILocalizableString? displayName = null,
MultiTenancySides multiTenancySide = MultiTenancySides.Both,
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(
string name,
ILocalizableString displayName = null)
ILocalizableString? displayName = null)
{
Check.NotNull(name, nameof(name));
@ -45,7 +45,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext
return group;
}
public virtual PermissionGroupDefinition GetGroupOrNull([NotNull] string name)
public virtual PermissionGroupDefinition? GetGroupOrNull([NotNull] string name)
{
Check.NotNull(name, nameof(name));
@ -69,7 +69,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext
Groups.Remove(name);
}
public virtual PermissionDefinition GetPermissionOrNull([NotNull] string name)
public virtual PermissionDefinition? GetPermissionOrNull([NotNull] string 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 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));

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

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

Loading…
Cancel
Save