|
1 | 1 | from ..service import Service |
2 | | - |
| 2 | +from ..exception import AppwriteException |
3 | 3 |
|
4 | 4 | class {{ service.name | caseUcfirst }}(Service): |
5 | 5 |
|
6 | 6 | def __init__(self, client): |
7 | 7 | super({{ service.name | caseUcfirst }}, self).__init__(client) |
8 | 8 | {% for method in service.methods %} |
9 | 9 |
|
10 | | - def {{ method.name | caseSnake }}(self{% if method.parameters.all|length > 0 %}, {% endif %}{% for parameter in method.parameters.all %}{{ parameter.name | escapeKeyword | caseSnake }}{{ parameter | paramDefault }}{% if not loop.last %}, {% endif %}{% endfor %}): |
| 10 | + def {{ method.name | caseSnake }}(self{% if method.parameters.all|length > 0 %}, {% endif %}{% for parameter in method.parameters.all %}{{ parameter.name | escapeKeyword | caseSnake }}{% if not parameter.required %} = None{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}): |
11 | 11 | {% if method.title %} |
12 | 12 | """{{ method.title }}""" |
13 | 13 |
|
14 | 14 | {% endif %} |
| 15 | +{% for parameter in method.parameters.all %} |
| 16 | +{% if parameter.required %} |
| 17 | + if {{ parameter.name | escapeKeyword | caseSnake }} is None: |
| 18 | + raise {{spec.title | caseUcfirst}}Exception('Missing required parameter: "{{ parameter.name | caseSnake }}"') |
| 19 | + |
| 20 | +{% endif %} |
| 21 | +{% endfor %} |
15 | 22 | params = {} |
16 | 23 | path = '{{ method.path }}' |
17 | 24 | {% for parameter in method.parameters.path %} |
18 | 25 | path = path.replace('{{ '{' }}{{ parameter.name | caseCamel }}{{ '}' }}', {{ parameter.name | escapeKeyword | caseSnake }}) |
19 | 26 | {% endfor %} |
| 27 | + |
20 | 28 | {% for parameter in method.parameters.query %} |
21 | | - params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
| 29 | + if {{ parameter.name | escapeKeyword | caseSnake }} is not None: |
| 30 | + params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
| 31 | + |
22 | 32 | {% endfor %} |
23 | 33 | {% for parameter in method.parameters.body %} |
24 | | - params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
| 34 | + if {{ parameter.name | escapeKeyword | caseSnake }} is not None: |
| 35 | + params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
| 36 | + |
25 | 37 | {% endfor %} |
26 | 38 | {% for parameter in method.parameters.formData %} |
27 | | - params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
28 | | -{% endfor %} |
| 39 | + if {{ parameter.name | escapeKeyword | caseSnake }} is not None: |
| 40 | + params['{{ parameter.name }}'] = {{ parameter.name | escapeKeyword | caseSnake }} |
29 | 41 |
|
| 42 | +{% endfor %} |
30 | 43 | return self.client.call('{{ method.method | caseLower }}', path, { |
31 | 44 | {% for parameter in method.parameters.header %} |
32 | 45 | '{{ parameter.name }}': {{ parameter.name | escapeKeyword | caseSnake }}, |
|
0 commit comments