Skip to content

Commit b4fa5f2

Browse files
committed
Support form requirements directly on an operation response
1 parent 84f3122 commit b4fa5f2

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/main/kotlin/com/ctrlhub/core/projects/operations/OperationsRouter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import com.ctrlhub.core.router.request.RequestParametersWithIncludes
1414
import io.ktor.client.HttpClient
1515

1616
enum class OperationIncludes(val value: String) : JsonApiIncludes {
17-
Template("template");
17+
Template("template"),
18+
Forms("forms");
1819

1920
override fun value(): String {
2021
return value

src/main/kotlin/com/ctrlhub/core/projects/operations/response/Operation.kt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ class Operation @JsonCreator constructor(
2222
@JsonProperty("description") var description: String? = "",
2323
@JsonProperty("dates") var dates: OperationDates? = null,
2424

25+
@JsonProperty("requirements")
26+
val requirements: OperationRequirements? = null,
27+
2528
@JsonProperty("labels")
2629
var labels: List<Label> = emptyList(),
2730

@@ -50,4 +53,15 @@ data class OperationDates(
5053
data class OperationScheduledDates(
5154
val start: LocalDateTime? = null,
5255
var end: LocalDateTime? = null,
53-
)
56+
)
57+
58+
@JsonIgnoreProperties(ignoreUnknown = true)
59+
data class OperationRequirements(
60+
val forms: java.util.List<OperationFormRequirement>? = null,
61+
)
62+
63+
data class OperationFormRequirement(
64+
@JsonProperty("id") val formId: String,
65+
@JsonProperty("required") val required: Boolean
66+
)
67+

0 commit comments

Comments
 (0)