mirror of
https://github.com/matrix-org/matrix-spec
synced 2025-12-27 19:38:37 +01:00
Any endpoint in a CS API module was not getting listed. This is because they are stored in nested pages. We need to hoist them up to the outer page, such that they can be retrieved and rendered by our endpoints TOC partial.
58 lines
1.7 KiB
HTML
58 lines
1.7 KiB
HTML
{{/*
|
|
|
|
Render an HTTP API, given:
|
|
|
|
* `api_data`: the OpenAPI data
|
|
* `base_url`: the base URL: that is, the part we glue onto the front
|
|
of each value in `paths` to get a complete URL.
|
|
* `anchor_base`: an optional prefix for the HTML IDs generated by
|
|
this template.
|
|
|
|
This template replaces the old {{*_http_api}} template.
|
|
|
|
*/}}
|
|
|
|
{{ $api_data := index .api_data }}
|
|
{{ $base_url := .base_url }}
|
|
{{ $anchor_base := .anchor_base }}
|
|
{{ $page := .page }}
|
|
{{ $module := .module }}
|
|
|
|
{{ range $path_name, $path_data := $api_data.paths }}
|
|
|
|
{{ $endpoint := delimit (slice $base_url $path_name ) "" }}
|
|
|
|
{{/* note that a `paths` entry can be a $ref */}}
|
|
|
|
{{ $params := dict "endpoint" $endpoint }}
|
|
|
|
{{ with $path_data.get }}
|
|
|
|
{{ $operation_params := merge $params (dict "method" "GET" "operation_data" . "anchor_base" $anchor_base "page" $page "module" $module) }}
|
|
{{ partial "openapi/render-operation" $operation_params }}
|
|
|
|
{{ end }}
|
|
|
|
{{ with $path_data.post }}
|
|
|
|
{{ $operation_params := merge $params (dict "method" "POST" "operation_data" . "anchor_base" $anchor_base "page" $page "module" $module) }}
|
|
{{ partial "openapi/render-operation" $operation_params }}
|
|
|
|
{{ end }}
|
|
|
|
{{ with $path_data.put }}
|
|
|
|
{{ $operation_params := merge $params (dict "method" "PUT" "operation_data" . "anchor_base" $anchor_base "page" $page "module" $module) }}
|
|
{{ partial "openapi/render-operation" $operation_params }}
|
|
|
|
{{ end }}
|
|
|
|
{{ with $path_data.delete }}
|
|
|
|
{{ $operation_params := merge $params (dict "method" "DELETE" "operation_data" . "anchor_base" $anchor_base "page" $page "module" $module) }}
|
|
{{ partial "openapi/render-operation" $operation_params }}
|
|
|
|
{{ end }}
|
|
|
|
{{ end }}
|