Fix OpenAPI definition for request body of upload endpoints and eliminate slices by passing the whole content into the partial

This commit is contained in:
Johannes Marbach 2024-06-19 08:26:56 +02:00
parent eeca7afc3c
commit 23393ad849
4 changed files with 11 additions and 36 deletions

View file

@ -712,8 +712,9 @@ components:
bytes:
content:
application/octet-stream:
example: <bytes>
description: The content to be uploaded.
schema:
description: The content to be uploaded.
example: <bytes>
required: true
responses:
uploadTooLarge:

View file

@ -3,17 +3,11 @@
Render a table showing content types and their descriptions, given
two arrays with equal length:
* `content_types`: the content type strings
* `descriptions`: the description strings
* `added_in`: the "added in" version
* `changed_in`: the "changed in" dictionary
* `content_types`: OpenAPI data specifying the content types
*/}}
{{ $content_types := .content_types }}
{{ $descriptions := .descriptions}}
{{ $added_in := .added_in}}
{{ $changed_in := .changed_in}}
{{ if (gt (len $content_types) 0) }}
@ -22,13 +16,13 @@
<th class="col-name">Content-Type</th>
<th class="col-description">Description</th>
</thead>
{{ range $idx, $content_type := $content_types }}
{{ range $mime, $body := $content_types }}
<tr>
<td><code>{{ $content_type }}</code></td>
<td><code>{{ $mime }}</code></td>
<td>
{{ index $descriptions $idx | markdownify -}}
{{ if (index $added_in $idx) }}{{ partial "added-in" (dict "v" (index $added_in $idx)) }}{{ end -}}
{{ if (index $changed_in $idx) }}{{ partial "changed-in" (dict "changes_dict" (index $changed_in $idx)) }}{{ end -}}
{{ $body.schema.description | markdownify -}}
{{ if (index $body.schema "x-addedInMatrixVersion") }}{{ partial "added-in" (dict "v" (index $body.schema "x-addedInMatrixVersion")) }}{{ end -}}
{{ if (index $body.schema "x-changedInMatrixVersion") }}{{ partial "changed-in" (dict "changes_dict" (index $body.schema "x-changedInMatrixVersion")) }}{{ end -}}
</td>
</tr>
{{ end }}

View file

@ -50,17 +50,7 @@
{{/*
Show the content types and description.
*/}}
{{ $mimes := slice }}
{{ $descriptions := slice }}
{{ $added_in := slice }}
{{ $changed_in := slice }}
{{ range $mime, $body := $request_body.content }}
{{ $mimes = $mimes | append $mime }}
{{ $descriptions = $descriptions | append $request_body.description }}
{{ $added_in = $added_in | append (index $request_body "x-addedInMatrixVersion") }}
{{ $changed_in = $changed_in | append (index $request_body "x-changedInMatrixVersion") }}
{{ end }}
{{ partial "openapi/render-content-type" (dict "content_types" $mimes "descriptions" $descriptions "added_in" $added_in "changed_in" $changed_in) }}
{{ partial "openapi/render-content-type" (dict "content_types" $request_body.content) }}
{{ end }}
<h3>Request body example</h3>

View file

@ -121,17 +121,7 @@
{{/*
Show the content types and description.
*/}}
{{ $mimes := slice }}
{{ $descriptions := slice }}
{{ $added_in := slice }}
{{ $changed_in := slice }}
{{ range $mime, $body := $response.content }}
{{ $mimes = $mimes | append $mime }}
{{ $descriptions = $descriptions | append $body.schema.description }}
{{ $added_in = $added_in | append (index $body.schema "x-addedInMatrixVersion") }}
{{ $changed_in = $changed_in | append (index $body.schema "x-changedInMatrixVersion") }}
{{ end }}
{{ partial "openapi/render-content-type" (dict "content_types" $mimes "descriptions" $descriptions "added_in" $added_in "changed_in" $changed_in) }}
{{ partial "openapi/render-content-type" (dict "content_types" $response.content) }}
{{ end }}
{{ end }}
{{ end }}