Skip to content

Commit 0c7aabb

Browse files
committed
fix(Sdk): Fixed YAML serializers and deserializers
Signed-off-by: Charles d'Avernas <charles.davernas@neuroglia.io>
1 parent 62c320a commit 0c7aabb

File tree

7 files changed

+19
-20
lines changed

7 files changed

+19
-20
lines changed

src/ServerlessWorkflow.Sdk/Models/Authentication/OAuth2AuthenticationEndpointsDefinition.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@ public record OAuth2AuthenticationEndpointsDefinition
2525
/// </summary>
2626
[Required]
2727
[DataMember(Name = "authority", Order = 1), JsonPropertyName("authority"), JsonPropertyOrder(1), YamlMember(Alias = "authority", Order = 1)]
28-
public virtual Uri Token { get; set; } = new("/oauth2/token");
28+
public virtual Uri Token { get; set; } = new("/oauth2/token", UriKind.RelativeOrAbsolute);
2929

3030
/// <summary>
3131
/// Gets/sets the relative path to the revocation endpoint. Defaults to `/oauth2/revoke`
3232
/// </summary>
3333
[Required]
3434
[DataMember(Name = "revocation", Order = 2), JsonPropertyName("revocation"), JsonPropertyOrder(2), YamlMember(Alias = "revocation", Order = 2)]
35-
public virtual Uri Revocation { get; set; } = new("/oauth2/revoke");
35+
public virtual Uri Revocation { get; set; } = new("/oauth2/revoke", UriKind.RelativeOrAbsolute);
3636

3737
/// <summary>
3838
/// Gets/sets the relative path to the introspection endpoint. Defaults to `/oauth2/introspect`
3939
/// </summary>
4040
[Required]
4141
[DataMember(Name = "introspection", Order = 3), JsonPropertyName("introspection"), JsonPropertyOrder(3), YamlMember(Alias = "introspection", Order = 3)]
42-
public virtual Uri Introspection { get; set; } = new("/oauth2/introspect");
42+
public virtual Uri Introspection { get; set; } = new("/oauth2/introspect", UriKind.RelativeOrAbsolute);
4343

4444
}

src/ServerlessWorkflow.Sdk/Models/ErrorCatcherDefinition.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public virtual RetryPolicyDefinition? Retry
5353
get => this.RetryValue?.T1Value;
5454
set
5555
{
56-
ArgumentNullException.ThrowIfNull(value);
5756
this.RetryValue = value;
5857
}
5958
}

src/ServerlessWorkflow.Sdk/Serialization/Yaml/MapEntryYamlConverter.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public class MapEntryYamlConverter(Func<ISerializer> serializerFactory, Func<IDe
3030
public virtual bool Accepts(Type type) => type.IsGenericType && type.GetGenericTypeDefinition() == typeof(MapEntry<,>);
3131

3232
/// <inheritdoc/>
33-
public virtual object? ReadYaml(IParser parser, Type type) => this.CreateGenericConverter(type).ReadYaml(parser, type);
33+
public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer) => this.CreateGenericConverter(type).ReadYaml(parser, type, rootDeserializer);
3434

3535
/// <inheritdoc/>
36-
public virtual void WriteYaml(IEmitter emitter, object? value, Type type) => this.CreateGenericConverter(type).WriteYaml(emitter, value, type);
36+
public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer) => this.CreateGenericConverter(type).WriteYaml(emitter, value, type, rootSerializer);
3737

3838
/// <summary>
3939
/// Creates a new generic <see cref="MapEntryConverter{TKey, TValue}"/>
@@ -56,7 +56,7 @@ class MapEntryConverter<TKey, TValue> (ISerializer serializer, IDeserializer des
5656
public bool Accepts(Type type) => type == typeof(MapEntry<TKey, TValue>);
5757

5858
/// <inheritdoc/>
59-
public virtual object ReadYaml(IParser parser, Type type)
59+
public virtual object ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer)
6060
{
6161
parser.Consume<MappingStart>();
6262
var key = deserializer.Deserialize<TKey>(parser);
@@ -66,7 +66,7 @@ public virtual object ReadYaml(IParser parser, Type type)
6666
}
6767

6868
/// <inheritdoc/>
69-
public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
69+
public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer)
7070
{
7171
if (value == null)
7272
{

src/ServerlessWorkflow.Sdk/Serialization/Yaml/OneOfConverter.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public class OneOfConverter
3030
public virtual bool Accepts(Type type) => type.GetGenericType(typeof(OneOf<,>)) != null;
3131

3232
/// <inheritdoc/>
33-
public virtual object? ReadYaml(IParser parser, Type type) => throw new NotImplementedException();
33+
public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer) => throw new NotImplementedException();
3434

3535
/// <inheritdoc/>
36-
public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
36+
public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer)
3737
{
3838
if (value == null || value is not IOneOf oneOf)
3939
{
@@ -47,7 +47,7 @@ public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
4747
return;
4848
}
4949
var jsonNode = JsonSerializer.Default.SerializeToNode(toSerialize);
50-
new JsonNodeTypeConverter().WriteYaml(emitter, jsonNode, toSerialize.GetType());
50+
new JsonNodeTypeConverter().WriteYaml(emitter, jsonNode, toSerialize.GetType(), rootSerializer);
5151
}
5252

5353
}

src/ServerlessWorkflow.Sdk/Serialization/Yaml/OneOfNodeDeserializer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public class OneOfNodeDeserializer(INodeDeserializer inner)
3131
protected INodeDeserializer Inner { get; } = inner;
3232

3333
/// <inheritdoc/>
34-
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value)
34+
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value, ObjectDeserializer rootDeserializer)
3535
{
36-
if (!typeof(IOneOf).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value);
37-
if (!this.Inner.Deserialize(reader, typeof(Dictionary<object, object>), nestedObjectDeserializer, out value)) return false;
36+
if (!typeof(IOneOf).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value, rootDeserializer);
37+
if (!this.Inner.Deserialize(reader, typeof(Dictionary<object, object>), nestedObjectDeserializer, out value, rootDeserializer)) return false;
3838
value = JsonSerializer.Default.Deserialize(JsonSerializer.Default.SerializeToText(value!), expectedType);
3939
return true;
4040
}

src/ServerlessWorkflow.Sdk/Serialization/Yaml/OneOfScalarDeserializer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public class OneOfScalarDeserializer(INodeDeserializer inner)
3131
protected INodeDeserializer Inner { get; } = inner;
3232

3333
/// <inheritdoc/>
34-
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value)
34+
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value, ObjectDeserializer rootDeserializer)
3535
{
36-
if (!typeof(IOneOf).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value);
37-
if (!this.Inner.Deserialize(reader, typeof(object), nestedObjectDeserializer, out value)) return false;
36+
if (!typeof(IOneOf).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value, rootDeserializer);
37+
if (!this.Inner.Deserialize(reader, typeof(object), nestedObjectDeserializer, out value, rootDeserializer)) return false;
3838
value = JsonSerializer.Default.Deserialize(JsonSerializer.Default.SerializeToText(value!), expectedType);
3939
return true;
4040
}

src/ServerlessWorkflow.Sdk/Serialization/Yaml/TaskDefinitionYamlConverter.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ public class TaskDefinitionYamlDeserializer(INodeDeserializer inner)
3434
protected INodeDeserializer Inner { get; } = inner;
3535

3636
/// <inheritdoc/>
37-
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value)
37+
public virtual bool Deserialize(IParser reader, Type expectedType, Func<IParser, Type, object?> nestedObjectDeserializer, out object? value, ObjectDeserializer rootDeserializer)
3838
{
39-
if (!typeof(TaskDefinition).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value);
40-
if (!this.Inner.Deserialize(reader, typeof(Dictionary<object, object>), nestedObjectDeserializer, out value)) return false;
39+
if (!typeof(TaskDefinition).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value, rootDeserializer);
40+
if (!this.Inner.Deserialize(reader, typeof(Dictionary<object, object>), nestedObjectDeserializer, out value, rootDeserializer)) return false;
4141
value = JsonSerializer.Default.Deserialize<TaskDefinition>(JsonSerializer.Default.SerializeToText(value!));
4242
return true;
4343
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy