Skip to content

Commit eae7c6d

Browse files
committed
Fix nullability issues with IEventHubManagementClient and ensure safe access in EventHubManager
1 parent d8ec926 commit eae7c6d

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/AzureCloudEventHub/EventHubManager.cs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace Squadron
1313
{
1414
internal sealed class EventHubManager
1515
{
16-
private IEventHubManagementClient _client;
16+
private IEventHubManagementClient? _client;
1717
private readonly AzureCredentials _azureCredentials;
1818
private readonly AzureResourceIdentifier _azureResourceIdentifier;
1919

@@ -47,7 +47,7 @@ internal async Task<string> CreateNamespaceAsync(string location)
4747
Location = location
4848
};
4949

50-
EHNamespace res = await _client.Namespaces
50+
EHNamespace res = await _client!.Namespaces
5151
.CreateOrUpdateAsync(_azureResourceIdentifier.ResourceGroupName, ns, pars);
5252
res.KafkaEnabled = true;
5353

@@ -57,7 +57,7 @@ internal async Task<string> CreateNamespaceAsync(string location)
5757

5858
internal async Task DeleteNamespaceAsync()
5959
{
60-
await _client.Namespaces
60+
await _client!.Namespaces
6161
.DeleteAsync(_azureResourceIdentifier.ResourceGroupName, _azureResourceIdentifier.Name);
6262
}
6363

@@ -67,27 +67,30 @@ public async Task CreateEventHubAsync(EventHubModel eventHub)
6767
Trace.WriteLine($"Create event hub: {eventHub.CreatedName}");
6868

6969
var newEventHub = new Eventhub{MessageRetentionInDays = 1, PartitionCount = 1};
70-
await _client.EventHubs.CreateOrUpdateAsync(_azureResourceIdentifier.ResourceGroupName,
70+
await _client!.EventHubs.CreateOrUpdateAsync(_azureResourceIdentifier.ResourceGroupName,
7171
_azureResourceIdentifier.Name, eventHub.CreatedName, newEventHub);
7272

73-
var autRuleParams = new AuthorizationRule {Rights = new List<string> {"send", "listen"}};
74-
await _client.EventHubs.CreateOrUpdateAuthorizationRuleAsync(_azureResourceIdentifier.ResourceGroupName,
75-
_azureResourceIdentifier.Name, eventHub.CreatedName, "sender", autRuleParams);
73+
await _client!.EventHubs.CreateOrUpdateAuthorizationRuleAsync(
74+
_azureResourceIdentifier.ResourceGroupName,
75+
_azureResourceIdentifier.Name,
76+
eventHub.CreatedName,
77+
"sender",
78+
new List<string> { "Send", "Listen" });
7679
}
7780

7881
public async Task DeleteEventHubAsync(EventHubModel eventHub)
7982
{
8083
await EnsureAuthenticatedAsync();
8184
Trace.WriteLine($"Deletes event hub: {eventHub.CreatedName}");
8285

83-
await _client.EventHubs.DeleteAsync(_azureResourceIdentifier.ResourceGroupName,
86+
await _client!.EventHubs.DeleteAsync(_azureResourceIdentifier.ResourceGroupName,
8487
_azureResourceIdentifier.Name, eventHub.CreatedName);
8588
}
8689

8790
public async Task<string> GetConnectionStringAsync()
8891
{
8992
await EnsureAuthenticatedAsync();
90-
AccessKeys keys = await _client.Namespaces
93+
AccessKeys keys = await _client!.Namespaces
9194
.ListKeysAsync(_azureResourceIdentifier.ResourceGroupName,
9295
_azureResourceIdentifier.Name,
9396
"RootManageSharedAccessKey");
@@ -98,7 +101,7 @@ public async Task<string> GetConnectionStringAsync(string eventHub)
98101
{
99102
await EnsureAuthenticatedAsync();
100103

101-
AzureOperationResponse<AccessKeys> responseKeys = await _client.EventHubs.ListKeysWithHttpMessagesAsync(_azureResourceIdentifier.ResourceGroupName,
104+
AzureOperationResponse<AccessKeys> responseKeys = await _client!.EventHubs.ListKeysWithHttpMessagesAsync(_azureResourceIdentifier.ResourceGroupName,
102105
_azureResourceIdentifier.Name, eventHub, "sender");
103106

104107
AccessKeys keys = responseKeys.Body;

0 commit comments

Comments
 (0)