diff --git a/src/Linq2GraphQL.Client/Attributes/GraphQLArgumentAttribute.cs b/src/Linq2GraphQL.Client/Attributes/GraphQLArgumentAttribute.cs new file mode 100644 index 00000000..ba4f913b --- /dev/null +++ b/src/Linq2GraphQL.Client/Attributes/GraphQLArgumentAttribute.cs @@ -0,0 +1,8 @@ +namespace Linq2GraphQL.Client; + +[AttributeUsage(AttributeTargets.Parameter)] +public class GraphQLArgumentAttribute(string graphQLName, string graphQLType) : Attribute +{ + public string GraphQLType { get; private set; } = graphQLType; + public string GraphQLName { get; private set; } = graphQLName; +} \ No newline at end of file diff --git a/src/Linq2GraphQL.Client/Attributes/GraphQLMemberAttribute.cs b/src/Linq2GraphQL.Client/Attributes/GraphQLMemberAttribute.cs new file mode 100644 index 00000000..28b5e375 --- /dev/null +++ b/src/Linq2GraphQL.Client/Attributes/GraphQLMemberAttribute.cs @@ -0,0 +1,14 @@ +using System.Text.Json.Serialization; + +namespace Linq2GraphQL.Client; + +[AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] +public class GraphQLMemberAttribute : Attribute +{ + public GraphQLMemberAttribute(string graphQLName) + { + GraphQLName = graphQLName; + } + + public string GraphQLName { get; private set; } +} diff --git a/src/Linq2GraphQL.Client/Common/ICursorPaging.cs b/src/Linq2GraphQL.Client/Common/ICursorPaging.cs index 8abf61f3..bfcb2664 100644 --- a/src/Linq2GraphQL.Client/Common/ICursorPaging.cs +++ b/src/Linq2GraphQL.Client/Common/ICursorPaging.cs @@ -9,6 +9,8 @@ namespace Linq2GraphQL.Client.Common { public interface ICursorPaging { + [GraphQLMember("pageInfo")] + [JsonPropertyName("pageInfo")] public PageInfo PageInfo { get; set; } } diff --git a/src/Linq2GraphQL.Client/Common/IPageInfo.cs b/src/Linq2GraphQL.Client/Common/IPageInfo.cs index d237a0db..46892be5 100644 --- a/src/Linq2GraphQL.Client/Common/IPageInfo.cs +++ b/src/Linq2GraphQL.Client/Common/IPageInfo.cs @@ -9,12 +9,19 @@ namespace Linq2GraphQL.Client.Common { public class PageInfo { + [GraphQLMember("hasNextPage")] [JsonPropertyName("hasNextPage")] public bool HasNextPage { get; set; } + + [GraphQLMember("hasPreviousPage")] [JsonPropertyName("hasPreviousPage")] public bool HasPreviousPage { get; set; } + + [GraphQLMember("startCursor")] [JsonPropertyName("startCursor")] public string StartCursor { get; set; } + + [GraphQLMember("endCursor")] [JsonPropertyName("endCursor")] public string EndCursor { get; set; } diff --git a/src/Linq2GraphQL.Client/Converters/CustomScalarConverter.cs b/src/Linq2GraphQL.Client/Converters/CustomScalarConverter.cs index 80e28597..5a70f6bf 100644 --- a/src/Linq2GraphQL.Client/Converters/CustomScalarConverter.cs +++ b/src/Linq2GraphQL.Client/Converters/CustomScalarConverter.cs @@ -6,9 +6,6 @@ namespace Linq2GraphQL.Client { - - - public class CustomScalarConverter : JsonConverter where TScalar : CustomScalar, new() { diff --git a/src/Linq2GraphQL.Client/GraphBase.cs b/src/Linq2GraphQL.Client/GraphBase.cs index cce7e94a..03c7e948 100644 --- a/src/Linq2GraphQL.Client/GraphBase.cs +++ b/src/Linq2GraphQL.Client/GraphBase.cs @@ -17,6 +17,17 @@ public GraphBase(GraphClient client, string name, OperationType operationType, L public QueryNode QueryNode { get; } + + /// + /// Include top node + /// + /// + public TGraph Include() + { + QueryNode.IncludePrimitive = true; + return (TGraph)(object)this; + } + public TGraph Include(Expression> path) { Utilities.ParseExpression(path, QueryNode); diff --git a/src/Linq2GraphQL.Client/GraphClient.cs b/src/Linq2GraphQL.Client/GraphClient.cs index 46087a2b..6a833d39 100644 --- a/src/Linq2GraphQL.Client/GraphClient.cs +++ b/src/Linq2GraphQL.Client/GraphClient.cs @@ -1,5 +1,6 @@ using System.Text.Json; using System.Text.Json.Serialization; +using Linq2GraphQL.Client.Converters; using Linq2GraphQL.Client.Schema; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; @@ -25,7 +26,7 @@ public GraphClient(HttpClient httpClient, IOptions options, SerializerOptions = new() { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, - Converters = { } + Converters = { }, }; SubscriptionUrl = GetSubscriptionUrl(); @@ -35,6 +36,7 @@ public GraphClient(HttpClient httpClient, IOptions options, public SubscriptionProtocol SubscriptionProtocol => options.Value.SubscriptionProtocol; public HttpClient HttpClient { get; } public JsonSerializerOptions SerializerOptions { get; } + private string GetSubscriptionUrl() { diff --git a/src/Linq2GraphQL.Client/QueryNode.cs b/src/Linq2GraphQL.Client/QueryNode.cs index ec3eba6a..4f5b69e2 100644 --- a/src/Linq2GraphQL.Client/QueryNode.cs +++ b/src/Linq2GraphQL.Client/QueryNode.cs @@ -14,7 +14,7 @@ public class QueryNode public QueryNode(MemberInfo member, string name = null, List arguments = null, bool interfaceProperty = false, bool topLevel = false) { - Name = name ?? member.GetCustomAttribute()?.Name ?? member.Name.ToCamelCase(); + Name = name ?? member.GetCustomAttribute()?.GraphQLName ?? member.Name.ToCamelCase(); Member = member; Arguments = arguments ?? new List(); underlyingMemberType = member.GetUnderlyingType(); @@ -62,17 +62,6 @@ private static bool MustHaveChildren(Type type) !type.IsListOfPrimitiveTypeOrString(); } - public void SetAddPrimitiveChildren() - { - if (!ChildNodes.Any()) - { - IncludePrimitive = true; - } - foreach (var childNode in ChildNodes) - { - childNode.SetAddPrimitiveChildren(); - } - } public void AddChildNode(MemberInfo member, string name = null) { @@ -82,7 +71,7 @@ public void AddChildNode(MemberInfo member, string name = null) public int Level => Parent?.Level + 1 ?? 1; public int Leaf { get; internal set; } = 1; - public void AddChildNode(QueryNode childNode) + public QueryNode AddChildNode(QueryNode childNode) { var currentNode = ChildNodes.FirstOrDefault(e => e.Name == childNode.Name && e.argumentHashCodeId == childNode.argumentHashCodeId); if (currentNode == null) @@ -90,7 +79,7 @@ public void AddChildNode(QueryNode childNode) childNode.Parent = this; childNode.Leaf = ChildNodes.Count + 1; ChildNodes.Add(childNode); - return; + return childNode; } else if (childNode.IncludePrimitive) { @@ -101,6 +90,9 @@ public void AddChildNode(QueryNode childNode) { currentNode.AddChildNode(child); } + + return currentNode; + } public void SetArgumentValue(string graphName, object value) @@ -127,23 +119,25 @@ public void AddPrimitiveChildren(bool recursive, GraphQLSchema schema) var typeOrListType = underlyingMemberType.GetTypeOrListType(); foreach (var propertyInfo in typeOrListType.GetProperties(BindingFlags.Public | BindingFlags.Instance)) { - if (propertyInfo.GetCustomAttribute() != null) + + if (!propertyInfo.PropertyType.IsValueTypeOrString()) { continue; } - if (!propertyInfo.PropertyType.IsValueTypeOrString() || propertyInfo.GetCustomAttribute() != null) + + var memberAttribute = propertyInfo.GetCustomAttribute(); + if (memberAttribute == null) { continue; } + if (schema != null) { - var name = propertyInfo.GetCustomAttribute()?.Name ?? - Member.Name.ToCamelCase(); - if (schema.TypePropertyExists(typeOrListType.Name, name)) + if (schema.TypePropertyExists(typeOrListType.Name, memberAttribute.GraphQLName)) { - AddChildNode(propertyInfo, name); + AddChildNode(propertyInfo, memberAttribute.GraphQLName); } else { diff --git a/src/Linq2GraphQL.Client/Utilities.cs b/src/Linq2GraphQL.Client/Utilities.cs index 3b488bc1..dd9741af 100644 --- a/src/Linq2GraphQL.Client/Utilities.cs +++ b/src/Linq2GraphQL.Client/Utilities.cs @@ -1,7 +1,5 @@ -using System.Linq.Expressions; -using System.Reflection; -using System.Reflection.Metadata.Ecma335; - +using Linq2GraphQL.Client.Visitors; +using System.Linq.Expressions; namespace Linq2GraphQL.Client; public static class Utilities @@ -24,164 +22,13 @@ public static string GetArgumentsId(IEnumerable objects) } } - private static bool IsSelectOrSelectMany(this MethodCallExpression methodCallExpression) - { - if (methodCallExpression.Arguments.Count != 2) - { - return false; - } - - ; - var methodName = methodCallExpression.Method.Name; - return (methodName == "Select" || methodName == "SelectMany"); - } - public static void ParseExpression(Expression body, QueryNode parent) { - var node = new QueryNode(parent.Member); - ParseExpressionInternal(body, node); - node.SetAddPrimitiveChildren(); - - foreach (var childNode in node.ChildNodes) - { - parent.AddChildNode(childNode); - } - } - - private static void ParseExpressionInternal(Expression body, QueryNode parent) - { - if (body.NodeType == ExpressionType.MemberInit) - { - var exp = (MemberInitExpression)body; - foreach (var binding in exp.Bindings.Where(e => e.BindingType == MemberBindingType.Assignment) - .Cast()) - { - ParseExpressionInternal(binding.Expression, parent); - } - } - - switch (body) - { - case LambdaExpression lambdaExpression: - ParseExpressionInternal(lambdaExpression.Body, parent); - break; - - case MemberExpression memberExpression: - var (parentNode, _) = GetMemberQueryNode(memberExpression); - parent.AddChildNode(parentNode); - break; - - case MethodCallExpression methodCallExp: - ParseMethodCallExpression(parent, methodCallExp); - break; - - case NewExpression newExpression: - foreach (var argument in newExpression.Arguments) - { - ParseExpression(argument, parent); - } - - break; - } - } - - private static void ParseMethodCallExpression(QueryNode parent, MethodCallExpression methodCallExp) - { - var graphInterfaceAttribute = methodCallExp.Method.GetCustomAttribute(); - if (graphInterfaceAttribute != null) - { - var queryNode = new QueryNode(methodCallExp.Method, methodCallExp.Method.Name, null, true); - parent.AddChildNode(queryNode); - return; - } - - var graphMethodAttribute = methodCallExp.Method.GetCustomAttribute(); - if (graphMethodAttribute != null) - { - var arguments = new List(); - - var i = 0; - foreach (var parameter in methodCallExp.Method.GetParameters()) - { - var graphAttribute = parameter.GetCustomAttribute(); - if (graphAttribute != null) - { - var arg = methodCallExp.Arguments[i]; - ConstantExpression argConstant; - if (arg.NodeType == ExpressionType.Convert) - { - var unaryExpression = (UnaryExpression)arg; - argConstant = (ConstantExpression)unaryExpression.Operand; - } - else - { - argConstant = (ConstantExpression)arg; - } - - arguments.Add(new ArgumentValue(parameter.Name, graphAttribute.GraphType, - argConstant.Value)); - } - - i++; - } - - var queryNode = new QueryNode(methodCallExp.Method, graphMethodAttribute.GraphName, arguments); - parent.AddChildNode(queryNode); - } - else if (methodCallExp.IsSelectOrSelectMany()) - { - if (methodCallExp.Arguments[0] is MemberExpression memberExpr) - { - var (ParentNode, LastNode) = GetMemberQueryNode(memberExpr); - ParseExpressionInternal(methodCallExp.Arguments[1], LastNode); - parent.AddChildNode(ParentNode); - } - else - { - ParseExpressionInternal(methodCallExp.Arguments[1], parent); - } - } - } - - private static (QueryNode ParentNode, QueryNode LastNode) GetMemberQueryNode(Expression expression) - { - var members = GetMembers(expression); - if (members == null) return (null, null); - - members.Reverse(); - - QueryNode parentNode = null; - QueryNode currentNode = null; - - foreach (var member in members) - { - var newNode = new QueryNode(member); - if (parentNode == null) - { - parentNode = newNode; - } - else - { - currentNode.AddChildNode(newNode); - } - - currentNode = newNode; - } - - return (parentNode, currentNode); + var parameterVisitor = new ParameterVisitor(new MemberNode(null, null)); + var topNode = parameterVisitor.ParseExpression(body); + + topNode.PopulateChildQueryNodes(parent); + } - - private static List GetMembers(Expression expression) - { - var members = new List(); - if (expression.NodeType == ExpressionType.MemberAccess) - { - var memberExpression = (MemberExpression)expression; - members.Add(memberExpression.Member); - members.AddRange(GetMembers(memberExpression.Expression)); - } - - return members; - } } \ No newline at end of file diff --git a/src/Linq2GraphQL.Client/Visitors/MemberNode.cs b/src/Linq2GraphQL.Client/Visitors/MemberNode.cs new file mode 100644 index 00000000..3d5b69f3 --- /dev/null +++ b/src/Linq2GraphQL.Client/Visitors/MemberNode.cs @@ -0,0 +1,123 @@ +using Linq2GraphQL.Client; +using System.Linq.Expressions; +using System.Reflection; +using System.Text; + +namespace Linq2GraphQL.Client.Visitors +{ + internal class MemberNode(MemberInfo memberInfo, List arguments = null, ParameterExpression parameterExpression = null) + { + public string ParameterName => parameterExpression?.Name; + + public MemberInfo MemberInfo => memberInfo; + public MemberNode Parent { get; set; } + public List Children { get; set; } = []; + public List Arguments => arguments; + + public void SetParameterExpression(ParameterExpression param) + { + parameterExpression = param; + } + + + public bool HasArguments => arguments != null && arguments.Count > 0; + + public MemberNode GetMemberNodeFromParameterExpression(ParameterExpression expression) + { + if (parameterExpression == expression || Parent == null) return this; + return Parent.GetMemberNodeFromParameterExpression(expression); + } + + + public void AddChild(MemberNode memberNode) + { + memberNode.Parent = this; + Children.Add(memberNode); + } + + public MemberNode AddMembers(Expression node) + { + var members = GetMembers(node); + members.Reverse(); + + if (members.Count == 0) { return null; } + + var topNode = new MemberNode(members[0]); + var currentNode = topNode; + foreach (var member in members.Skip(1)) + { + var newNode = new MemberNode(member); + currentNode.AddChild(newNode); + currentNode = newNode; + } + AddChild(topNode); + + return currentNode; + + } + + private static List GetMembers(Expression expression) + { + var members = new List(); + + if (expression.NodeType == ExpressionType.MemberAccess) + { + var memberExpression = (MemberExpression)expression; + members.Add(memberExpression.Member); + members.AddRange(GetMembers(memberExpression.Expression)); + } + + return members; + } + + public void PopulateChildQueryNodes(QueryNode queryNode) + { + foreach (var child in Children) + { + var childNode = new QueryNode(child.MemberInfo, null, child.Arguments); + childNode.IncludePrimitive = child.Children.Count == 0; + var addedNode = queryNode.AddChildNode(childNode); + child.PopulateChildQueryNodes(addedNode); + } + } + + + public string PrintMemberTree(int level = 0) + { + var sb = new StringBuilder(); + sb.AppendLine($"Level: {level}"); + + level++; + + if (HasArguments) + { + var argumentList = $"({string.Join(", ", Arguments.Select(e => e.Value))})"; + + sb.AppendLine($"Member: {MemberInfo?.Name}{argumentList}"); + } + else + { + sb.AppendLine($"Member: {MemberInfo?.Name} "); + } + + sb.AppendLine($"Parent: {Parent?.MemberInfo?.Name}"); + sb.AppendLine($"Parameter: {parameterExpression?.Name}"); + + sb.AppendLine(""); + + foreach (var child in Children) + { + sb.Append(child.PrintMemberTree(level)); + } + + sb.AppendLine("".PadLeft(level, '-')); + + return sb.ToString(); + + } + + + } + + +} diff --git a/src/Linq2GraphQL.Client/Visitors/ParameterVisitor.cs b/src/Linq2GraphQL.Client/Visitors/ParameterVisitor.cs new file mode 100644 index 00000000..d3d94981 --- /dev/null +++ b/src/Linq2GraphQL.Client/Visitors/ParameterVisitor.cs @@ -0,0 +1,170 @@ +using Linq2GraphQL.Client; +using System.Linq.Expressions; +using System.Reflection; +using System.Reflection.Metadata; +using System.Runtime.CompilerServices; +using System.Xml.Linq; + +namespace Linq2GraphQL.Client.Visitors +{ + internal class ParameterVisitor(MemberNode memberNode) : ExpressionVisitor + { + + public MemberNode ParseExpression(Expression expression) + { + Visit(expression); + return memberNode; + } + + protected override Expression VisitMember(MemberExpression node) + { + var attribute = node.Member.GetCustomAttribute(); + + if (attribute != null) + { + var parameter = GetParameterExpression(node); + AddMemberNodes(parameter, node); + } + + return node; + } + + public MemberNode AddMemberNodes(ParameterExpression targetParameter, Expression expression) + { + var targetNode = memberNode.GetMemberNodeFromParameterExpression(targetParameter); + var newNode = targetNode.AddMembers(expression); + return newNode; + } + + protected override Expression VisitMethodCall(MethodCallExpression expression) + { + var attribute = expression.Method.GetCustomAttribute(); + + if (attribute != null) + { + var parExp = GetParameterExpression(expression); + var i = 0; + var argumentValues = new List(); + foreach (var parameter in expression.Method.GetParameters()) + { + var graphQLArgumentAttribute = parameter.GetCustomAttribute(); + if (graphQLArgumentAttribute != null) + { + var arg = expression.Arguments[i]; + var v = GetArgumentValue(arg); + argumentValues.Add(new ArgumentValue(graphQLArgumentAttribute.GraphQLName, graphQLArgumentAttribute.GraphQLType, GetArgumentValue(arg))); + } + i++; + } + + var targetNode = memberNode.GetMemberNodeFromParameterExpression(parExp); + targetNode.AddChild(new MemberNode(expression.Method, argumentValues)); + + + return expression; + } + + if (IsLinqOperator(expression.Method)) + { + var memberExp = expression.Arguments[0] as MemberExpression; + var attr = memberExp?.Member.GetCustomAttribute(); + + if (attr != null) + { + var parameter = GetParameterExpression(expression.Arguments[1]); + var child = memberNode.AddMembers(memberExp); + child.SetParameterExpression(parameter); + + var visitor = new ParameterVisitor(child); + visitor.ParseExpression(expression.Arguments[1]); + return expression; + } + + } + return base.VisitMethodCall(expression); + } + + + + protected override Expression VisitLambda(Expression node) + { + var newExp = node.Body as NewExpression; + return base.VisitLambda(node); + } + + //protected override Expression VisitNew(NewExpression node) + //{ + + // if (memberNode.ParameterName != null && node.Arguments.Any(e=> e.NodeType == ExpressionType.Parameter)) + // { + + + + // } + + + // return base.VisitNew(node); + //} + + + private static object GetArgumentValue(Expression element) + { + if (element is ConstantExpression) + { + return (element as ConstantExpression).Value; + } + + var l = Expression.Lambda(Expression.Convert(element, element.Type)); + return l.Compile().DynamicInvoke(); + } + + + private ParameterExpression GetParameterExpression(Expression expression) + { + if (expression == null) + { + return null; + } + + if (expression.NodeType == ExpressionType.Parameter) + { + return expression as ParameterExpression; + } + else if (expression.NodeType == ExpressionType.MemberAccess) + { + var member = (MemberExpression)expression; + return GetParameterExpression(member.Expression); + } + else if (expression.NodeType == ExpressionType.Lambda) + { + var member = (LambdaExpression)expression; + return GetParameterExpression(member.Parameters[0]); + } + else if (expression.NodeType == ExpressionType.Call) + { + var member = (MethodCallExpression)expression; + + if (member.Object != null) + { + return GetParameterExpression(member.Object); + } + + return GetParameterExpression(member.Arguments[0]); + + } + + + return null; + } + + private static bool IsLinqOperator(MethodInfo method) + { + if (method.DeclaringType != typeof(Queryable) && method.DeclaringType != typeof(Enumerable)) + return false; + return Attribute.GetCustomAttribute(method, typeof(ExtensionAttribute)) != null; + } + + } + + +} diff --git a/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs b/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs index 45aa4670..10acb58b 100644 --- a/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs +++ b/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs @@ -136,17 +136,6 @@ public class BaseField public BaseType Type { get; set; } - - //private TypeInfo fieldInfo; - //public TypeInfo FieldInfo - //{ - // get - // { - // fieldInfo ??= GetFieldTypeInfo(); - // return fieldInfo; - // } - //} - private CoreType coreType; public CoreType CoreType { @@ -157,56 +146,7 @@ public CoreType CoreType } } - - - //private TypeInfo GetFieldTypeInfo() - //{ - - // if (Type == null) return null; - - // var allTypes = Type.GetAllTypes(); - - // var baseFieldType = Type.GetBaseBaseType(); - - // Type csharpType = null; - - // string csharpTypeName; - // if (Helpers.TypeMapping.TryGetValue(baseFieldType.Name, out var typeMapping)) - // { - // csharpTypeName = typeMapping.Name; - // csharpType = typeMapping.type; - // } - // else - // { - // csharpTypeName = baseFieldType.Name.ToPascalCase(); - // } - - - // var coreType = Type.GetCoreType(); - - // var isList = allTypes.Any(e => e.Kind == TypeKind.List); - // var isNoneNull = allTypes.Any(e => e.Kind == TypeKind.NonNull); - - // var graphTypeDefinition = isNoneNull ? baseFieldType.Name + "!" : baseFieldType.Name; - // if (isList) - // { - // graphTypeDefinition = $"[{graphTypeDefinition}]"; - // var gr = coreType.GetGraphQLTypeDefinition(); - // var cs = coreType.GetCSharpTypeDefinition(); - // } - - // return new TypeInfo - // { - - // Kind = baseFieldType.Kind, - // IsList = isList, - // IsNoneNull = isNoneNull, - // CSharpType = csharpType, - // CSharpTypeName = csharpTypeName, - // GraphTypeDefinition = graphTypeDefinition, - // IsEnum = baseFieldType.Kind == TypeKind.Enum - // }; - //} + } @@ -251,7 +191,7 @@ public string GetArgString(bool addTypeAttribute) if (addTypeAttribute) { result += - $"[GraphArgument(\"{arg.CoreType.GraphQLTypeDefinition}\")] {arg.CoreType.CSharpTypeDefinition} {arg.Name.ToCamelCase()}"; + $"[GraphQLArgument(\"{arg.Name}\", \"{arg.CoreType.GraphQLTypeDefinition}\")] {arg.CoreType.CSharpTypeDefinition} {arg.Name.ToCamelCase()}"; } else { diff --git a/src/Linq2GraphQL.Generator/Properties/launchSettings.json b/src/Linq2GraphQL.Generator/Properties/launchSettings.json index d96bdd8e..7adb1150 100644 --- a/src/Linq2GraphQL.Generator/Properties/launchSettings.json +++ b/src/Linq2GraphQL.Generator/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "Linq2GraphQL.Generator": { "commandName": "Project", - "commandLineArgs": "https://localhost:7184/graphql/ -c=\"SampleClient\" -n=\"Linq2GraphQL.TestClient\" -o=\"C:\\Code\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClient\\Generated\" -s=true" + "commandLineArgs": "https://localhost:50741/graphql/ -c=\"SampleNullableClient\" -n=\"Linq2GraphQL.TestClientNullable\" -o=\"C:\\Code\\Github\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClientNullable\\Generated\" -s=true -nu=true" } } } \ No newline at end of file diff --git a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs index e8e3a083..f7f48997 100644 --- a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs +++ b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs @@ -69,7 +69,7 @@ public virtual string TransformText() #line default #line hidden - this.Write(" [GraphMethod(\""); + this.Write(" [GraphQLMember(\""); #line 19 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); @@ -219,69 +219,76 @@ public virtual string TransformText() #line default #line hidden this.Write(" = new();\r\n /// \r\n /// Do not use in Query, only to retrive result" + - "\r\n /// \r\n [GraphShadowProperty]\r\n public "); + "\r\n /// \r\n public "); - #line 47 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetFieldCSharpName(field))); #line default #line hidden this.Write(" "); - #line 47 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.CSharpName)); #line default #line hidden this.Write(" => _"); - #line 47 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); #line default #line hidden this.Write(".Value(() => GetFirstMethodValue<"); - #line 47 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetFieldCSharpName(field))); #line default #line hidden this.Write(">(\""); - #line 47 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); #line default #line hidden this.Write("\"));\r\n\r\n"); - #line 49 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" } else { #line default #line hidden - #line 50 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 49 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" if (field.HasDescription) { #line default #line hidden this.Write(" /// \r\n /// "); - #line 52 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 51 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Description)); #line default #line hidden this.Write("\r\n /// \r\n"); - #line 54 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 53 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" } #line default #line hidden - this.Write(" [JsonPropertyName(\""); + this.Write(" [GraphQLMember(\""); + + #line 54 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); + + #line default + #line hidden + this.Write("\")]\r\n [JsonPropertyName(\""); #line 55 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); @@ -321,10 +328,10 @@ public virtual string TransformText() #line default #line hidden - this.Write(" [JsonPropertyName(\"__typename\")]\r\n public string __TypeName { get; set; }\r" + - "\n"); + this.Write(" [GraphQLMember(\"__typename\")]\r\n [JsonPropertyName(\"__typename\")]\r\n publ" + + "ic string __TypeName { get; set; }\r\n"); - #line 63 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" + #line 64 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt" } #line default diff --git a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt index 22a581d8..6ba10a49 100644 --- a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt +++ b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt @@ -16,7 +16,7 @@ namespace <#= namespaceName #>; public static class <#= classType.Name #>Extensions { <# foreach (var field in classType.AllFields.Where(e => e.IsMethod)) { #> - [GraphMethod("<#= field.Name #>")] + [GraphQLMember("<#= field.Name #>")] public static <#= GetFieldCSharpName(field) #> <#= field.CSharpName #>(this <#= classType.Name #> <#= classType.Name.ToCamelCase() #>, <#= field.GetArgString(true) #>) { return <#= classType.Name.ToCamelCase() #>.GetMethodValue<<#= GetFieldCSharpName(field) #>>("<#= field.Name #>", <#= field.GetArgNames() #>); @@ -43,7 +43,6 @@ public partial class <#= classType.Name #> <#= classType.GetInterfacesString("Gr /// /// Do not use in Query, only to retrive result /// - [GraphShadowProperty] public <#= GetFieldCSharpName(field) #> <#= field.CSharpName #> => _<#= field.Name #>.Value(() => GetFirstMethodValue<<#= GetFieldCSharpName(field) #>>("<#= field.Name #>")); <# } else { #> @@ -52,12 +51,14 @@ public partial class <#= classType.Name #> <#= classType.GetInterfacesString("Gr /// <#= field.Description #> /// <# } #> + [GraphQLMember("<#= field.Name #>")] [JsonPropertyName("<#= field.Name #>")] public <#= GetFieldCSharpName(field) #> <#= field.CSharpName #> { get; set; } <# } #> <# } #> <# if (classType.HasInterfaces) { #> + [GraphQLMember("__typename")] [JsonPropertyName("__typename")] public string __TypeName { get; set; } <# } #> diff --git a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs index 90cf35e8..e94bf2af 100644 --- a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs +++ b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs @@ -58,51 +58,58 @@ public virtual string TransformText() #line default #line hidden - this.Write("\t[JsonPropertyName(\""); + this.Write("\t[GraphQLMember(\""); #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); #line default #line hidden - this.Write("\")]\r\n\tpublic "); + this.Write("\")]\r\n\t[JsonPropertyName(\""); #line 19 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); + + #line default + #line hidden + this.Write("\")]\r\n\tpublic "); + + #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetPropertyDefinition(field))); #line default #line hidden this.Write(" "); - #line 19 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.CSharpName)); #line default #line hidden this.Write(" \r\n\t{\r\n\t\tget => GetValue<"); - #line 21 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(coreType.CSharpTypeDefinition)); #line default #line hidden this.Write(">(\""); - #line 21 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); #line default #line hidden this.Write("\");\r\n \tset => SetValue(\""); - #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + #line 23 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); #line default #line hidden this.Write("\", value);\r\n\t}\r\n\r\n"); - #line 25 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" + #line 26 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt" } diff --git a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt index 0b9f6a94..68fdbc8a 100644 --- a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt +++ b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt @@ -15,6 +15,7 @@ public partial class <#= classType.Name #> : GraphInputBase { var coreType = field.CoreType; #> + [GraphQLMember("<#= field.Name #>")] [JsonPropertyName("<#= field.Name #>")] public <#= GetPropertyDefinition(field) #> <#= field.CSharpName #> { diff --git a/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.cs index beceaa3a..45395c5c 100644 --- a/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.cs +++ b/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.cs @@ -178,7 +178,7 @@ public virtual string TransformText() #line default #line hidden - this.Write("\t[JsonPropertyName(\""); + this.Write("\t[GraphQLMember(\""); #line 52 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); @@ -208,8 +208,8 @@ public virtual string TransformText() #line default #line hidden - this.Write(" [JsonPropertyName(\"__typename\")]\r\n public string __TypeName { get; set; }\r" + - "\n\r\n}\r\n\r\ninternal class "); + this.Write(" [GraphQLMember(\"__typename\")]\r\n public string __TypeName { get; set; }\r\n\r\n" + + "}\r\n\r\ninternal class "); #line 62 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetInterfaceConcreteName())); @@ -234,7 +234,7 @@ public virtual string TransformText() #line default #line hidden - this.Write("\t[JsonPropertyName(\""); + this.Write("\t[GraphQLMember(\""); #line 69 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(field.Name)); @@ -264,8 +264,8 @@ public virtual string TransformText() #line default #line hidden - this.Write("\r\n [JsonPropertyName(\"__typename\")]\r\n public string __TypeName { get; set; " + - "}\r\n\r\n}"); + this.Write("\r\n [GraphQLMember(\"__typename\")]\r\n public string __TypeName { get; set; }\r\n" + + "\r\n}"); return this.GenerationEnvironment.ToString(); } } diff --git a/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.tt b/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.tt index 82c11b96..d81e2d17 100644 --- a/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.tt +++ b/src/Linq2GraphQL.Generator/Templates/Interface/InterfaceTemplate.tt @@ -49,12 +49,12 @@ public interface <#= classType.Name #> <#= classType.GetInterfacesString() #> { var coreType = field.CoreType; #> - [JsonPropertyName("<#= field.Name #>")] + [GraphQLMember("<#= field.Name #>")] public <#= coreType.CSharpTypeDefinition #> <#= field.CSharpName #> { get; set; } <# } #> - [JsonPropertyName("__typename")] + [GraphQLMember("__typename")] public string __TypeName { get; set; } } @@ -66,13 +66,13 @@ internal class <#= GetInterfaceConcreteName() #> : <#= classType.Name #> { var coreType = field.CoreType; #> - [JsonPropertyName("<#= field.Name #>")] + [GraphQLMember("<#= field.Name #>")] public <#= coreType.CSharpTypeDefinition #> <#= field.CSharpName #> { get; set; } <# } #> - [JsonPropertyName("__typename")] + [GraphQLMember("__typename")] public string __TypeName { get; set; } } \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressFilterInput.cs index dea2936e..eeaffc70 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class AddressFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("name")] [JsonPropertyName("name")] public StringOperationFilterInput Name { @@ -36,6 +39,7 @@ public StringOperationFilterInput Name set => SetValue("name", value); } + [GraphQLMember("street")] [JsonPropertyName("street")] public StringOperationFilterInput Street { @@ -43,6 +47,7 @@ public StringOperationFilterInput Street set => SetValue("street", value); } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public StringOperationFilterInput PostalCode { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressInput.cs index 411279a6..3ec82d82 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class AddressInput : GraphInputBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { @@ -22,6 +23,7 @@ public string Name set => SetValue("name", value); } + [GraphQLMember("street")] [JsonPropertyName("street")] public string Street { @@ -29,6 +31,7 @@ public string Street set => SetValue("street", value); } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public string PostalCode { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressSortInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressSortInput.cs index e59a24b3..e105695d 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressSortInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/AddressSortInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class AddressSortInput : GraphInputBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public SortEnumType? Name { @@ -22,6 +23,7 @@ public SortEnumType? Name set => SetValue("name", value); } + [GraphQLMember("street")] [JsonPropertyName("street")] public SortEnumType? Street { @@ -29,6 +31,7 @@ public SortEnumType? Street set => SetValue("street", value); } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public SortEnumType? PostalCode { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ByteOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ByteOperationFilterInput.cs new file mode 100644 index 00000000..4f1ef9e9 --- /dev/null +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ByteOperationFilterInput.cs @@ -0,0 +1,114 @@ +//--------------------------------------------------------------------- +// This code was automatically generated by Linq2GraphQL +// Please don't edit this file +// Github:https://github.com/linq2graphql/linq2graphql.client +// Url: https://linq2graphql.com +//--------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Text.Json.Serialization; +using Linq2GraphQL.Client; + +namespace Linq2GraphQL.TestClient; + +[JsonConverter(typeof(GraphInputConverter))] +public partial class ByteOperationFilterInput : GraphInputBase +{ + [GraphQLMember("eq")] + [JsonPropertyName("eq")] + public byte? Eq + { + get => GetValue("eq"); + set => SetValue("eq", value); + } + + [GraphQLMember("neq")] + [JsonPropertyName("neq")] + public byte? Neq + { + get => GetValue("neq"); + set => SetValue("neq", value); + } + + [GraphQLMember("in")] + [JsonPropertyName("in")] + public List In + { + get => GetValue>("in"); + set => SetValue("in", value); + } + + [GraphQLMember("nin")] + [JsonPropertyName("nin")] + public List Nin + { + get => GetValue>("nin"); + set => SetValue("nin", value); + } + + [GraphQLMember("gt")] + [JsonPropertyName("gt")] + public byte? Gt + { + get => GetValue("gt"); + set => SetValue("gt", value); + } + + [GraphQLMember("ngt")] + [JsonPropertyName("ngt")] + public byte? Ngt + { + get => GetValue("ngt"); + set => SetValue("ngt", value); + } + + [GraphQLMember("gte")] + [JsonPropertyName("gte")] + public byte? Gte + { + get => GetValue("gte"); + set => SetValue("gte", value); + } + + [GraphQLMember("ngte")] + [JsonPropertyName("ngte")] + public byte? Ngte + { + get => GetValue("ngte"); + set => SetValue("ngte", value); + } + + [GraphQLMember("lt")] + [JsonPropertyName("lt")] + public byte? Lt + { + get => GetValue("lt"); + set => SetValue("lt", value); + } + + [GraphQLMember("nlt")] + [JsonPropertyName("nlt")] + public byte? Nlt + { + get => GetValue("nlt"); + set => SetValue("nlt", value); + } + + [GraphQLMember("lte")] + [JsonPropertyName("lte")] + public byte? Lte + { + get => GetValue("lte"); + set => SetValue("lte", value); + } + + [GraphQLMember("nlte")] + [JsonPropertyName("nlte")] + public byte? Nlte + { + get => GetValue("nlte"); + set => SetValue("nlte", value); + } + +} \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerFilterInput.cs index 7c6808c9..59d88914 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class CustomerFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public UuidOperationFilterInput CustomerId { @@ -36,6 +39,7 @@ public UuidOperationFilterInput CustomerId set => SetValue("customerId", value); } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public StringOperationFilterInput CustomerName { @@ -43,6 +47,7 @@ public StringOperationFilterInput CustomerName set => SetValue("customerName", value); } + [GraphQLMember("status")] [JsonPropertyName("status")] public CustomerStatusOperationFilterInput Status { @@ -50,6 +55,7 @@ public CustomerStatusOperationFilterInput Status set => SetValue("status", value); } + [GraphQLMember("orders")] [JsonPropertyName("orders")] public ListFilterInputTypeOfOrderFilterInput Orders { @@ -57,6 +63,7 @@ public ListFilterInputTypeOfOrderFilterInput Orders set => SetValue("orders", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressFilterInput Address { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerInput.cs index 95f9e7ed..1e463f2f 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class CustomerInput : GraphInputBase { + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public Guid CustomerId { @@ -22,6 +23,7 @@ public Guid CustomerId set => SetValue("customerId", value); } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public string CustomerName { @@ -29,6 +31,7 @@ public string CustomerName set => SetValue("customerName", value); } + [GraphQLMember("status")] [JsonPropertyName("status")] public CustomerStatus Status { @@ -36,6 +39,7 @@ public CustomerStatus Status set => SetValue("status", value); } + [GraphQLMember("orders")] [JsonPropertyName("orders")] public List Orders { @@ -43,6 +47,7 @@ public List Orders set => SetValue("orders", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressInput Address { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerSortInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerSortInput.cs index bea06419..8e9f2879 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerSortInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerSortInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class CustomerSortInput : GraphInputBase { + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public SortEnumType? CustomerId { @@ -22,6 +23,7 @@ public SortEnumType? CustomerId set => SetValue("customerId", value); } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public SortEnumType? CustomerName { @@ -29,6 +31,7 @@ public SortEnumType? CustomerName set => SetValue("customerName", value); } + [GraphQLMember("status")] [JsonPropertyName("status")] public SortEnumType? Status { @@ -36,6 +39,7 @@ public SortEnumType? Status set => SetValue("status", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressSortInput Address { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerStatusOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerStatusOperationFilterInput.cs index e75f1cd6..33c1137c 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerStatusOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/CustomerStatusOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class CustomerStatusOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public CustomerStatus? Eq { @@ -22,6 +23,7 @@ public CustomerStatus? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public CustomerStatus? Neq { @@ -29,6 +31,7 @@ public CustomerStatus? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/DateTimeOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/DateTimeOperationFilterInput.cs index 92bb4c8b..4a2d5362 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/DateTimeOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/DateTimeOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class DateTimeOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public DateTimeOffset? Eq { @@ -22,6 +23,7 @@ public DateTimeOffset? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public DateTimeOffset? Neq { @@ -29,6 +31,7 @@ public DateTimeOffset? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public DateTimeOffset? Gt { @@ -50,6 +55,7 @@ public DateTimeOffset? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public DateTimeOffset? Ngt { @@ -57,6 +63,7 @@ public DateTimeOffset? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public DateTimeOffset? Gte { @@ -64,6 +71,7 @@ public DateTimeOffset? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public DateTimeOffset? Ngte { @@ -71,6 +79,7 @@ public DateTimeOffset? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public DateTimeOffset? Lt { @@ -78,6 +87,7 @@ public DateTimeOffset? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public DateTimeOffset? Nlt { @@ -85,6 +95,7 @@ public DateTimeOffset? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public DateTimeOffset? Lte { @@ -92,6 +103,7 @@ public DateTimeOffset? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public DateTimeOffset? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/DecimalOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/DecimalOperationFilterInput.cs index dac4f3dd..2acf9c18 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/DecimalOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/DecimalOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class DecimalOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public decimal? Eq { @@ -22,6 +23,7 @@ public decimal? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public decimal? Neq { @@ -29,6 +31,7 @@ public decimal? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public decimal? Gt { @@ -50,6 +55,7 @@ public decimal? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public decimal? Ngt { @@ -57,6 +63,7 @@ public decimal? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public decimal? Gte { @@ -64,6 +71,7 @@ public decimal? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public decimal? Ngte { @@ -71,6 +79,7 @@ public decimal? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public decimal? Lt { @@ -78,6 +87,7 @@ public decimal? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public decimal? Nlt { @@ -85,6 +95,7 @@ public decimal? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public decimal? Lte { @@ -92,6 +103,7 @@ public decimal? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public decimal? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/FloatOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/FloatOperationFilterInput.cs index abc03cbb..554a0f6d 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/FloatOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/FloatOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class FloatOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public double? Eq { @@ -22,6 +23,7 @@ public double? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public double? Neq { @@ -29,6 +31,7 @@ public double? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public double? Gt { @@ -50,6 +55,7 @@ public double? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public double? Ngt { @@ -57,6 +63,7 @@ public double? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public double? Gte { @@ -64,6 +71,7 @@ public double? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public double? Ngte { @@ -71,6 +79,7 @@ public double? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public double? Lt { @@ -78,6 +87,7 @@ public double? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public double? Nlt { @@ -85,6 +95,7 @@ public double? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public double? Lte { @@ -92,6 +103,7 @@ public double? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public double? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalFilterInput.cs index 2047475c..e5bfaec4 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class IAnimalFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("name")] [JsonPropertyName("name")] public StringOperationFilterInput Name { @@ -36,6 +39,7 @@ public StringOperationFilterInput Name set => SetValue("name", value); } + [GraphQLMember("numberOfLegs")] [JsonPropertyName("numberOfLegs")] public IntOperationFilterInput NumberOfLegs { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalSortInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalSortInput.cs index 6afaa402..211e80ee 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalSortInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/IAnimalSortInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class IAnimalSortInput : GraphInputBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public SortEnumType? Name { @@ -22,6 +23,7 @@ public SortEnumType? Name set => SetValue("name", value); } + [GraphQLMember("numberOfLegs")] [JsonPropertyName("numberOfLegs")] public SortEnumType? NumberOfLegs { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs index f2d4b3aa..63f08d54 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs @@ -26,6 +26,10 @@ public static AddressSortInput AddressSort() { return new AddressSortInput(); } + public static ByteOperationFilterInput ByteOperationFilter() + { + return new ByteOperationFilterInput(); + } public static CustomerFilterInput CustomerFilter() { return new CustomerFilterInput(); @@ -74,6 +78,10 @@ public static ItemInput Item() { return new ItemInput(); } + public static ListByteOperationFilterInput ListByteOperationFilter() + { + return new ListByteOperationFilterInput(); + } public static ListFilterInputTypeOfOrderFilterInput ListFilterInputTypeOfOrderFilter() { return new ListFilterInputTypeOfOrderFilterInput(); @@ -217,6 +225,94 @@ public static AddressSortInput PostalCode(this AddressSortInput input, SortEnumT } +public static class ByteOperationFilterInputExtensions +{ + + public static ByteOperationFilterInput Eq(this ByteOperationFilterInput input, byte? val) + { + input.Eq = val; + return input; + } + + + public static ByteOperationFilterInput Neq(this ByteOperationFilterInput input, byte? val) + { + input.Neq = val; + return input; + } + + + public static ByteOperationFilterInput In(this ByteOperationFilterInput input, List val) + { + input.In = val; + return input; + } + + + public static ByteOperationFilterInput Nin(this ByteOperationFilterInput input, List val) + { + input.Nin = val; + return input; + } + + + public static ByteOperationFilterInput Gt(this ByteOperationFilterInput input, byte? val) + { + input.Gt = val; + return input; + } + + + public static ByteOperationFilterInput Ngt(this ByteOperationFilterInput input, byte? val) + { + input.Ngt = val; + return input; + } + + + public static ByteOperationFilterInput Gte(this ByteOperationFilterInput input, byte? val) + { + input.Gte = val; + return input; + } + + + public static ByteOperationFilterInput Ngte(this ByteOperationFilterInput input, byte? val) + { + input.Ngte = val; + return input; + } + + + public static ByteOperationFilterInput Lt(this ByteOperationFilterInput input, byte? val) + { + input.Lt = val; + return input; + } + + + public static ByteOperationFilterInput Nlt(this ByteOperationFilterInput input, byte? val) + { + input.Nlt = val; + return input; + } + + + public static ByteOperationFilterInput Lte(this ByteOperationFilterInput input, byte? val) + { + input.Lte = val; + return input; + } + + + public static ByteOperationFilterInput Nlte(this ByteOperationFilterInput input, byte? val) + { + input.Nlte = val; + return input; + } + +} + public static class CustomerFilterInputExtensions { public static CustomerFilterInput And(this CustomerFilterInput input, Action> mod) @@ -841,6 +937,15 @@ public static ItemFilterInput ItemName(this ItemFilterInput input, Action mod) + { + var filter = new ListByteOperationFilterInput(); + mod ??= _ => { }; + mod(filter); + input.Data = filter; + return input; + } + } public static class ItemInputExtensions @@ -859,6 +964,51 @@ public static ItemInput ItemName(this ItemInput input, string val) return input; } + + public static ItemInput Data(this ItemInput input, List val) + { + input.Data = val; + return input; + } + +} + +public static class ListByteOperationFilterInputExtensions +{ + public static ListByteOperationFilterInput All(this ListByteOperationFilterInput input, Action mod) + { + var filter = new ByteOperationFilterInput(); + mod ??= _ => { }; + mod(filter); + input.All = filter; + return input; + } + + public static ListByteOperationFilterInput None(this ListByteOperationFilterInput input, Action mod) + { + var filter = new ByteOperationFilterInput(); + mod ??= _ => { }; + mod(filter); + input.None = filter; + return input; + } + + public static ListByteOperationFilterInput Some(this ListByteOperationFilterInput input, Action mod) + { + var filter = new ByteOperationFilterInput(); + mod ??= _ => { }; + mod(filter); + input.Some = filter; + return input; + } + + + public static ListByteOperationFilterInput Any(this ListByteOperationFilterInput input, bool? val) + { + input.Any = val; + return input; + } + } public static class ListFilterInputTypeOfOrderFilterInputExtensions diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/IntOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/IntOperationFilterInput.cs index 5dbeb704..ec93fd6f 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/IntOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/IntOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class IntOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public int? Eq { @@ -22,6 +23,7 @@ public int? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public int? Neq { @@ -29,6 +31,7 @@ public int? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public int? Gt { @@ -50,6 +55,7 @@ public int? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public int? Ngt { @@ -57,6 +63,7 @@ public int? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public int? Gte { @@ -64,6 +71,7 @@ public int? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public int? Ngte { @@ -71,6 +79,7 @@ public int? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public int? Lt { @@ -78,6 +87,7 @@ public int? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public int? Nlt { @@ -85,6 +95,7 @@ public int? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public int? Lte { @@ -92,6 +103,7 @@ public int? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public int? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemFilterInput.cs index f288e372..836ec95b 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class ItemFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("itemId")] [JsonPropertyName("itemId")] public StringOperationFilterInput ItemId { @@ -36,6 +39,7 @@ public StringOperationFilterInput ItemId set => SetValue("itemId", value); } + [GraphQLMember("itemName")] [JsonPropertyName("itemName")] public StringOperationFilterInput ItemName { @@ -43,4 +47,12 @@ public StringOperationFilterInput ItemName set => SetValue("itemName", value); } + [GraphQLMember("data")] + [JsonPropertyName("data")] + public ListByteOperationFilterInput Data + { + get => GetValue("data"); + set => SetValue("data", value); + } + } \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemInput.cs index de04c6a2..aa030c07 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ItemInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class ItemInput : GraphInputBase { + [GraphQLMember("itemId")] [JsonPropertyName("itemId")] public string ItemId { @@ -22,6 +23,7 @@ public string ItemId set => SetValue("itemId", value); } + [GraphQLMember("itemName")] [JsonPropertyName("itemName")] public string ItemName { @@ -29,4 +31,12 @@ public string ItemName set => SetValue("itemName", value); } + [GraphQLMember("data")] + [JsonPropertyName("data")] + public List Data + { + get => GetValue>("data"); + set => SetValue("data", value); + } + } \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ListByteOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListByteOperationFilterInput.cs new file mode 100644 index 00000000..7fdd6ecc --- /dev/null +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListByteOperationFilterInput.cs @@ -0,0 +1,50 @@ +//--------------------------------------------------------------------- +// This code was automatically generated by Linq2GraphQL +// Please don't edit this file +// Github:https://github.com/linq2graphql/linq2graphql.client +// Url: https://linq2graphql.com +//--------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Text.Json.Serialization; +using Linq2GraphQL.Client; + +namespace Linq2GraphQL.TestClient; + +[JsonConverter(typeof(GraphInputConverter))] +public partial class ListByteOperationFilterInput : GraphInputBase +{ + [GraphQLMember("all")] + [JsonPropertyName("all")] + public ByteOperationFilterInput All + { + get => GetValue("all"); + set => SetValue("all", value); + } + + [GraphQLMember("none")] + [JsonPropertyName("none")] + public ByteOperationFilterInput None + { + get => GetValue("none"); + set => SetValue("none", value); + } + + [GraphQLMember("some")] + [JsonPropertyName("some")] + public ByteOperationFilterInput Some + { + get => GetValue("some"); + set => SetValue("some", value); + } + + [GraphQLMember("any")] + [JsonPropertyName("any")] + public bool? Any + { + get => GetValue("any"); + set => SetValue("any", value); + } + +} \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderFilterInput.cs index d343971d..56aca507 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class ListFilterInputTypeOfOrderFilterInput : GraphInputBase { + [GraphQLMember("all")] [JsonPropertyName("all")] public OrderFilterInput All { @@ -22,6 +23,7 @@ public OrderFilterInput All set => SetValue("all", value); } + [GraphQLMember("none")] [JsonPropertyName("none")] public OrderFilterInput None { @@ -29,6 +31,7 @@ public OrderFilterInput None set => SetValue("none", value); } + [GraphQLMember("some")] [JsonPropertyName("some")] public OrderFilterInput Some { @@ -36,6 +39,7 @@ public OrderFilterInput Some set => SetValue("some", value); } + [GraphQLMember("any")] [JsonPropertyName("any")] public bool? Any { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderLineFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderLineFilterInput.cs index f08e93eb..25317e10 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderLineFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/ListFilterInputTypeOfOrderLineFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class ListFilterInputTypeOfOrderLineFilterInput : GraphInputBase { + [GraphQLMember("all")] [JsonPropertyName("all")] public OrderLineFilterInput All { @@ -22,6 +23,7 @@ public OrderLineFilterInput All set => SetValue("all", value); } + [GraphQLMember("none")] [JsonPropertyName("none")] public OrderLineFilterInput None { @@ -29,6 +31,7 @@ public OrderLineFilterInput None set => SetValue("none", value); } + [GraphQLMember("some")] [JsonPropertyName("some")] public OrderLineFilterInput Some { @@ -36,6 +39,7 @@ public OrderLineFilterInput Some set => SetValue("some", value); } + [GraphQLMember("any")] [JsonPropertyName("any")] public bool? Any { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs index 820cfc6d..7d44d781 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public UuidOperationFilterInput OrderId { @@ -36,6 +39,7 @@ public UuidOperationFilterInput OrderId set => SetValue("orderId", value); } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public CustomerFilterInput Customer { @@ -43,6 +47,7 @@ public CustomerFilterInput Customer set => SetValue("customer", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressFilterInput Address { @@ -50,6 +55,7 @@ public AddressFilterInput Address set => SetValue("address", value); } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public DateTimeOperationFilterInput OrderDate { @@ -57,6 +63,7 @@ public DateTimeOperationFilterInput OrderDate set => SetValue("orderDate", value); } + [GraphQLMember("lines")] [JsonPropertyName("lines")] public ListFilterInputTypeOfOrderLineFilterInput Lines { @@ -64,6 +71,7 @@ public ListFilterInputTypeOfOrderLineFilterInput Lines set => SetValue("lines", value); } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public TimeSpanOperationFilterInput EntryTime { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs index 82a758f4..faadd772 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderInput : GraphInputBase { + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public Guid OrderId { @@ -22,6 +23,7 @@ public Guid OrderId set => SetValue("orderId", value); } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public CustomerInput Customer { @@ -29,6 +31,7 @@ public CustomerInput Customer set => SetValue("customer", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressInput Address { @@ -36,6 +39,7 @@ public AddressInput Address set => SetValue("address", value); } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public DateTimeOffset OrderDate { @@ -43,6 +47,7 @@ public DateTimeOffset OrderDate set => SetValue("orderDate", value); } + [GraphQLMember("lines")] [JsonPropertyName("lines")] public List Lines { @@ -50,6 +55,7 @@ public List Lines set => SetValue("lines", value); } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public TimeSpan? EntryTime { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineFilterInput.cs index a6208f40..1546b2e7 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderLineFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("lineNumber")] [JsonPropertyName("lineNumber")] public IntOperationFilterInput LineNumber { @@ -36,6 +39,7 @@ public IntOperationFilterInput LineNumber set => SetValue("lineNumber", value); } + [GraphQLMember("order")] [JsonPropertyName("order")] public OrderFilterInput Order { @@ -43,6 +47,7 @@ public OrderFilterInput Order set => SetValue("order", value); } + [GraphQLMember("item")] [JsonPropertyName("item")] public ItemFilterInput Item { @@ -50,6 +55,7 @@ public ItemFilterInput Item set => SetValue("item", value); } + [GraphQLMember("price")] [JsonPropertyName("price")] public DecimalOperationFilterInput Price { @@ -57,6 +63,7 @@ public DecimalOperationFilterInput Price set => SetValue("price", value); } + [GraphQLMember("quantity")] [JsonPropertyName("quantity")] public FloatOperationFilterInput Quantity { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineInput.cs index 9a40d55b..987936d0 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderLineInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderLineInput : GraphInputBase { + [GraphQLMember("lineNumber")] [JsonPropertyName("lineNumber")] public int LineNumber { @@ -22,6 +23,7 @@ public int LineNumber set => SetValue("lineNumber", value); } + [GraphQLMember("order")] [JsonPropertyName("order")] public OrderInput Order { @@ -29,6 +31,7 @@ public OrderInput Order set => SetValue("order", value); } + [GraphQLMember("item")] [JsonPropertyName("item")] public ItemInput Item { @@ -36,6 +39,7 @@ public ItemInput Item set => SetValue("item", value); } + [GraphQLMember("price")] [JsonPropertyName("price")] public decimal Price { @@ -43,6 +47,7 @@ public decimal Price set => SetValue("price", value); } + [GraphQLMember("quantity")] [JsonPropertyName("quantity")] public double Quantity { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs index a29e0aa8..de25b144 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderSortInput : GraphInputBase { + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public SortEnumType? OrderId { @@ -22,6 +23,7 @@ public SortEnumType? OrderId set => SetValue("orderId", value); } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public CustomerSortInput Customer { @@ -29,6 +31,7 @@ public CustomerSortInput Customer set => SetValue("customer", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressSortInput Address { @@ -36,6 +39,7 @@ public AddressSortInput Address set => SetValue("address", value); } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public SortEnumType? OrderDate { @@ -43,6 +47,7 @@ public SortEnumType? OrderDate set => SetValue("orderDate", value); } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public SortEnumType? EntryTime { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/StringOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/StringOperationFilterInput.cs index 9e959c0a..77e0c538 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/StringOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/StringOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class StringOperationFilterInput : GraphInputBase { + [GraphQLMember("and")] [JsonPropertyName("and")] public List And { @@ -22,6 +23,7 @@ public List And set => SetValue("and", value); } + [GraphQLMember("or")] [JsonPropertyName("or")] public List Or { @@ -29,6 +31,7 @@ public List Or set => SetValue("or", value); } + [GraphQLMember("eq")] [JsonPropertyName("eq")] public string Eq { @@ -36,6 +39,7 @@ public string Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public string Neq { @@ -43,6 +47,7 @@ public string Neq set => SetValue("neq", value); } + [GraphQLMember("contains")] [JsonPropertyName("contains")] public string Contains { @@ -50,6 +55,7 @@ public string Contains set => SetValue("contains", value); } + [GraphQLMember("ncontains")] [JsonPropertyName("ncontains")] public string Ncontains { @@ -57,6 +63,7 @@ public string Ncontains set => SetValue("ncontains", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -64,6 +71,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -71,6 +79,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("startsWith")] [JsonPropertyName("startsWith")] public string StartsWith { @@ -78,6 +87,7 @@ public string StartsWith set => SetValue("startsWith", value); } + [GraphQLMember("nstartsWith")] [JsonPropertyName("nstartsWith")] public string NstartsWith { @@ -85,6 +95,7 @@ public string NstartsWith set => SetValue("nstartsWith", value); } + [GraphQLMember("endsWith")] [JsonPropertyName("endsWith")] public string EndsWith { @@ -92,6 +103,7 @@ public string EndsWith set => SetValue("endsWith", value); } + [GraphQLMember("nendsWith")] [JsonPropertyName("nendsWith")] public string NendsWith { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/TimeSpanOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/TimeSpanOperationFilterInput.cs index 7b148966..eb4e84b9 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/TimeSpanOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/TimeSpanOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class TimeSpanOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public TimeSpan? Eq { @@ -22,6 +23,7 @@ public TimeSpan? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public TimeSpan? Neq { @@ -29,6 +31,7 @@ public TimeSpan? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public TimeSpan? Gt { @@ -50,6 +55,7 @@ public TimeSpan? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public TimeSpan? Ngt { @@ -57,6 +63,7 @@ public TimeSpan? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public TimeSpan? Gte { @@ -64,6 +71,7 @@ public TimeSpan? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public TimeSpan? Ngte { @@ -71,6 +79,7 @@ public TimeSpan? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public TimeSpan? Lt { @@ -78,6 +87,7 @@ public TimeSpan? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public TimeSpan? Nlt { @@ -85,6 +95,7 @@ public TimeSpan? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public TimeSpan? Lte { @@ -92,6 +103,7 @@ public TimeSpan? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public TimeSpan? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/UuidOperationFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/UuidOperationFilterInput.cs index 58df165b..87814ffe 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Inputs/UuidOperationFilterInput.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/UuidOperationFilterInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClient; [JsonConverter(typeof(GraphInputConverter))] public partial class UuidOperationFilterInput : GraphInputBase { + [GraphQLMember("eq")] [JsonPropertyName("eq")] public Guid? Eq { @@ -22,6 +23,7 @@ public Guid? Eq set => SetValue("eq", value); } + [GraphQLMember("neq")] [JsonPropertyName("neq")] public Guid? Neq { @@ -29,6 +31,7 @@ public Guid? Neq set => SetValue("neq", value); } + [GraphQLMember("in")] [JsonPropertyName("in")] public List In { @@ -36,6 +39,7 @@ public List In set => SetValue("in", value); } + [GraphQLMember("nin")] [JsonPropertyName("nin")] public List Nin { @@ -43,6 +47,7 @@ public List Nin set => SetValue("nin", value); } + [GraphQLMember("gt")] [JsonPropertyName("gt")] public Guid? Gt { @@ -50,6 +55,7 @@ public Guid? Gt set => SetValue("gt", value); } + [GraphQLMember("ngt")] [JsonPropertyName("ngt")] public Guid? Ngt { @@ -57,6 +63,7 @@ public Guid? Ngt set => SetValue("ngt", value); } + [GraphQLMember("gte")] [JsonPropertyName("gte")] public Guid? Gte { @@ -64,6 +71,7 @@ public Guid? Gte set => SetValue("gte", value); } + [GraphQLMember("ngte")] [JsonPropertyName("ngte")] public Guid? Ngte { @@ -71,6 +79,7 @@ public Guid? Ngte set => SetValue("ngte", value); } + [GraphQLMember("lt")] [JsonPropertyName("lt")] public Guid? Lt { @@ -78,6 +87,7 @@ public Guid? Lt set => SetValue("lt", value); } + [GraphQLMember("nlt")] [JsonPropertyName("nlt")] public Guid? Nlt { @@ -85,6 +95,7 @@ public Guid? Nlt set => SetValue("nlt", value); } + [GraphQLMember("lte")] [JsonPropertyName("lte")] public Guid? Lte { @@ -92,6 +103,7 @@ public Guid? Lte set => SetValue("lte", value); } + [GraphQLMember("nlte")] [JsonPropertyName("nlte")] public Guid? Nlte { diff --git a/test/Linq2GraphQL.TestClient/Generated/Interfaces/IAnimal.cs b/test/Linq2GraphQL.TestClient/Generated/Interfaces/IAnimal.cs index 3e76ed0d..61094fa8 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Interfaces/IAnimal.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Interfaces/IAnimal.cs @@ -56,23 +56,23 @@ internal class IAnimalConverter : InterfaceJsonConverter [JsonConverter(typeof(IAnimalConverter))] public interface IAnimal { - [JsonPropertyName("name")] + [GraphQLMember("name")] public string Name { get; set; } - [JsonPropertyName("numberOfLegs")] + [GraphQLMember("numberOfLegs")] public int NumberOfLegs { get; set; } - [JsonPropertyName("__typename")] + [GraphQLMember("__typename")] public string __TypeName { get; set; } } internal class IAnimal__Concrete : IAnimal { - [JsonPropertyName("name")] + [GraphQLMember("name")] public string Name { get; set; } - [JsonPropertyName("numberOfLegs")] + [GraphQLMember("numberOfLegs")] public int NumberOfLegs { get; set; } - [JsonPropertyName("__typename")] + [GraphQLMember("__typename")] public string __TypeName { get; set; } } \ No newline at end of file diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Address.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Address.cs index d88d1934..e922664e 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Address.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Address.cs @@ -16,12 +16,15 @@ namespace Linq2GraphQL.TestClient; public partial class Address : GraphQLTypeBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { get; set; } + [GraphQLMember("street")] [JsonPropertyName("street")] public string Street { get; set; } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public string PostalCode { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsConnection.cs b/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsConnection.cs index 23593c72..02110582 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsConnection.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsConnection.cs @@ -22,24 +22,28 @@ public partial class AnimalsConnection : GraphQLTypeBase, Linq2GraphQL.Client.Co /// /// Information to aid in pagination. /// + [GraphQLMember("pageInfo")] [JsonPropertyName("pageInfo")] public Linq2GraphQL.Client.Common.PageInfo PageInfo { get; set; } /// /// A list of edges. /// + [GraphQLMember("edges")] [JsonPropertyName("edges")] public List Edges { get; set; } /// /// A flattened list of the nodes. /// + [GraphQLMember("nodes")] [JsonPropertyName("nodes")] public List Nodes { get; set; } /// /// Identifies the total count of items in the connection. /// + [GraphQLMember("totalCount")] [JsonPropertyName("totalCount")] public int TotalCount { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsEdge.cs b/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsEdge.cs index e57747a6..a104943c 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsEdge.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/AnimalsEdge.cs @@ -22,12 +22,14 @@ public partial class AnimalsEdge : GraphQLTypeBase /// /// A cursor for use in pagination. /// + [GraphQLMember("cursor")] [JsonPropertyName("cursor")] public string Cursor { get; set; } /// /// The item at the end of the edge. /// + [GraphQLMember("node")] [JsonPropertyName("node")] public IAnimal Node { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/CollectionSegmentInfo.cs b/test/Linq2GraphQL.TestClient/Generated/Types/CollectionSegmentInfo.cs index 7b954630..b2605bfe 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/CollectionSegmentInfo.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/CollectionSegmentInfo.cs @@ -22,12 +22,14 @@ public partial class CollectionSegmentInfo : GraphQLTypeBase /// /// Indicates whether more items exist following the set defined by the clients arguments. /// + [GraphQLMember("hasNextPage")] [JsonPropertyName("hasNextPage")] public bool HasNextPage { get; set; } /// /// Indicates whether more items exist prior the set defined by the clients arguments. /// + [GraphQLMember("hasPreviousPage")] [JsonPropertyName("hasPreviousPage")] public bool HasPreviousPage { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Customer.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Customer.cs index 9990953c..46ac50ca 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Customer.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Customer.cs @@ -16,18 +16,23 @@ namespace Linq2GraphQL.TestClient; public partial class Customer : GraphQLTypeBase { + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public Guid CustomerId { get; set; } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public string CustomerName { get; set; } + [GraphQLMember("status")] [JsonPropertyName("status")] public CustomerStatus Status { get; set; } + [GraphQLMember("orders")] [JsonPropertyName("orders")] public List Orders { get; set; } + [GraphQLMember("address")] [JsonPropertyName("address")] public Address Address { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Item.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Item.cs index d4dd7206..5cc05426 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Item.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Item.cs @@ -16,10 +16,16 @@ namespace Linq2GraphQL.TestClient; public partial class Item : GraphQLTypeBase { + [GraphQLMember("itemId")] [JsonPropertyName("itemId")] public string ItemId { get; set; } + [GraphQLMember("itemName")] [JsonPropertyName("itemName")] public string ItemName { get; set; } + [GraphQLMember("data")] + [JsonPropertyName("data")] + public List Data { get; set; } + } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs index 2665e4bc..98c79c12 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs @@ -16,14 +16,14 @@ namespace Linq2GraphQL.TestClient; public static class OrderExtensions { - [GraphMethod("orderHello")] - public static string OrderHello(this Order order, [GraphArgument("String!")] string name, [GraphArgument("Int!")] int first) + [GraphQLMember("orderHello")] + public static string OrderHello(this Order order, [GraphQLArgument("name", "String!")] string name, [GraphQLArgument("first", "Int!")] int first) { return order.GetMethodValue("orderHello", name, first); } - [GraphMethod("orderAddress")] - public static Address OrderAddress(this Order order, [GraphArgument("AddressType!")] AddressType addressType) + [GraphQLMember("orderAddress")] + public static Address OrderAddress(this Order order, [GraphQLArgument("addressType", "AddressType!")] AddressType addressType) { return order.GetMethodValue
("orderAddress", addressType); } @@ -36,31 +36,35 @@ public partial class Order : GraphQLTypeBase /// /// Do not use in Query, only to retrive result /// - [GraphShadowProperty] public string OrderHello => _orderHello.Value(() => GetFirstMethodValue("orderHello")); private LazyProperty
_orderAddress = new(); /// /// Do not use in Query, only to retrive result /// - [GraphShadowProperty] public Address OrderAddress => _orderAddress.Value(() => GetFirstMethodValue
("orderAddress")); + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public Guid OrderId { get; set; } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public Customer Customer { get; set; } + [GraphQLMember("address")] [JsonPropertyName("address")] public Address Address { get; set; } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public DateTimeOffset OrderDate { get; set; } + [GraphQLMember("lines")] [JsonPropertyName("lines")] public List Lines { get; set; } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public TimeSpan? EntryTime { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrderLine.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrderLine.cs index 0780f4d3..60f6014e 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrderLine.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrderLine.cs @@ -16,18 +16,23 @@ namespace Linq2GraphQL.TestClient; public partial class OrderLine : GraphQLTypeBase { + [GraphQLMember("lineNumber")] [JsonPropertyName("lineNumber")] public int LineNumber { get; set; } + [GraphQLMember("order")] [JsonPropertyName("order")] public Order Order { get; set; } + [GraphQLMember("item")] [JsonPropertyName("item")] public Item Item { get; set; } + [GraphQLMember("price")] [JsonPropertyName("price")] public decimal Price { get; set; } + [GraphQLMember("quantity")] [JsonPropertyName("quantity")] public double Quantity { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersConnection.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersConnection.cs index ec5e9910..d8e05368 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersConnection.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersConnection.cs @@ -22,24 +22,28 @@ public partial class OrdersConnection : GraphQLTypeBase, Linq2GraphQL.Client.Com /// /// Information to aid in pagination. /// + [GraphQLMember("pageInfo")] [JsonPropertyName("pageInfo")] public Linq2GraphQL.Client.Common.PageInfo PageInfo { get; set; } /// /// A list of edges. /// + [GraphQLMember("edges")] [JsonPropertyName("edges")] public List Edges { get; set; } /// /// A flattened list of the nodes. /// + [GraphQLMember("nodes")] [JsonPropertyName("nodes")] public List Nodes { get; set; } /// /// Identifies the total count of items in the connection. /// + [GraphQLMember("totalCount")] [JsonPropertyName("totalCount")] public int TotalCount { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersEdge.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersEdge.cs index c1e6abd2..c004d3af 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersEdge.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersEdge.cs @@ -22,12 +22,14 @@ public partial class OrdersEdge : GraphQLTypeBase /// /// A cursor for use in pagination. /// + [GraphQLMember("cursor")] [JsonPropertyName("cursor")] public string Cursor { get; set; } /// /// The item at the end of the edge. /// + [GraphQLMember("node")] [JsonPropertyName("node")] public Order Node { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationConnection.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationConnection.cs index 2804a253..5fd29022 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationConnection.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationConnection.cs @@ -22,24 +22,28 @@ public partial class OrdersNoBackwardPaginationConnection : GraphQLTypeBase, Lin /// /// Information to aid in pagination. /// + [GraphQLMember("pageInfo")] [JsonPropertyName("pageInfo")] public Linq2GraphQL.Client.Common.PageInfo PageInfo { get; set; } /// /// A list of edges. /// + [GraphQLMember("edges")] [JsonPropertyName("edges")] public List Edges { get; set; } /// /// A flattened list of the nodes. /// + [GraphQLMember("nodes")] [JsonPropertyName("nodes")] public List Nodes { get; set; } /// /// Identifies the total count of items in the connection. /// + [GraphQLMember("totalCount")] [JsonPropertyName("totalCount")] public int TotalCount { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationEdge.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationEdge.cs index 915963fd..8ee3333b 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationEdge.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoBackwardPaginationEdge.cs @@ -22,12 +22,14 @@ public partial class OrdersNoBackwardPaginationEdge : GraphQLTypeBase /// /// A cursor for use in pagination. /// + [GraphQLMember("cursor")] [JsonPropertyName("cursor")] public string Cursor { get; set; } /// /// The item at the end of the edge. /// + [GraphQLMember("node")] [JsonPropertyName("node")] public Order Node { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountConnection.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountConnection.cs index ccc5a80d..277946b0 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountConnection.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountConnection.cs @@ -22,18 +22,21 @@ public partial class OrdersNoTotalCountConnection : GraphQLTypeBase, Linq2GraphQ /// /// Information to aid in pagination. /// + [GraphQLMember("pageInfo")] [JsonPropertyName("pageInfo")] public Linq2GraphQL.Client.Common.PageInfo PageInfo { get; set; } /// /// A list of edges. /// + [GraphQLMember("edges")] [JsonPropertyName("edges")] public List Edges { get; set; } /// /// A flattened list of the nodes. /// + [GraphQLMember("nodes")] [JsonPropertyName("nodes")] public List Nodes { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountEdge.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountEdge.cs index b86272b9..0176455a 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountEdge.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersNoTotalCountEdge.cs @@ -22,12 +22,14 @@ public partial class OrdersNoTotalCountEdge : GraphQLTypeBase /// /// A cursor for use in pagination. /// + [GraphQLMember("cursor")] [JsonPropertyName("cursor")] public string Cursor { get; set; } /// /// The item at the end of the edge. /// + [GraphQLMember("node")] [JsonPropertyName("node")] public Order Node { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersOffsetPagingCollectionSegment.cs b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersOffsetPagingCollectionSegment.cs index 05d99661..b79f7891 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/OrdersOffsetPagingCollectionSegment.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/OrdersOffsetPagingCollectionSegment.cs @@ -22,15 +22,18 @@ public partial class OrdersOffsetPagingCollectionSegment : GraphQLTypeBase /// /// Information to aid in pagination. /// + [GraphQLMember("pageInfo")] [JsonPropertyName("pageInfo")] public CollectionSegmentInfo PageInfo { get; set; } /// /// A flattened list of the items. /// + [GraphQLMember("items")] [JsonPropertyName("items")] public List Items { get; set; } + [GraphQLMember("totalCount")] [JsonPropertyName("totalCount")] public int TotalCount { get; set; } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Pig.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Pig.cs index a59e9008..050a4fc4 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Pig.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Pig.cs @@ -16,18 +16,23 @@ namespace Linq2GraphQL.TestClient; public partial class Pig : GraphQLTypeBase, IAnimal { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { get; set; } + [GraphQLMember("numberOfLegs")] [JsonPropertyName("numberOfLegs")] public int NumberOfLegs { get; set; } + [GraphQLMember("speed")] [JsonPropertyName("speed")] public int Speed { get; set; } + [GraphQLMember("spices")] [JsonPropertyName("spices")] public string Spices { get; set; } + [GraphQLMember("__typename")] [JsonPropertyName("__typename")] public string __TypeName { get; set; } } diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Spider.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Spider.cs index 7dfdd752..edcd952d 100644 --- a/test/Linq2GraphQL.TestClient/Generated/Types/Spider.cs +++ b/test/Linq2GraphQL.TestClient/Generated/Types/Spider.cs @@ -16,18 +16,23 @@ namespace Linq2GraphQL.TestClient; public partial class Spider : GraphQLTypeBase, IAnimal { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { get; set; } + [GraphQLMember("numberOfLegs")] [JsonPropertyName("numberOfLegs")] public int NumberOfLegs { get; set; } + [GraphQLMember("speed")] [JsonPropertyName("speed")] public int Speed { get; set; } + [GraphQLMember("poisonous")] [JsonPropertyName("poisonous")] public bool Poisonous { get; set; } + [GraphQLMember("__typename")] [JsonPropertyName("__typename")] public string __TypeName { get; set; } } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClient.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClient.cs index 0fde746d..377537b0 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClient.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClient.cs @@ -14,7 +14,7 @@ namespace Linq2GraphQL.TestClientNullable; public class SampleNullableClient { - public SampleNullableClient(HttpClient httpClient, IOptions options, IServiceProvider provider) + public SampleNullableClient(HttpClient httpClient, [FromKeyedServices("SampleNullableClient")]IOptions options, IServiceProvider provider) { var client = new GraphClient(httpClient, options, provider); Query = new QueryMethods(client); diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClientExtensions.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClientExtensions.cs index ed6582c5..064eca1c 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClientExtensions.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Client/SampleNullableClientExtensions.cs @@ -33,7 +33,7 @@ private static IGraphClientBuilder GraphClientBuilder(ISer GraphClientOptions graphClientOptions) { var opts = Options.Create(graphClientOptions); - services.AddSingleton(opts); + services.AddKeyedSingleton(ClientName, opts); services.AddMemoryCache(); return new ClientBuilder(ClientName, services); } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/AddressInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/AddressInput.cs index b644e606..041c0220 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/AddressInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/AddressInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class AddressInput : GraphInputBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public required string Name { @@ -22,6 +23,7 @@ public required string Name set => SetValue("name", value); } + [GraphQLMember("street")] [JsonPropertyName("street")] public required string Street { @@ -29,6 +31,7 @@ public required string Street set => SetValue("street", value); } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public required string PostalCode { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/CustomerInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/CustomerInput.cs index 28492e9c..f8545f2c 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/CustomerInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/CustomerInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class CustomerInput : GraphInputBase { + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public required Guid CustomerId { @@ -22,6 +23,7 @@ public required Guid CustomerId set => SetValue("customerId", value); } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public required string CustomerName { @@ -29,6 +31,7 @@ public required string CustomerName set => SetValue("customerName", value); } + [GraphQLMember("status")] [JsonPropertyName("status")] public required CustomerStatus Status { @@ -36,6 +39,7 @@ public required CustomerStatus Status set => SetValue("status", value); } + [GraphQLMember("orders")] [JsonPropertyName("orders")] public required List Orders { @@ -43,6 +47,7 @@ public required List Orders set => SetValue("orders", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressInput? Address { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/ItemInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/ItemInput.cs index e726451c..51d98fcf 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/ItemInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/ItemInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class ItemInput : GraphInputBase { + [GraphQLMember("itemId")] [JsonPropertyName("itemId")] public required string ItemId { @@ -22,6 +23,7 @@ public required string ItemId set => SetValue("itemId", value); } + [GraphQLMember("itemName")] [JsonPropertyName("itemName")] public required string ItemName { @@ -29,6 +31,7 @@ public required string ItemName set => SetValue("itemName", value); } + [GraphQLMember("data")] [JsonPropertyName("data")] public List? Data { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs index f613cc03..d1a8efa0 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderInput : GraphInputBase { + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public required Guid OrderId { @@ -22,6 +23,7 @@ public required Guid OrderId set => SetValue("orderId", value); } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public required CustomerInput Customer { @@ -29,6 +31,7 @@ public required CustomerInput Customer set => SetValue("customer", value); } + [GraphQLMember("address")] [JsonPropertyName("address")] public AddressInput? Address { @@ -36,6 +39,7 @@ public AddressInput? Address set => SetValue("address", value); } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public required DateTimeOffset OrderDate { @@ -43,6 +47,7 @@ public required DateTimeOffset OrderDate set => SetValue("orderDate", value); } + [GraphQLMember("lines")] [JsonPropertyName("lines")] public required List Lines { @@ -50,6 +55,7 @@ public required List Lines set => SetValue("lines", value); } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public TimeSpan? EntryTime { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderLineInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderLineInput.cs index f816b937..36f37750 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderLineInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderLineInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class OrderLineInput : GraphInputBase { + [GraphQLMember("lineNumber")] [JsonPropertyName("lineNumber")] public required int LineNumber { @@ -22,6 +23,7 @@ public required int LineNumber set => SetValue("lineNumber", value); } + [GraphQLMember("order")] [JsonPropertyName("order")] public required OrderInput Order { @@ -29,6 +31,7 @@ public required OrderInput Order set => SetValue("order", value); } + [GraphQLMember("item")] [JsonPropertyName("item")] public ItemInput? Item { @@ -36,6 +39,7 @@ public ItemInput? Item set => SetValue("item", value); } + [GraphQLMember("price")] [JsonPropertyName("price")] public required decimal Price { @@ -43,6 +47,7 @@ public required decimal Price set => SetValue("price", value); } + [GraphQLMember("quantity")] [JsonPropertyName("quantity")] public required double Quantity { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/PersonInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/PersonInput.cs index 3bd8b2df..30cdc141 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/PersonInput.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/PersonInput.cs @@ -15,6 +15,7 @@ namespace Linq2GraphQL.TestClientNullable; [JsonConverter(typeof(GraphInputConverter))] public partial class PersonInput : GraphInputBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public required string Name { @@ -22,6 +23,7 @@ public required string Name set => SetValue("name", value); } + [GraphQLMember("macAddress")] [JsonPropertyName("macAddress")] public MacAddress? MacAddress { @@ -29,6 +31,7 @@ public MacAddress? MacAddress set => SetValue("macAddress", value); } + [GraphQLMember("longitude")] [JsonPropertyName("longitude")] public Longitude? Longitude { diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Address.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Address.cs index e45050e1..37ba23d7 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Address.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Address.cs @@ -17,12 +17,15 @@ namespace Linq2GraphQL.TestClientNullable; public partial class Address : GraphQLTypeBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { get; set; } + [GraphQLMember("street")] [JsonPropertyName("street")] public string Street { get; set; } + [GraphQLMember("postalCode")] [JsonPropertyName("postalCode")] public string PostalCode { get; set; } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Customer.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Customer.cs index 034f8bbf..9b52e63f 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Customer.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Customer.cs @@ -17,18 +17,23 @@ namespace Linq2GraphQL.TestClientNullable; public partial class Customer : GraphQLTypeBase { + [GraphQLMember("customerId")] [JsonPropertyName("customerId")] public Guid CustomerId { get; set; } + [GraphQLMember("customerName")] [JsonPropertyName("customerName")] public string CustomerName { get; set; } + [GraphQLMember("status")] [JsonPropertyName("status")] public CustomerStatus Status { get; set; } + [GraphQLMember("orders")] [JsonPropertyName("orders")] public List Orders { get; set; } + [GraphQLMember("address")] [JsonPropertyName("address")] public Address? Address { get; set; } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Item.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Item.cs index 1737202f..f1b1dfcc 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Item.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Item.cs @@ -17,12 +17,15 @@ namespace Linq2GraphQL.TestClientNullable; public partial class Item : GraphQLTypeBase { + [GraphQLMember("itemId")] [JsonPropertyName("itemId")] public string ItemId { get; set; } + [GraphQLMember("itemName")] [JsonPropertyName("itemName")] public string ItemName { get; set; } + [GraphQLMember("data")] [JsonPropertyName("data")] public List? Data { get; set; } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs index f9fcc341..a72eeb52 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs @@ -17,14 +17,14 @@ namespace Linq2GraphQL.TestClientNullable; public static class OrderExtensions { - [GraphMethod("orderHello")] - public static string OrderHello(this Order order, [GraphArgument("String!")] string name, [GraphArgument("Int!")] int first) + [GraphQLMember("orderHello")] + public static string OrderHello(this Order order, [GraphQLArgument("name", "String!")] string name, [GraphQLArgument("first", "Int!")] int first) { return order.GetMethodValue("orderHello", name, first); } - [GraphMethod("orderAddress")] - public static Address OrderAddress(this Order order, [GraphArgument("AddressType!")] AddressType addressType) + [GraphQLMember("orderAddress")] + public static Address OrderAddress(this Order order, [GraphQLArgument("addressType", "AddressType!")] AddressType addressType) { return order.GetMethodValue
("orderAddress", addressType); } @@ -37,31 +37,35 @@ public partial class Order : GraphQLTypeBase /// /// Do not use in Query, only to retrive result /// - [GraphShadowProperty] public string OrderHello => _orderHello.Value(() => GetFirstMethodValue("orderHello")); private LazyProperty
_orderAddress = new(); /// /// Do not use in Query, only to retrive result /// - [GraphShadowProperty] public Address OrderAddress => _orderAddress.Value(() => GetFirstMethodValue
("orderAddress")); + [GraphQLMember("orderId")] [JsonPropertyName("orderId")] public Guid OrderId { get; set; } + [GraphQLMember("customer")] [JsonPropertyName("customer")] public Customer Customer { get; set; } + [GraphQLMember("address")] [JsonPropertyName("address")] public Address? Address { get; set; } + [GraphQLMember("orderDate")] [JsonPropertyName("orderDate")] public DateTimeOffset OrderDate { get; set; } + [GraphQLMember("lines")] [JsonPropertyName("lines")] public List Lines { get; set; } + [GraphQLMember("entryTime")] [JsonPropertyName("entryTime")] public TimeSpan? EntryTime { get; set; } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/OrderLine.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/OrderLine.cs index c109fc9f..a3abe7bb 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/OrderLine.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/OrderLine.cs @@ -17,18 +17,23 @@ namespace Linq2GraphQL.TestClientNullable; public partial class OrderLine : GraphQLTypeBase { + [GraphQLMember("lineNumber")] [JsonPropertyName("lineNumber")] public int LineNumber { get; set; } + [GraphQLMember("order")] [JsonPropertyName("order")] public Order Order { get; set; } + [GraphQLMember("item")] [JsonPropertyName("item")] public Item? Item { get; set; } + [GraphQLMember("price")] [JsonPropertyName("price")] public decimal Price { get; set; } + [GraphQLMember("quantity")] [JsonPropertyName("quantity")] public double Quantity { get; set; } diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Person.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Person.cs index b0147e12..8aa56407 100644 --- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Person.cs +++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Person.cs @@ -17,12 +17,15 @@ namespace Linq2GraphQL.TestClientNullable; public partial class Person : GraphQLTypeBase { + [GraphQLMember("name")] [JsonPropertyName("name")] public string Name { get; set; } + [GraphQLMember("macAddress")] [JsonPropertyName("macAddress")] public MacAddress? MacAddress { get; set; } + [GraphQLMember("longitude")] [JsonPropertyName("longitude")] public Longitude? Longitude { get; set; } diff --git a/test/Linq2GraphQL.Tests/QueryIncludeTests.cs b/test/Linq2GraphQL.Tests/QueryIncludeTests.cs index 8e74cff9..4c4eef4a 100644 --- a/test/Linq2GraphQL.Tests/QueryIncludeTests.cs +++ b/test/Linq2GraphQL.Tests/QueryIncludeTests.cs @@ -1,4 +1,5 @@ -using Linq2GraphQL.TestClient; +using HotChocolate.Execution; +using Linq2GraphQL.TestClient; namespace Linq2GraphQL.Tests; @@ -36,6 +37,8 @@ public async Task IncludePrimitives_MultipleLevels() .Include(e => e.Nodes.Select(e => e.Customer.Orders)) .Select(e => e.Nodes); + var req = await query.GetRequestAsync(); + var result = await query.ExecuteAsync(); @@ -66,6 +69,7 @@ public async Task IncludePrimitives_AnomousResult() } })); + var q = await query.GetRequestAsync(); var order = (await query.ExecuteAsync()).First(); diff --git a/test/Linq2GraphQL.Tests/QueryPagingTests.cs b/test/Linq2GraphQL.Tests/QueryPagingTests.cs index 57e7821a..f1049c10 100644 --- a/test/Linq2GraphQL.Tests/QueryPagingTests.cs +++ b/test/Linq2GraphQL.Tests/QueryPagingTests.cs @@ -27,7 +27,9 @@ public async Task Orders_ManualPaging() .Include(e => e.PageInfo) .Include(e => e.TotalCount) .Select(e => e.Nodes.Select(e => new { e.OrderId, e.OrderDate })); - + + var request = await query.GetRequestAsync(); + await query.ExecuteBaseAsync(); var result1 = query.ConvertResult(query.BaseResult); @@ -65,9 +67,9 @@ public async Task Orders_Paging() .Query .Orders() .Include(e => e.TotalCount) - .Include(e => e.Nodes.Select(e => e.Customer.Orders)) + //.Include(e => e.Nodes.Select(e => e.Customer.Orders)) - .Select(e => e.Nodes.Select(e => new { e.OrderId, Customer = new { e.Customer.CustomerName, e.Customer.Orders} })) + .Select(e => e.Nodes.Select(e => new { e.OrderId })) .AsPager(); var firstPage = await pager.NextPageAsync(); diff --git a/test/Linq2GraphQL.Tests/QueryProjectionTests.cs b/test/Linq2GraphQL.Tests/QueryProjectionTests.cs index c2d460cb..ab62ef3c 100644 --- a/test/Linq2GraphQL.Tests/QueryProjectionTests.cs +++ b/test/Linq2GraphQL.Tests/QueryProjectionTests.cs @@ -60,12 +60,31 @@ public async Task Project_SelectMany() .Customers() .Select(e => e.SelectMany(e=> e.Orders)); - // var request = await query.GetRequestAsync(); var result = await query.ExecuteAsync(); + Assert.True(result.All(e=> e.OrderId != default)); + } + + [Fact] + public async Task Project_TopLevelAllPrimitive() + { + + var query = sampleClient + .Query + .Customers() + .Include() + .Select(e => new { Customers = e, Orders = e.SelectMany(f => f.Orders) }); + + var request = await query.GetRequestAsync(); + var result = await query.ExecuteAsync(); + var t = result.Customers.All(e => e.CustomerId != default); + + Assert.True(result.Customers.All(e => e.CustomerId != default)); + + } }