Skip to content

Commit 9b9c6cf

Browse files
committed
Handle multipart/form-data in graphql examples
1 parent 48445da commit 9b9c6cf

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

templates/graphql/docs/example.md.twig

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,45 @@
1+
{% for key,header in method.headers %}
2+
{% if header == 'multipart/form-data' %}
3+
{% set boundary = random() %}
4+
{{ method.method | caseUpper }} {{spec.basePath}}{{ method.path }} HTTP/1.1
5+
Host: {{ spec.host }}
6+
{% for key, header in method.headers %}
7+
{{ key | caseUcwords }}: {{ header }}{% if header == 'multipart/form-data' %}; boundary="{{boundary}}"{% endif ~%}
8+
{% endfor %}
9+
{% for key,header in spec.global.defaultHeaders %}
10+
{{ key }}: {{ header }}
11+
{% endfor %}
12+
{% for node in method.security %}
13+
{% for key,header in node | keys %}
14+
{{ node[header]['name'] }}: {{ node[header]['x-appwrite']['demo'] }}
15+
{% endfor %}
16+
{% endfor %}
17+
Content-Length: *Length of your entity body in bytes*
18+
19+
--{{boundary}}
20+
Content-Disposition: form-data; name="operations"
21+
22+
{ "query": "mutation { {{ service.name | caseCamel }}{{ method.name | caseCamel | caseUcfirst }}({% for parameter in method.parameters.all | filter(p => p.required) %}{{ parameter.name | caseCamel }}: ${{ parameter.name | caseCamel }}{% if not loop.last %}, {% endif %}{% endfor %}) { id }" }, "variables": { {% for parameter in method.parameters.all | filter(p => p.required) %}"{{ parameter.name | caseCamel }}": {{ parameter | paramExample }}{% if not loop.last %}, {% endif %}{% endfor %} } }
23+
24+
--{{boundary}}
25+
Content-Disposition: form-data; name="map"
26+
27+
{% set counter = 0 %}
28+
{ {% for parameter in method.parameters.all | filter(p => p.required) %}{% if parameter.type == 'file' %}"{{ counter }}": ["variables.{{ parameter.name | caseCamel }}"]{% if not loop.last %}, {% endif %}{% set counter = counter + 1 %}{% endif %}{% endfor %} }
29+
30+
{% set counter = 0 %}
31+
{% for parameter in method.parameters.all | filter(p => p.required) %}
32+
{% if parameter.type == 'file' %}
33+
--{{ boundary }}
34+
Content-Disposition: form-data; name="{{ counter }}"; filename="{{ parameter.name }}.ext"
35+
36+
File contents
37+
38+
{% set counter = counter + 1 %}
39+
{% endif %}
40+
{% endfor %}
41+
--{{boundary}}--
42+
{% else %}
143
{%~ if method.method == 'get' %}
244
query {
345
{%~ else %}
@@ -25,4 +67,6 @@ mutation {
2567
{%~ endfor %}
2668
{%~ endif %}
2769
}
28-
}
70+
}
71+
{% endif %}
72+
{% endfor %}

0 commit comments

Comments
 (0)