File tree Expand file tree Collapse file tree 10 files changed +57
-11
lines changed
plugins/client/graphql-kotlin-client-generator/src
main/kotlin/com/expediagroup/graphql/plugin/client/generator/types Expand file tree Collapse file tree 10 files changed +57
-11
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ import com.expediagroup.graphql.plugin.client.generator.extensions.findFragmentD
2323import com.squareup.kotlinpoet.ClassName
2424import com.squareup.kotlinpoet.FunSpec
2525import com.squareup.kotlinpoet.KModifier
26- import com.squareup.kotlinpoet.MemberName
26+ import com.squareup.kotlinpoet.MemberName.Companion.member
2727import com.squareup.kotlinpoet.ParameterSpec
2828import com.squareup.kotlinpoet.TypeSpec
2929import graphql.language.FragmentSpread
@@ -67,8 +67,7 @@ internal fun generateGraphQLObjectTypeSpec(
6767 val constructorParameter = ParameterSpec .builder(propertySpec.name, propertySpec.type)
6868 val className = propertySpec.type as ? ClassName
6969 if (className != null && context.enumClassToTypeSpecs.keys.contains(className)) {
70- val unknownValue = MemberName (className.packageName, " ${className.simpleName} .$UNKNOWN_VALUE " )
71- constructorParameter.defaultValue(" %M" , unknownValue)
70+ constructorParameter.defaultValue(" %T.%N" , className, className.member(UNKNOWN_VALUE ))
7271 }
7372 constructorBuilder.addParameter(constructorParameter.build())
7473 }
Original file line number Diff line number Diff line change 11query EnumQuery {
22 enumQuery
3+ otherEnumQuery
34}
Original file line number Diff line number Diff line change @@ -2,11 +2,11 @@ package com.expediagroup.graphql.generated
22
33import com.expediagroup.graphql.client.types.GraphQLClientRequest
44import com.expediagroup.graphql.generated.enums.CustomEnum
5- import com.expediagroup.graphql.generated.enums.CustomEnum.__UNKNOWN_VALUE
5+ import com.expediagroup.graphql.generated.enums.OtherEnum
66import kotlin.String
77import kotlin.reflect.KClass
88
9- public const val ENUM_QUERY : String = " query EnumQuery {\n enumQuery\n }"
9+ public const val ENUM_QUERY : String = " query EnumQuery {\n enumQuery\n otherEnumQuery \n }"
1010
1111public class EnumQuery : GraphQLClientRequest <EnumQuery .Result > {
1212 public override val query: String = ENUM_QUERY
@@ -19,6 +19,10 @@ public class EnumQuery : GraphQLClientRequest<EnumQuery.Result> {
1919 /* *
2020 * Query that returns enum value
2121 */
22- public val enumQuery : CustomEnum = CustomEnum .__UNKNOWN_VALUE
22+ public val enumQuery : CustomEnum = CustomEnum .__UNKNOWN_VALUE ,
23+ /* *
24+ * Query that returns other enum value
25+ */
26+ public val otherEnumQuery : OtherEnum = OtherEnum .__UNKNOWN_VALUE
2327 )
2428}
Original file line number Diff line number Diff line change 1+ package com.expediagroup.graphql.generated.enums
2+
3+ import com.fasterxml.jackson.`annotation`.JsonEnumDefaultValue
4+
5+ /* *
6+ * Other enum description
7+ */
8+ public enum class OtherEnum {
9+ FIRST ,
10+ SECOND ,
11+ /* *
12+ * This is a default enum value that will be used when attempting to deserialize unknown value.
13+ */
14+ @JsonEnumDefaultValue
15+ __UNKNOWN_VALUE ,
16+ }
Original file line number Diff line number Diff line change 11query EnumQuery {
22 enumQuery
3+ otherEnumQuery
34}
Original file line number Diff line number Diff line change @@ -2,12 +2,12 @@ package com.expediagroup.graphql.generated
22
33import com.expediagroup.graphql.client.types.GraphQLClientRequest
44import com.expediagroup.graphql.generated.enums.CustomEnum
5- import com.expediagroup.graphql.generated.enums.CustomEnum.__UNKNOWN_VALUE
5+ import com.expediagroup.graphql.generated.enums.OtherEnum
66import kotlin.String
77import kotlin.reflect.KClass
88import kotlinx.serialization.Serializable
99
10- public const val ENUM_QUERY : String = " query EnumQuery {\n enumQuery\n }"
10+ public const val ENUM_QUERY : String = " query EnumQuery {\n enumQuery\n otherEnumQuery \n }"
1111
1212@Serializable
1313public class EnumQuery : GraphQLClientRequest <EnumQuery .Result > {
@@ -22,6 +22,10 @@ public class EnumQuery : GraphQLClientRequest<EnumQuery.Result> {
2222 /* *
2323 * Query that returns enum value
2424 */
25- public val enumQuery : CustomEnum = CustomEnum .__UNKNOWN_VALUE
25+ public val enumQuery : CustomEnum = CustomEnum .__UNKNOWN_VALUE ,
26+ /* *
27+ * Query that returns other enum value
28+ */
29+ public val otherEnumQuery : OtherEnum = OtherEnum .__UNKNOWN_VALUE
2630 )
2731}
Original file line number Diff line number Diff line change 1+ package com.expediagroup.graphql.generated.enums
2+
3+ import kotlinx.serialization.Serializable
4+
5+ /* *
6+ * Other enum description
7+ */
8+ @Serializable
9+ public enum class OtherEnum {
10+ FIRST ,
11+ SECOND ,
12+ /* *
13+ * This is a default enum value that will be used when attempting to deserialize unknown value.
14+ */
15+ __UNKNOWN_VALUE ,
16+ }
Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ package com.expediagroup.graphql.generated
22
33import com.expediagroup.graphql.client.types.GraphQLClientRequest
44import com.expediagroup.graphql.generated.enums.CustomEnum
5- import com.expediagroup.graphql.generated.enums.CustomEnum.__UNKNOWN_VALUE
65import com.expediagroup.graphql.generated.firstquery.BasicInterface
76import com.expediagroup.graphql.generated.firstquery.ComplexObject
87import com.expediagroup.graphql.generated.firstquery.ScalarWrapper
Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ package com.expediagroup.graphql.generated
22
33import com.expediagroup.graphql.client.types.GraphQLClientRequest
44import com.expediagroup.graphql.generated.enums.CustomEnum
5- import com.expediagroup.graphql.generated.enums.CustomEnum.__UNKNOWN_VALUE
65import com.expediagroup.graphql.generated.inputs.ComplexArgumentInput
76import com.expediagroup.graphql.generated.secondquery.BasicInterface
87import com.expediagroup.graphql.generated.secondquery.ComplexObject
Original file line number Diff line number Diff line change @@ -92,6 +92,8 @@ type Query {
9292 deprecatedQuery : String ! @deprecated (reason : " old query should not be used" )
9393 "Query that returns enum value"
9494 enumQuery : CustomEnum !
95+ "Query that returns other enum value"
96+ otherEnumQuery : OtherEnum !
9597 "Query that accepts some input arguments"
9698 inputObjectQuery (criteria : SimpleArgumentInput ! ): Boolean !
9799 "Query returning an interface"
@@ -147,6 +149,11 @@ enum CustomEnum {
147149 "Lowercase enum value"
148150 four
149151}
152+ "Other enum description"
153+ enum OtherEnum {
154+ FIRST ,
155+ SECOND
156+ }
150157"Custom scalar representing UUID"
151158scalar UUID
152159"Test input object"
You can’t perform that action at this time.
0 commit comments