diff --git a/src/Extensions/JsonElementExtensions.cs b/src/Extensions/JsonElementExtensions.cs
new file mode 100644
index 0000000..692248d
--- /dev/null
+++ b/src/Extensions/JsonElementExtensions.cs
@@ -0,0 +1,21 @@
+using System.Text.Json;
+using Akka.Util;
+using Akka.Util.Extensions;
+using Arcane.Operator.Models.StreamDefinitions;
+using Arcane.Operator.Models.StreamDefinitions.Base;
+
+namespace Arcane.Operator.Extensions;
+
+///
+/// Extension methods for the JsonElement class
+///
+public static class JsonElementExtensions
+{
+ ///
+ /// Deserialize the JsonElement to IStreamDefinition object and wrap it in an Option{IStreamDefinition} object
+ ///
+ /// Element to deserialize
+ ///
+ public static Option AsOptionalStreamDefinition(this JsonElement jsonElement) =>
+ jsonElement.Deserialize().AsOption();
+}
diff --git a/src/Services/Base/IStreamClassRepository.cs b/src/Services/Base/IStreamClassRepository.cs
index 3249223..6f10f43 100644
--- a/src/Services/Base/IStreamClassRepository.cs
+++ b/src/Services/Base/IStreamClassRepository.cs
@@ -1,8 +1,10 @@
-using Arcane.Operator.Configurations;
+using System.Threading.Tasks;
+using Akka.Util;
+using Arcane.Operator.Models.StreamClass.Base;
namespace Arcane.Operator.Services.Base;
public interface IStreamClassRepository
{
- CustomResourceConfiguration Get(string nameSpace, string kind);
+ Task