diff --git a/src/Linq2GraphQL.Generator/General.cs b/src/Linq2GraphQL.Generator/General.cs
index b477b6d9..0f944806 100644
--- a/src/Linq2GraphQL.Generator/General.cs
+++ b/src/Linq2GraphQL.Generator/General.cs
@@ -44,14 +44,18 @@ query Into {
interfaces {
name
}
- enumValues {
+ enumValues(includeDeprecated: true) {
name
description
+ isDeprecated
+ deprecationReason
}
- fields {
+ fields(includeDeprecated: true) {
name
description
+ isDeprecated
+ deprecationReason
type {
...BaseType
}
@@ -64,9 +68,11 @@ query Into {
}
}
}
- inputFields {
+ inputFields(includeDeprecated: true) {
name
description
+ isDeprecated
+ deprecationReason
type {
...BaseType
}
diff --git a/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs b/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs
index b86449d3..4cb6b38a 100644
--- a/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs
+++ b/src/Linq2GraphQL.Generator/GraphQLSchema/RootSchema.cs
@@ -1,9 +1,5 @@
-using Linq2GraphQL.Client.Common;
-using System.Diagnostics;
-using System.Runtime.Serialization;
-using System.Security.AccessControl;
+using System.Runtime.Serialization;
using System.Text.Json.Serialization;
-using System.Text.RegularExpressions;
namespace Linq2GraphQL.Generator;
@@ -111,7 +107,10 @@ public class EnumValue
{
public string Name { get; set; }
public string Description { get; set; }
-
+
+ public bool IsDeprecated { get; set; }
+ public string DeprecationReason { get; set; }
+
public string GetCSharpName()
{
@@ -131,6 +130,9 @@ public class BaseField
public string Name { get; set; }
public string Description { get; set; }
+ public bool IsDeprecated { get; set; }
+ public string DeprecationReason { get; set; }
+
public bool HasDescription => !string.IsNullOrEmpty(Description);
public string SummaryDescription => Helpers.SummarySafe(Description);
diff --git a/src/Linq2GraphQL.Generator/Properties/launchSettings.json b/src/Linq2GraphQL.Generator/Properties/launchSettings.json
index 7adb1150..60320b12 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:50741/graphql/ -c=\"SampleNullableClient\" -n=\"Linq2GraphQL.TestClientNullable\" -o=\"C:\\Code\\Github\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClientNullable\\Generated\" -s=true -nu=true"
+ "commandLineArgs": "https://localhost:7184/graphql/ -c=\"SampleClient\" -n=\"Linq2GraphQL.TestClient\" -o=\"C:\\Code\\Github\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClient\\Generated\" -s=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 aa6121e6..56924db0 100644
--- a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs
+++ b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.cs
@@ -76,79 +76,100 @@ public virtual string TransformText()
#line default
#line hidden
- this.Write("\")]\r\n public static ");
+ this.Write("\")]\r\n");
#line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ if (field.IsDeprecated) {
+
+ #line default
+ #line hidden
+ this.Write(" [Obsolete(\"");
+
+ #line 21 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(field.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n");
+
+ #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ }
+
+ #line default
+ #line hidden
+ this.Write(" public static ");
+
+ #line 23 "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 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 23 "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("(this ");
- #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 23 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.Name));
#line default
#line hidden
this.Write(" ");
- #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 23 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.Name.ToCamelCase()));
#line default
#line hidden
this.Write(", ");
- #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 23 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.GetArgString(true)));
#line default
#line hidden
this.Write(")\r\n {\r\n return ");
- #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 25 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.Name.ToCamelCase()));
#line default
#line hidden
this.Write(".GetMethodValue<");
- #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 25 "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 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 25 "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("\", ");
- #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 25 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.GetArgNames()));
#line default
#line hidden
this.Write(");\r\n }\r\n\r\n");
- #line 25 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 28 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
#line default
#line hidden
this.Write("}\r\n\r\n");
- #line 28 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 31 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
@@ -156,21 +177,21 @@ public virtual string TransformText()
#line default
#line hidden
- #line 31 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
if (classType.HasDescription) {
#line default
#line hidden
this.Write("/// \r\n/// ");
- #line 33 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 36 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.SummaryDescription));
#line default
#line hidden
this.Write("\r\n/// \r\n");
- #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
@@ -179,151 +200,192 @@ public virtual string TransformText()
#line hidden
this.Write("public partial class ");
- #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 41 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.Name));
#line default
#line hidden
this.Write(" ");
- #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 41 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(classType.GetInterfacesString("GraphQLTypeBase")));
#line default
#line hidden
this.Write("\r\n{\r\n");
- #line 40 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 43 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
foreach (var field in classType.AllFields) {
#line default
#line hidden
- #line 41 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 44 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
if (field.IsMethod) {
#line default
#line hidden
this.Write(" private LazyProperty<");
- #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 45 "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 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 45 "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(" = new();\r\n /// \r\n /// Do not use in Query, only to retrive result" +
- "\r\n /// \r\n public ");
+ "\r\n /// \r\n");
+
+ #line 49 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ if (field.IsDeprecated) {
- #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line default
+ #line hidden
+ this.Write(" [Obsolete(\"");
+
+ #line 50 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(field.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n");
+
+ #line 51 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ }
+
+ #line default
+ #line hidden
+ this.Write(" public ");
+
+ #line 52 "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 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 52 "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 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 52 "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 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 52 "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 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 52 "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 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 54 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
} else {
#line default
#line hidden
- #line 49 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 55 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
if (field.HasDescription) {
#line default
#line hidden
this.Write(" /// \r\n /// ");
- #line 51 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 57 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.SummaryDescription));
#line default
#line hidden
this.Write("\r\n /// \r\n");
- #line 53 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 59 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ }
+
+ #line default
+ #line hidden
+
+ #line 60 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ if (field.IsDeprecated) {
+
+ #line default
+ #line hidden
+ this.Write(" [Obsolete(\"");
+
+ #line 61 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(field.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n");
+
+ #line 62 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
#line default
#line hidden
this.Write(" [GraphQLMember(\"");
- #line 54 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 63 "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"
+ #line 64 "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 public ");
- #line 56 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 65 "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 56 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 65 "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(" { get; set; }\r\n\r\n");
- #line 58 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 67 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
#line default
#line hidden
- #line 59 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 68 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
}
#line default
#line hidden
- #line 60 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 69 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
if (classType.HasInterfaces) {
#line default
@@ -331,7 +393,7 @@ public virtual string TransformText()
this.Write(" [GraphQLMember(\"__typename\")]\r\n [JsonPropertyName(\"__typename\")]\r\n publ" +
"ic string __TypeName { get; set; }\r\n");
- #line 64 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
+ #line 73 "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 85ee99ef..0257179b 100644
--- a/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt
+++ b/src/Linq2GraphQL.Generator/Templates/Class/ClassTemplate.tt
@@ -17,6 +17,9 @@ public static class <#= classType.Name #>Extensions
{
<# foreach (var field in classType.AllFields.Where(e => e.IsMethod)) { #>
[GraphQLMember("<#= field.Name #>")]
+<# if (field.IsDeprecated) { #>
+ [Obsolete("<#= field.DeprecationReason #>")]
+<# } #>
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,6 +46,9 @@ public partial class <#= classType.Name #> <#= classType.GetInterfacesString("Gr
///
/// Do not use in Query, only to retrive result
///
+<# if (field.IsDeprecated) { #>
+ [Obsolete("<#= field.DeprecationReason #>")]
+<# } #>
public <#= GetFieldCSharpName(field) #> <#= field.CSharpName #> => _<#= field.Name #>.Value(() => GetFirstMethodValue<<#= GetFieldCSharpName(field) #>>("<#= field.Name #>"));
<# } else { #>
@@ -50,6 +56,9 @@ public partial class <#= classType.Name #> <#= classType.GetInterfacesString("Gr
///
/// <#= field.SummaryDescription #>
///
+<# } #>
+<# if (field.IsDeprecated) { #>
+ [Obsolete("<#= field.DeprecationReason #>")]
<# } #>
[GraphQLMember("<#= field.Name #>")]
[JsonPropertyName("<#= field.Name #>")]
diff --git a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs
index e94bf2af..63af09ab 100644
--- a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs
+++ b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.cs
@@ -58,58 +58,78 @@ public virtual string TransformText()
#line default
#line hidden
- this.Write("\t[GraphQLMember(\"");
#line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ if (field.IsDeprecated) {
+
+ #line default
+ #line hidden
+ this.Write(" [Obsolete(\"");
+
+ #line 19 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(field.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n");
+
+ #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ }
+
+ #line default
+ #line hidden
+ this.Write("\t[GraphQLMember(\"");
+
+ #line 21 "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\t[JsonPropertyName(\"");
- #line 19 "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\tpublic ");
- #line 20 "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(GetPropertyDefinition(field)));
#line default
#line hidden
this.Write(" ");
- #line 20 "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.CSharpName));
#line default
#line hidden
this.Write(" \r\n\t{\r\n\t\tget => GetValue<");
- #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ #line 25 "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 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ #line 25 "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 23 "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"
this.Write(this.ToStringHelper.ToStringWithCulture(field.Name));
#line default
#line hidden
this.Write("\", value);\r\n\t}\r\n\r\n");
- #line 26 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\InputClassTemplate.tt"
+ #line 29 "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 68fdbc8a..c21a9aa3 100644
--- a/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt
+++ b/src/Linq2GraphQL.Generator/Templates/Class/InputClassTemplate.tt
@@ -15,6 +15,9 @@ public partial class <#= classType.Name #> : GraphInputBase
{
var coreType = field.CoreType;
#>
+<# if (field.IsDeprecated) { #>
+ [Obsolete("<#= field.DeprecationReason #>")]
+<# } #>
[GraphQLMember("<#= field.Name #>")]
[JsonPropertyName("<#= field.Name #>")]
public <#= GetPropertyDefinition(field) #> <#= field.CSharpName #>
diff --git a/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.cs
index d9d6612d..4df6f934 100644
--- a/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.cs
+++ b/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.cs
@@ -1,7 +1,7 @@
// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version: 16.0.0.0
+// Runtime Version: 17.0.0.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -15,8 +15,8 @@ namespace Linq2GraphQL.Generator.Templates.Enum
/// Class to produce the template output
///
- #line 1 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
+ #line 1 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
public partial class EnumTemplate : EnumTemplateBase
{
#line hidden
@@ -25,47 +25,68 @@ public partial class EnumTemplate : EnumTemplateBase
///
public virtual string TransformText()
{
- this.Write("using Linq2GraphQL.Client;\r\nusing System.Runtime.Serialization;\r\nusing System.Text.Json.Serialization;\r\n\r\nnamespace ");
+ this.Write("using Linq2GraphQL.Client;\r\nusing System.Runtime.Serialization;\r\nusing System.Tex" +
+ "t.Json.Serialization;\r\n\r\nnamespace ");
- #line 7 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 7 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(namespaceName));
#line default
#line hidden
this.Write(";\r\n\r\n[JsonConverter(typeof(JsonStringEnumMemberConverter))]\r\npublic enum ");
- #line 10 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 10 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(enumType.Name));
#line default
#line hidden
this.Write("\r\n{\r\n");
- #line 12 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 12 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
foreach (var enumValue in enumType.EnumValues)
{
+ #line default
+ #line hidden
+
+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ if (enumValue.IsDeprecated) {
+
+ #line default
+ #line hidden
+ this.Write(" [Obsolete(\"");
+
+ #line 17 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(enumValue.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n");
+
+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ }
+
#line default
#line hidden
this.Write(" [EnumMember(Value = \"");
- #line 16 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 19 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(enumValue.Name));
#line default
#line hidden
this.Write("\")]\r\n ");
- #line 17 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(enumValue.GetCSharpName()));
#line default
#line hidden
this.Write(",\r\n");
- #line 18 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 21 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
}
@@ -73,7 +94,7 @@ public virtual string TransformText()
#line default
#line hidden
- #line 21 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 24 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
if (enumGeneratorStrategy == EnumGeneratorStrategy.AddUnknownOption)
{
@@ -81,9 +102,12 @@ public virtual string TransformText()
#line default
#line hidden
- this.Write(" /// \r\n /// Unknown values are mapped to this member. \r\n /// Generated via --es/-enum-strategy command line option upon generation. \r\n /// Don't set explicitly. \r\n /// \r\n [EnumMember(Value = \"\")]\r\n __Unknown\r\n");
+ this.Write(" /// \r\n /// Unknown values are mapped to this member. \r\n /// Ge" +
+ "nerated via --es/-enum-strategy command line option upon generation. \r\n /// D" +
+ "on\'t set explicitly. \r\n /// \r\n [EnumMember(Value = \"\")]\r\n __U" +
+ "nknown\r\n");
- #line 32 "C:\Code\Linq2GraphQL\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
+ #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Enum\EnumTemplate.tt"
}
@@ -101,7 +125,7 @@ public virtual string TransformText()
///
/// Base class for this transformation
///
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
public class EnumTemplateBase
{
#region Fields
@@ -116,7 +140,7 @@ public class EnumTemplateBase
///
/// The string builder that generation-time code is using to assemble generated output
///
- protected System.Text.StringBuilder GenerationEnvironment
+ public System.Text.StringBuilder GenerationEnvironment
{
get
{
diff --git a/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.tt b/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.tt
index 520e1575..17705bba 100644
--- a/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.tt
+++ b/src/Linq2GraphQL.Generator/Templates/Enum/EnumTemplate.tt
@@ -13,6 +13,9 @@ public enum <#= enumType.Name #>
foreach (var enumValue in enumType.EnumValues)
{
#>
+<# if (enumValue.IsDeprecated) { #>
+ [Obsolete("<#= enumValue.DeprecationReason #>")]
+<# } #>
[EnumMember(Value = "<#= enumValue.Name #>")]
<#= enumValue.GetCSharpName() #>,
<#
diff --git a/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.cs b/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.cs
index 97ce3e83..cb5bc769 100644
--- a/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.cs
+++ b/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.cs
@@ -76,30 +76,50 @@ public virtual string TransformText()
#line default
#line hidden
- this.Write("public ");
#line 31 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ if (field.IsDeprecated) {
+
+ #line default
+ #line hidden
+ this.Write("[Obsolete(\"");
+
+ #line 32 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ this.Write(this.ToStringHelper.ToStringWithCulture(field.DeprecationReason));
+
+ #line default
+ #line hidden
+ this.Write("\")]\r\n ");
+
+ #line 33 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ }
+
+ #line default
+ #line hidden
+ this.Write("public ");
+
+ #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(GetReturnTypeString(field)));
#line default
#line hidden
this.Write(" ");
- #line 31 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.CSharpName));
#line default
#line hidden
this.Write("(");
- #line 31 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.GetArgString(false)));
#line default
#line hidden
this.Write(")\r\n {\r\n\t var arguments = new List\r\n {\r\n ");
- #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
foreach (var arg in field.Args)
{
@@ -109,28 +129,28 @@ public virtual string TransformText()
#line hidden
this.Write("\t new(\"");
- #line 39 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(arg.Name));
#line default
#line hidden
this.Write("\",\"");
- #line 39 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(arg.CoreType.GraphQLTypeDefinition));
#line default
#line hidden
this.Write("\", ");
- #line 39 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(arg.Name.ToCamelCase()));
#line default
#line hidden
this.Write("),\r\n ");
- #line 40 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 43 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
}
@@ -139,28 +159,28 @@ public virtual string TransformText()
#line hidden
this.Write(" };\r\n\r\n return ");
- #line 45 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(GetReturnBuilderString(field)));
#line default
#line hidden
this.Write("(client, \"");
- #line 45 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(field.Name));
#line default
#line hidden
this.Write("\", ");
- #line 45 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(operationType));
#line default
#line hidden
this.Write(", arguments); \r\n }\r\n\r\n ");
- #line 48 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
+ #line 51 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Methods\MethodsTemplate.tt"
}
diff --git a/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.tt b/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.tt
index 97f5ad9c..c9f2fb0c 100644
--- a/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.tt
+++ b/src/Linq2GraphQL.Generator/Templates/Methods/MethodsTemplate.tt
@@ -28,6 +28,9 @@ public class <#= ClassName #>
{
var coreType = field.CoreType;
#>
+<# if (field.IsDeprecated) { #>
+[Obsolete("<#= field.DeprecationReason #>")]
+ <# } #>
public <#= GetReturnTypeString(field) #> <#= field.CSharpName #>(<#= field.GetArgString(false) #>)
{
var arguments = new List
diff --git a/test/Linq2GraphQL.TestClient/Generated/Enums/CustomerStatus.cs b/test/Linq2GraphQL.TestClient/Generated/Enums/CustomerStatus.cs
index 82009d9a..f03d38df 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Enums/CustomerStatus.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Enums/CustomerStatus.cs
@@ -18,4 +18,7 @@ public enum CustomerStatus
Active,
[EnumMember(Value = "DISABLED")]
Disabled,
+ [Obsolete("No longer in use, please use enum value Active instead")]
+ [EnumMember(Value = "IN_TRANSIT")]
+ InTransit,
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs
index 63f08d54..c3f58e05 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/InputFactory.cs
@@ -1161,6 +1161,15 @@ public static OrderFilterInput EntryTime(this OrderFilterInput input, Action mod)
+ {
+ var filter = new StringOperationFilterInput();
+ mod ??= _ => { };
+ mod(filter);
+ input.Grade = filter;
+ return input;
+ }
+
}
public static class OrderInputExtensions
@@ -1213,6 +1222,13 @@ public static OrderInput EntryTime(this OrderInput input, TimeSpan? val)
return input;
}
+
+ public static OrderInput Grade(this OrderInput input, string val)
+ {
+ input.Grade = val;
+ return input;
+ }
+
}
public static class OrderLineFilterInputExtensions
@@ -1366,6 +1382,13 @@ public static OrderSortInput EntryTime(this OrderSortInput input, SortEnumType?
return input;
}
+
+ public static OrderSortInput Grade(this OrderSortInput input, SortEnumType? val)
+ {
+ input.Grade = val;
+ return input;
+ }
+
}
public static class StringOperationFilterInputExtensions
diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs
index 7d44d781..4bb175cf 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderFilterInput.cs
@@ -79,4 +79,12 @@ public TimeSpanOperationFilterInput EntryTime
set => SetValue("entryTime", value);
}
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public StringOperationFilterInput Grade
+ {
+ get => GetValue("grade");
+ set => SetValue("grade", value);
+ }
+
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs
index faadd772..273abd65 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderInput.cs
@@ -63,4 +63,13 @@ public TimeSpan? EntryTime
set => SetValue("entryTime", value);
}
+ [Obsolete("This propery is obsolete and should not be used!")]
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public string Grade
+ {
+ get => GetValue("grade");
+ set => SetValue("grade", value);
+ }
+
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs
index de25b144..4ec4ede3 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Inputs/OrderSortInput.cs
@@ -55,4 +55,12 @@ public SortEnumType? EntryTime
set => SetValue("entryTime", value);
}
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public SortEnumType? Grade
+ {
+ get => GetValue("grade");
+ set => SetValue("grade", value);
+ }
+
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs b/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs
index 98c79c12..7281f376 100644
--- a/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs
+++ b/test/Linq2GraphQL.TestClient/Generated/Types/Order.cs
@@ -16,6 +16,13 @@ namespace Linq2GraphQL.TestClient;
public static class OrderExtensions
{
+ [GraphQLMember("myGradeMethod")]
+ [Obsolete("This method should not be used anymore")]
+ public static string MyGradeMethod(this Order order, [GraphQLArgument("name", "String!")] string name)
+ {
+ return order.GetMethodValue("myGradeMethod", name);
+ }
+
[GraphQLMember("orderHello")]
public static string OrderHello(this Order order, [GraphQLArgument("name", "String!")] string name, [GraphQLArgument("first", "Int!")] int first)
{
@@ -32,6 +39,13 @@ public static Address OrderAddress(this Order order, [GraphQLArgument("addressT
public partial class Order : GraphQLTypeBase
{
+ private LazyProperty _myGradeMethod = new();
+ ///
+ /// Do not use in Query, only to retrive result
+ ///
+ [Obsolete("This method should not be used anymore")]
+ public string MyGradeMethod => _myGradeMethod.Value(() => GetFirstMethodValue("myGradeMethod"));
+
private LazyProperty _orderHello = new();
///
/// Do not use in Query, only to retrive result
@@ -68,4 +82,9 @@ public partial class Order : GraphQLTypeBase
[JsonPropertyName("entryTime")]
public TimeSpan? EntryTime { get; set; }
+ [Obsolete("This propery is obsolete and should not be used!")]
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public string Grade { get; set; }
+
}
diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Client/QueryMethods.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Client/QueryMethods.cs
index 284dee96..273d6fa3 100644
--- a/test/Linq2GraphQL.TestClientNullable/Generated/Client/QueryMethods.cs
+++ b/test/Linq2GraphQL.TestClientNullable/Generated/Client/QueryMethods.cs
@@ -29,6 +29,16 @@ public GraphQuery- Item()
return new GraphQuery
- (client, "item", OperationType.Query, arguments);
}
+ [Obsolete("This is an really old method! please d not use it!!")]
+ public GraphQuery
- ItemDraft()
+ {
+ var arguments = new List
+ {
+ };
+
+ return new GraphQuery
- (client, "itemDraft", OperationType.Query, arguments);
+ }
+
public GraphQuery
> CustomerList()
{
var arguments = new List
diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Enums/CustomerStatus.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Enums/CustomerStatus.cs
index 46d2b50e..078ec802 100644
--- a/test/Linq2GraphQL.TestClientNullable/Generated/Enums/CustomerStatus.cs
+++ b/test/Linq2GraphQL.TestClientNullable/Generated/Enums/CustomerStatus.cs
@@ -18,4 +18,7 @@ public enum CustomerStatus
Active,
[EnumMember(Value = "DISABLED")]
Disabled,
+ [Obsolete("No longer in use, please use enum value Active instead")]
+ [EnumMember(Value = "IN_TRANSIT")]
+ InTransit,
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs
index d1a8efa0..7138e3cf 100644
--- a/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs
+++ b/test/Linq2GraphQL.TestClientNullable/Generated/Inputs/OrderInput.cs
@@ -63,4 +63,13 @@ public TimeSpan? EntryTime
set => SetValue("entryTime", value);
}
+ [Obsolete("This propery is obsolete and should not be used!")]
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public string? Grade
+ {
+ get => GetValue("grade");
+ set => SetValue("grade", value);
+ }
+
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs
index a72eeb52..326b2611 100644
--- a/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs
+++ b/test/Linq2GraphQL.TestClientNullable/Generated/Types/Order.cs
@@ -17,6 +17,13 @@ namespace Linq2GraphQL.TestClientNullable;
public static class OrderExtensions
{
+ [GraphQLMember("myGradeMethod")]
+ [Obsolete("This method should not be used anymore")]
+ public static string? MyGradeMethod(this Order order, [GraphQLArgument("name", "String!")] string name)
+ {
+ return order.GetMethodValue("myGradeMethod", name);
+ }
+
[GraphQLMember("orderHello")]
public static string OrderHello(this Order order, [GraphQLArgument("name", "String!")] string name, [GraphQLArgument("first", "Int!")] int first)
{
@@ -33,6 +40,13 @@ public static Address OrderAddress(this Order order, [GraphQLArgument("addressT
public partial class Order : GraphQLTypeBase
{
+ private LazyProperty _myGradeMethod = new();
+ ///
+ /// Do not use in Query, only to retrive result
+ ///
+ [Obsolete("This method should not be used anymore")]
+ public string? MyGradeMethod => _myGradeMethod.Value(() => GetFirstMethodValue("myGradeMethod"));
+
private LazyProperty _orderHello = new();
///
/// Do not use in Query, only to retrive result
@@ -69,4 +83,9 @@ public partial class Order : GraphQLTypeBase
[JsonPropertyName("entryTime")]
public TimeSpan? EntryTime { get; set; }
+ [Obsolete("This propery is obsolete and should not be used!")]
+ [GraphQLMember("grade")]
+ [JsonPropertyName("grade")]
+ public string? Grade { get; set; }
+
}
diff --git a/test/Linq2GraphQL.TestServer.Shared/Models/CustomerStatus.cs b/test/Linq2GraphQL.TestServer.Shared/Models/CustomerStatus.cs
index a6db3d15..9f39b53d 100644
--- a/test/Linq2GraphQL.TestServer.Shared/Models/CustomerStatus.cs
+++ b/test/Linq2GraphQL.TestServer.Shared/Models/CustomerStatus.cs
@@ -3,5 +3,7 @@
public enum CustomerStatus
{
Active = 0,
- Disabled = 1
+ Disabled = 1,
+ [Obsolete("No longer in use, please use enum value Active instead")]
+ InTransit = 99
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.TestServer.Shared/Models/Order.cs b/test/Linq2GraphQL.TestServer.Shared/Models/Order.cs
index 6375c03b..0e63ccab 100644
--- a/test/Linq2GraphQL.TestServer.Shared/Models/Order.cs
+++ b/test/Linq2GraphQL.TestServer.Shared/Models/Order.cs
@@ -15,6 +15,16 @@ public Order(Customer customer)
public List Lines { get; set; } = new();
public TimeOnly? EntryTime { get; set; }
+ [Obsolete("This propery is obsolete and should not be used!")]
+ public string? Grade { get; set; }
+
+
+ [Obsolete("This method should not be used anymore")]
+ public string? GetMyGradeMethod(string name)
+ {
+ return Grade;
+ }
+
public string GetOrderHello(string name, int first = 0)
{
return $"Hello, {name} [{first}]";
diff --git a/test/Linq2GraphQL.TestServerNullable/Query.cs b/test/Linq2GraphQL.TestServerNullable/Query.cs
index b2254701..aa91274a 100644
--- a/test/Linq2GraphQL.TestServerNullable/Query.cs
+++ b/test/Linq2GraphQL.TestServerNullable/Query.cs
@@ -12,6 +12,11 @@ public Item GetItem()
return SampleData.GetItem("Test Item");
}
+ [Obsolete("This is an really old method! please d not use it!!")]
+ public Item GetItemDraft()
+ {
+ return SampleData.GetItem("Test Item");
+ }
public List GetCustomerList()
{