| import "@typespec/http"; |
| import "@typespec/rest"; |
| import "@typespec/openapi"; |
| import "@typespec/openapi3"; |
| import "./common/parameters.tsp"; |
|
|
| using TypeSpec.Http; |
| using TypeSpec.OpenAPI; |
|
|
| @service(#{ title: "Filter Test API" }) |
| @info(#{ version: "1.0.0" }) |
| namespace Test; |
|
|
| |
| * Field filters with all supported types. |
| */ |
| @friendlyName("FieldFilters") |
| model FieldFilters { |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| boolean?: Common.BooleanFieldFilter; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| numeric?: Common.NumericFieldFilter; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| string?: Common.StringFieldFilter; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| string_exact?: Common.StringFieldFilterExact; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| ulid?: Common.ULIDFieldFilter; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| datetime?: Common.DateTimeFieldFilter; |
| #suppress "@openmeter/api-spec-aip/doc-decorator" "test model" |
| labels?: Common.LabelsFieldFilter; |
| } |
|
|
| @route("/field-filters") |
| interface FieldFiltersEndpoints { |
| @get |
| @operationId("get-field-filters-with-all-supported-types") |
| @summary("Field filters") |
| getFieldFilters( |
| @query(#{ style: "deepObject", explode: true }) |
| filter?: FieldFilters, |
| ): void; |
| } |
|
|