@@ -7,20 +7,38 @@ import com.ctrlhub.core.datacapture.response.FormSchemaLatestMeta
7
7
import com.ctrlhub.core.datacapture.response.FormSchemaMeta
8
8
import com.ctrlhub.core.extractPaginationFromMeta
9
9
import com.ctrlhub.core.router.Router
10
+ import com.ctrlhub.core.router.request.FilterOption
11
+ import com.ctrlhub.core.router.request.JsonApiIncludes
10
12
import com.ctrlhub.core.router.request.RequestParameters
13
+ import com.ctrlhub.core.router.request.RequestParametersWithIncludes
11
14
import io.ktor.client.HttpClient
12
15
import io.ktor.client.call.body
13
16
import kotlinx.serialization.json.*
14
17
import java.time.LocalDateTime
15
18
import java.time.ZonedDateTime
16
19
import java.time.format.DateTimeFormatter
17
20
21
+ enum class FormSchemaIncludes (val value : String ) : JsonApiIncludes {
22
+ Xsources (" x-sources" );
23
+
24
+ override fun value (): String {
25
+ return value
26
+ }
27
+ }
28
+
29
+ class FormSchemaRequestParameters (
30
+ offset : Int = 0 ,
31
+ limit : Int = 100 ,
32
+ filterOptions : List <FilterOption > = emptyList(),
33
+ includes : List <FormSchemaIncludes > = emptyList()
34
+ ) : RequestParametersWithIncludes<FormSchemaIncludes>()
35
+
18
36
class FormSchemasRouter (httpClient : HttpClient ) : Router(httpClient) {
19
37
20
38
suspend fun all (
21
39
organisationId : String ,
22
40
formId : String ,
23
- requestParameters : RequestParameters = RequestParameters ()
41
+ requestParameters : FormSchemaRequestParameters = FormSchemaRequestParameters ()
24
42
): PaginatedList <FormSchema > {
25
43
val endpoint = " /v3/orgs/$organisationId /data-capture/forms/$formId /schemas"
26
44
@@ -42,7 +60,7 @@ class FormSchemasRouter(httpClient: HttpClient) : Router(httpClient) {
42
60
organisationId : String ,
43
61
formId : String ,
44
62
schemaId : String ,
45
- requestParameters : RequestParameters = RequestParameters ()
63
+ requestParameters : FormSchemaRequestParameters = FormSchemaRequestParameters ()
46
64
): FormSchema {
47
65
val endpoint = " /v3/orgs/$organisationId /data-capture/forms/$formId /schemas/$schemaId "
48
66
0 commit comments