Skip to content

Commit 1fd4289

Browse files
Merge branch 'master' of https://github.com/appwrite/sdk-generator into fix-deno-overall-improvements
2 parents fd90c55 + 490cd43 commit 1fd4289

File tree

2 files changed

+36
-12
lines changed

2 files changed

+36
-12
lines changed

templates/python/package/services/service.py.twig

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,45 @@
11
from ..service import Service
2-
2+
from ..exception import AppwriteException
33

44
class {{ service.name | caseUcfirst }}(Service):
55

66
def __init__(self, client):
77
super({{ service.name | caseUcfirst }}, self).__init__(client)
88
{% for method in service.methods %}
99

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 %}):
1111
{% if method.title %}
1212
"""{{ method.title }}"""
1313

1414
{% 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 %}
1522
params = {}
1623
path = '{{ method.path }}'
1724
{% for parameter in method.parameters.path %}
1825
path = path.replace('{{ '{' }}{{ parameter.name | caseCamel }}{{ '}' }}', {{ parameter.name | escapeKeyword | caseSnake }})
1926
{% endfor %}
27+
2028
{% 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+
2232
{% endfor %}
2333
{% 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+
2537
{% endfor %}
2638
{% 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 }}
2941

42+
{% endfor %}
3043
return self.client.call('{{ method.method | caseLower }}', path, {
3144
{% for parameter in method.parameters.header %}
3245
'{{ parameter.name }}': {{ parameter.name | escapeKeyword | caseSnake }},

templates/ruby/lib/container/services/service.rb.twig

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,34 @@ module {{spec.title | caseUcfirst}}
22
class {{ service.name | caseUcfirst }} < Service
33

44
{% for method in service.methods %}
5-
def {{ method.name | caseSnake }}({% for parameter in method.parameters.all %}{{ parameter.name | caseSnake }}{{ parameter | paramDefault }}{% if not loop.last %}, {% endif %}{% endfor %})
5+
def {{ method.name | caseSnake }}({% for parameter in method.parameters.all %}{{ parameter.name | caseSnake }}:{% if not parameter.required %} nil{% endif %}{% if not loop.last %}, {% endif %}{% endfor %})
6+
{% for parameter in method.parameters.all %}
7+
{% if parameter.required %}
8+
if {{ parameter.name | caseSnake }}.nil?
9+
raise {{spec.title | caseUcfirst}}::Exception.new('Missing required parameter: "{{ parameter.name | caseCamel }}"')
10+
end
11+
12+
{% endif %}
13+
{% endfor %}
614
path = '{{ method.path }}'
715
{% for parameter in method.parameters.path %}
816
.gsub('{{ '{' }}{{ parameter.name }}{{ '}' }}', {{ parameter.name | caseSnake }})
917
{% endfor %}
1018

11-
params = {
19+
params = {}
20+
1221
{% for parameter in method.parameters.query %}
13-
'{{ parameter.name }}': {{ parameter.name | caseSnake }}{% if not loop.last %}, {% endif %}
22+
if !{{ parameter.name | caseSnake }}.nil?
23+
params[:{{ parameter.name }}] = {{ parameter.name | caseSnake }}
24+
end
1425

1526
{% endfor %}
1627
{% for parameter in method.parameters.body %}
17-
'{{ parameter.name }}': {{ parameter.name | caseSnake }}{% if not loop.last %}, {% endif %}
28+
if !{{ parameter.name | caseSnake }}.nil?
29+
params[:{{ parameter.name }}] = {{ parameter.name | caseSnake }}
30+
end
1831

1932
{% endfor %}
20-
}
21-
2233
return @client.call('{{ method.method | caseLower }}', path, {
2334
{% for parameter in method.parameters.header %}
2435
'{{ parameter.name }}' => ${{ parameter.name | caseCamel }},

0 commit comments

Comments
 (0)