Skip to content

Commit 804da12

Browse files
Goregiusdariuszkuc
authored andcommitted
Restructured configuration properties to work properly with kapt (#556)
* Replaced annotation processor to kapt * Restructured GraphQLConfigurationProperties.kt to work properly with kapt Added generated spring-configuration-metadata.json to sources * Fixed reference to SubscriptionConfigurationProperties * Removed spring configuration metadata as kapt generates this
1 parent e9780fb commit 804da12

File tree

2 files changed

+37
-42
lines changed

2 files changed

+37
-42
lines changed

graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/spring/GraphQLConfigurationProperties.kt

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -33,46 +33,42 @@ data class GraphQLConfigurationProperties(
3333
val subscriptions: SubscriptionConfigurationProperties = SubscriptionConfigurationProperties(),
3434
val playground: PlaygroundConfigurationProperties = PlaygroundConfigurationProperties(),
3535
val sdl: SDLConfigurationProperties = SDLConfigurationProperties()
36-
)
36+
) {
37+
/**
38+
* Apollo Federation configuration properties.
39+
*/
40+
data class FederationConfigurationProperties(
41+
/** Boolean flag indicating whether to generate federated GraphQL model */
42+
val enabled: Boolean = false
43+
)
3744

38-
/**
39-
* Apollo Federation configuration properties.
40-
*/
41-
@ConstructorBinding
42-
data class FederationConfigurationProperties(
43-
/** Boolean flag indicating whether to generate federated GraphQL model */
44-
val enabled: Boolean = false
45-
)
45+
/**
46+
* GraphQL subscription configuration properties.
47+
*/
48+
data class SubscriptionConfigurationProperties(
49+
/** GraphQL subscriptions endpoint, defaults to 'subscriptions' */
50+
val endpoint: String = "subscriptions",
51+
/** Keep the websocket alive and send a message to the client every interval in ms. Default to not sending messages */
52+
val keepAliveInterval: Long? = null
53+
)
4654

47-
/**
48-
* GraphQL subscription configuration properties.
49-
*/
50-
@ConstructorBinding
51-
data class SubscriptionConfigurationProperties(
52-
/** GraphQL subscriptions endpoint, defaults to 'subscriptions' */
53-
val endpoint: String = "subscriptions",
54-
/** Keep the websocket alive and send a message to the client every interval in ms. Default to not sending messages */
55-
val keepAliveInterval: Long? = null
56-
)
55+
/**
56+
* Playground configuration properties.
57+
*/
58+
data class PlaygroundConfigurationProperties(
59+
/** Boolean flag indicating whether to enabled Prisma Labs Playground GraphQL IDE */
60+
val enabled: Boolean = true,
61+
/** Prisma Labs Playground GraphQL IDE endpoint, defaults to 'playground' */
62+
val endpoint: String = "playground"
63+
)
5764

58-
/**
59-
* Playground configuration properties.
60-
*/
61-
@ConstructorBinding
62-
data class PlaygroundConfigurationProperties(
63-
/** Boolean flag indicating whether to enabled Prisma Labs Playground GraphQL IDE */
64-
val enabled: Boolean = true,
65-
/** Prisma Labs Playground GraphQL IDE endpoint, defaults to 'playground' */
66-
val endpoint: String = "playground"
67-
)
68-
69-
/**
70-
* SDL endpoint configuration properties.
71-
*/
72-
@ConstructorBinding
73-
data class SDLConfigurationProperties(
74-
/** Boolean flag indicating whether SDL endpoint is enabled */
75-
val enabled: Boolean = true,
76-
/** GraphQL SDL endpoint */
77-
val endpoint: String = "sdl"
78-
)
65+
/**
66+
* SDL endpoint configuration properties.
67+
*/
68+
data class SDLConfigurationProperties(
69+
/** Boolean flag indicating whether SDL endpoint is enabled */
70+
val enabled: Boolean = true,
71+
/** GraphQL SDL endpoint */
72+
val endpoint: String = "sdl"
73+
)
74+
}

graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/spring/context/ContextWebFilterTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package com.expediagroup.graphql.spring.context
1818

1919
import com.expediagroup.graphql.spring.GraphQLConfigurationProperties
20-
import com.expediagroup.graphql.spring.SubscriptionConfigurationProperties
2120
import com.expediagroup.graphql.spring.execution.ContextWebFilter
2221
import com.expediagroup.graphql.spring.execution.GRAPHQL_CONTEXT_KEY
2322
import com.expediagroup.graphql.spring.execution.GraphQLContextFactory
@@ -118,7 +117,7 @@ class ContextWebFilterTest {
118117
val props = GraphQLConfigurationProperties(
119118
endpoint = graphQLRoute,
120119
packages = listOf("com.expediagroup.graphql"),
121-
subscriptions = SubscriptionConfigurationProperties(endpoint = subscriptionRoute))
120+
subscriptions = GraphQLConfigurationProperties.SubscriptionConfigurationProperties(endpoint = subscriptionRoute))
122121

123122
val contextFilter = ContextWebFilter(props, mockk())
124123
for (path in listOf("/${graphQLRoute.toLowerCase()}", "/${subscriptionRoute.toLowerCase()}")) {

0 commit comments

Comments
 (0)