-
Notifications
You must be signed in to change notification settings - Fork 197
Expand file tree
/
Copy pathparams.twig
More file actions
33 lines (31 loc) · 1.71 KB
/
params.twig
File metadata and controls
33 lines (31 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
api_params = {}
{% if method.parameters.all | length %}
{% for parameter in method.parameters.all %}
{% if parameter.required and not parameter.nullable %}
if {{ parameter.name | escapeKeyword | caseSnake }} is None:
raise {{spec.title | caseUcfirst}}Exception('Missing required parameter: "{{ parameter.name | escapeKeyword | caseSnake }}"')
{% endif %}
{% endfor %}
{% for parameter in method.parameters.path %}
api_path = api_path.replace('{{ '{' }}{{ parameter.name | caseCamel }}{{ '}' }}', str(self._normalize_value({{ parameter.name | escapeKeyword | caseSnake }})))
{% endfor %}
{% for parameter in method.parameters.query %}
{% if not parameter.nullable and not parameter.required %}
if {{ parameter.name | escapeKeyword | caseSnake }} is not None:
api_params['{{ parameter.name }}'] = self._normalize_value({{ parameter.name | escapeKeyword | caseSnake }})
{% else %}
api_params['{{ parameter.name }}'] = self._normalize_value({{ parameter.name | escapeKeyword | caseSnake }})
{% endif %}
{% endfor %}
{% for parameter in method.parameters.body|merge(method.parameters.formData|default([])) %}
{% set paramName = parameter.name | escapeKeyword | caseSnake %}
{% set isMultipart = method.consumes|length > 0 and method.consumes[0] == "multipart/form-data" %}
{% set formattedValue = paramName | formatParamValue(parameter.type, isMultipart) %}
{% if not parameter.nullable and not parameter.required %}
if {{ paramName }} is not None:
api_params['{{ parameter.name }}'] = self._normalize_value({{ formattedValue }})
{% else %}
api_params['{{ parameter.name }}'] = self._normalize_value({{ formattedValue }})
{% endif %}
{% endfor %}
{% endif %}