Skip to content

Commit a8620d5

Browse files
committed
Update FlowSynx.PluginCore and refactoring the code to adapt new changes
#5
1 parent 8ab822f commit a8620d5

File tree

2 files changed

+22
-24
lines changed

2 files changed

+22
-24
lines changed

src/AzureBlobPlugin.cs

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ public PluginMetadata Metadata
2626
Namespace = PluginNamespace.Connectors,
2727
Authors = new List<string> { "FlowSynx" },
2828
Copyright = "© FlowSynx. All rights reserved.",
29+
Icon = "flowsynx.png",
30+
ReadMe = "README.md",
31+
RepositoryUrl = "https://github.com/flowsynx/plugin-azure-blobs",
32+
ProjectUrl = "https://flowsynx.io",
2933
Tags = new List<string>() { "FlowSynx", "Azure", "Blobs", "Cloud" }
3034
};
3135
}
@@ -59,28 +63,22 @@ public Task Initialize(IPluginLogger logger)
5963
var operationParameter = parameters.ToObject<OperationParameter>();
6064
var operation = operationParameter.Operation;
6165

62-
switch (operation.ToLower())
63-
{
64-
case "create":
65-
await _manager.Create(parameters, cancellationToken).ConfigureAwait(false);
66-
return null;
67-
case "delete":
68-
await _manager.Delete(parameters, cancellationToken).ConfigureAwait(false);
69-
return null;
70-
case "exist":
71-
return await _manager.Exist(parameters, cancellationToken).ConfigureAwait(false);
72-
case "list":
73-
return await _manager.List(parameters, cancellationToken).ConfigureAwait(false);
74-
case "purge":
75-
await _manager.Purge(parameters, cancellationToken).ConfigureAwait(false);
76-
return null;
77-
case "read":
78-
return await _manager.Read(parameters, cancellationToken).ConfigureAwait(false);
79-
case "write":
80-
await _manager.Write(parameters, cancellationToken).ConfigureAwait(false);
81-
return null;
82-
default:
83-
throw new NotSupportedException($"Microsoft Azure Blobs plugin: Operation '{operation}' is not supported.");
84-
}
66+
if (OperationMap.TryGetValue(operation, out var handler))
67+
return handler(parameters, cancellationToken);
68+
69+
throw new NotSupportedException($"Microsoft Azure Blobs plugin: Operation '{operation}' is not supported.");
8570
}
71+
72+
private Dictionary<string, Func<PluginParameters, CancellationToken, Task<object?>>> OperationMap => new(StringComparer.OrdinalIgnoreCase)
73+
{
74+
["create"] = async (parameters, cancellationToken) => { await _manager.Create(parameters, cancellationToken); return null; },
75+
["delete"] = async (parameters, cancellationToken) => { await _manager.Delete(parameters, cancellationToken); return null; },
76+
["exist"] = async (parameters, cancellationToken) => await _manager.Exist(parameters, cancellationToken),
77+
["list"] = async (parameters, cancellationToken) => await _manager.List(parameters, cancellationToken),
78+
["purge"] = async (parameters, cancellationToken) => { await _manager.Purge(parameters, cancellationToken); return null; },
79+
["read"] = async (parameters, cancellationToken) => await _manager.Read(parameters, cancellationToken),
80+
["write"] = async (parameters, cancellationToken) => { await _manager.Write(parameters, cancellationToken); return null; },
81+
};
82+
83+
public IReadOnlyCollection<string> SupportedOperations => OperationMap.Keys;
8684
}

src/FlowSynx.Plugins.Azure.Blobs.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Azure.Storage.Blobs" Version="12.24.0" />
16-
<PackageReference Include="FlowSynx.PluginCore" Version="1.2.2" />
16+
<PackageReference Include="FlowSynx.PluginCore" Version="1.2.5" />
1717
</ItemGroup>
1818

1919
<ItemGroup>

0 commit comments

Comments
 (0)