From 66b034cf6a68233d0993e3bf6838ca46f21df11d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 14 Jul 2023 14:48:04 +0800 Subject: [PATCH] Enable nullable annotations for Volo.Abp.BlobStoring.Aliyun --- .../Volo.Abp.BlobStoring.Aliyun.csproj | 2 ++ .../Volo/Abp/BlobStoring/Aliyun/AliyunBlobProvider.cs | 4 ++-- .../Aliyun/AliyunBlobProviderConfiguration.cs | 4 ++-- .../Aliyun/AliyunTemporaryCredentialsCacheItem.cs | 6 +++--- .../Abp/BlobStoring/Aliyun/DefaultOssClientFactory.cs | 10 +++++----- .../Volo/Abp/BlobStoring/BlobProviderBase.cs | 2 +- .../Volo/Abp/BlobStoring/IBlobProvider.cs | 2 +- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo.Abp.BlobStoring.Aliyun.csproj b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo.Abp.BlobStoring.Aliyun.csproj index 76241505be..db18335321 100644 --- a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo.Abp.BlobStoring.Aliyun.csproj +++ b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo.Abp.BlobStoring.Aliyun.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BlobStoring.Aliyun Volo.Abp.BlobStoring.Aliyun $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProvider.cs b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProvider.cs index ab179b9449..1c04fdb755 100644 --- a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProvider.cs +++ b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProvider.cs @@ -76,7 +76,7 @@ public class AliyunBlobProvider : BlobProviderBase, ITransientDependency return Task.FromResult(BlobExists(ossClient, containerName, blobName)); } - public override async Task GetOrNullAsync(BlobProviderGetArgs args) + public override async Task GetOrNullAsync(BlobProviderGetArgs args) { var containerName = GetContainerName(args); var blobName = AliyunBlobNameCalculator.Calculate(args); @@ -94,7 +94,7 @@ public class AliyunBlobProvider : BlobProviderBase, ITransientDependency var configuration = args.Configuration.GetAliyunConfiguration(); return configuration.ContainerName.IsNullOrWhiteSpace() ? args.ContainerName - : BlobNormalizeNamingService.NormalizeContainerName(args.Configuration, configuration.ContainerName); + : BlobNormalizeNamingService.NormalizeContainerName(args.Configuration, configuration.ContainerName!); } protected virtual bool BlobExists(IOss ossClient, string containerName, string blobName) diff --git a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProviderConfiguration.cs b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProviderConfiguration.cs index cc7a78aaa6..5f10efce57 100644 --- a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProviderConfiguration.cs +++ b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunBlobProviderConfiguration.cs @@ -70,7 +70,7 @@ public class AliyunBlobProviderConfiguration /// The name must also be between 3 and 63 characters long. /// If this parameter is not specified, the ContainerName of the will be used. /// - public string ContainerName { + public string? ContainerName { get => _containerConfiguration.GetConfigurationOrDefault(AliyunBlobProviderConfigurationNames.ContainerName); set => _containerConfiguration.SetConfiguration(AliyunBlobProviderConfigurationNames.ContainerName, value); } @@ -84,7 +84,7 @@ public class AliyunBlobProviderConfiguration } private readonly string _temporaryCredentialsCacheKey; - public string TemporaryCredentialsCacheKey { + public string? TemporaryCredentialsCacheKey { get => _containerConfiguration.GetConfigurationOrDefault(AliyunBlobProviderConfigurationNames.TemporaryCredentialsCacheKey, _temporaryCredentialsCacheKey); set => _containerConfiguration.SetConfiguration(AliyunBlobProviderConfigurationNames.TemporaryCredentialsCacheKey, value); } diff --git a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunTemporaryCredentialsCacheItem.cs b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunTemporaryCredentialsCacheItem.cs index f1082020db..d6e76f602b 100644 --- a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunTemporaryCredentialsCacheItem.cs +++ b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/AliyunTemporaryCredentialsCacheItem.cs @@ -8,11 +8,11 @@ namespace Volo.Abp.BlobStoring.Aliyun; [Serializable] public class AliyunTemporaryCredentialsCacheItem { - public string AccessKeyId { get; set; } + public string AccessKeyId { get; set; } = default!; - public string AccessKeySecret { get; set; } + public string AccessKeySecret { get; set; } = default!; - public string SecurityToken { get; set; } + public string SecurityToken { get; set; } = default!; public AliyunTemporaryCredentialsCacheItem() { diff --git a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/DefaultOssClientFactory.cs b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/DefaultOssClientFactory.cs index b6658a9dfe..2cdcdeb665 100644 --- a/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/DefaultOssClientFactory.cs +++ b/framework/src/Volo.Abp.BlobStoring.Aliyun/Volo/Abp/BlobStoring/Aliyun/DefaultOssClientFactory.cs @@ -49,7 +49,7 @@ public class DefaultOssClientFactory : IOssClientFactory, ITransientDependency { Check.NotNullOrWhiteSpace(configuration.RoleArn, nameof(configuration.RoleArn)); Check.NotNullOrWhiteSpace(configuration.RoleSessionName, nameof(configuration.RoleSessionName)); - var cacheItem = Cache.Get(configuration.TemporaryCredentialsCacheKey); + var cacheItem = Cache.Get(configuration.TemporaryCredentialsCacheKey!); if (cacheItem == null) { IClientProfile profile = DefaultProfile.GetProfile( @@ -83,11 +83,11 @@ public class DefaultOssClientFactory : IOssClientFactory, ITransientDependency AssumeRole_Credentials credentials) { var temporaryCredentialsCache = new AliyunTemporaryCredentialsCacheItem( - StringEncryptionService.Encrypt(credentials.AccessKeyId), - StringEncryptionService.Encrypt(credentials.AccessKeySecret), - StringEncryptionService.Encrypt(credentials.SecurityToken)); + StringEncryptionService.Encrypt(credentials.AccessKeyId)!, + StringEncryptionService.Encrypt(credentials.AccessKeySecret)!, + StringEncryptionService.Encrypt(credentials.SecurityToken)!); - Cache.Set(configuration.TemporaryCredentialsCacheKey, temporaryCredentialsCache, + Cache.Set(configuration.TemporaryCredentialsCacheKey!, temporaryCredentialsCache, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(configuration.DurationSeconds - 10) diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs index 8e7e923ed8..2009727099 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs @@ -12,7 +12,7 @@ public abstract class BlobProviderBase : IBlobProvider public abstract Task ExistsAsync(BlobProviderExistsArgs args); - public abstract Task GetOrNullAsync(BlobProviderGetArgs args); + public abstract Task GetOrNullAsync(BlobProviderGetArgs args); protected virtual async Task TryCopyToMemoryStreamAsync(Stream? stream, CancellationToken cancellationToken = default) { diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobProvider.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobProvider.cs index f8a1b13851..43cd899e71 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobProvider.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobProvider.cs @@ -11,5 +11,5 @@ public interface IBlobProvider Task ExistsAsync(BlobProviderExistsArgs args); - Task GetOrNullAsync(BlobProviderGetArgs args); + Task GetOrNullAsync(BlobProviderGetArgs args); }