@@ -7,20 +7,38 @@ import com.ctrlhub.core.datacapture.response.FormSchemaLatestMeta
77import com.ctrlhub.core.datacapture.response.FormSchemaMeta
88import com.ctrlhub.core.extractPaginationFromMeta
99import com.ctrlhub.core.router.Router
10+ import com.ctrlhub.core.router.request.FilterOption
11+ import com.ctrlhub.core.router.request.JsonApiIncludes
1012import com.ctrlhub.core.router.request.RequestParameters
13+ import com.ctrlhub.core.router.request.RequestParametersWithIncludes
1114import io.ktor.client.HttpClient
1215import io.ktor.client.call.body
1316import kotlinx.serialization.json.*
1417import java.time.LocalDateTime
1518import java.time.ZonedDateTime
1619import java.time.format.DateTimeFormatter
1720
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+
1836class FormSchemasRouter (httpClient : HttpClient ) : Router(httpClient) {
1937
2038 suspend fun all (
2139 organisationId : String ,
2240 formId : String ,
23- requestParameters : RequestParameters = RequestParameters ()
41+ requestParameters : FormSchemaRequestParameters = FormSchemaRequestParameters ()
2442 ): PaginatedList <FormSchema > {
2543 val endpoint = " /v3/orgs/$organisationId /data-capture/forms/$formId /schemas"
2644
@@ -42,7 +60,7 @@ class FormSchemasRouter(httpClient: HttpClient) : Router(httpClient) {
4260 organisationId : String ,
4361 formId : String ,
4462 schemaId : String ,
45- requestParameters : RequestParameters = RequestParameters ()
63+ requestParameters : FormSchemaRequestParameters = FormSchemaRequestParameters ()
4664 ): FormSchema {
4765 val endpoint = " /v3/orgs/$organisationId /data-capture/forms/$formId /schemas/$schemaId "
4866
0 commit comments