Skip to content

Commit 409e9a6

Browse files
Merge pull request #502 from appwrite/feat-remove-service-param
Remove service level param support
2 parents a937e61 + 5ab956b commit 409e9a6

File tree

48 files changed

+164
-307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+164
-307
lines changed

composer.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Spec/Swagger2.php

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,6 @@
66

77
class Swagger2 extends Spec
88
{
9-
/**
10-
* @var array
11-
*/
12-
private array $serviceParams = [];
13-
149
/**
1510
* @return string
1611
*/
@@ -112,7 +107,6 @@ public function getServices()
112107
$list[$tag] = [
113108
'name' => $tag,
114109
'methods' => $methods,
115-
'globalParams' => $this->serviceParams[$tag] ?? [],
116110
];
117111
}
118112
}
@@ -138,7 +132,6 @@ public function getServices()
138132
public function getMethods($service)
139133
{
140134
$list = [];
141-
$serviceParams= [];
142135
$security = $this->getAttribute('securityDefinitions', []);
143136
$paths = $this->getAttribute('paths', []);
144137

@@ -210,7 +203,6 @@ public function getMethods($service)
210203
'default' => $parameter['default'] ?? null,
211204
'example' => $parameter['x-example'] ?? null,
212205
'isUploadID' => $parameter['x-upload-id'] ?? false,
213-
'isGlobal' => $parameter['x-global'] ?? false,
214206
'array' => [
215207
'type' => $parameter['items']['type'] ?? '',
216208
],
@@ -222,10 +214,6 @@ public function getMethods($service)
222214

223215
$param['default'] = (is_array($param['default'])) ? json_encode($param['default']) : $param['default'];
224216

225-
if(($parameter['x-global'] ?? false)) {
226-
$serviceParams[$param['name']] = $param;
227-
}
228-
229217
switch ($parameter['in']) {
230218
case 'header':
231219
$output['parameters']['header'][] = $param;
@@ -250,7 +238,6 @@ public function getMethods($service)
250238
$param['required'] = (in_array($key, $bodyRequired));
251239
$param['default'] = $value['default'] ?? null;
252240
$param['example'] = $value['x-example'] ?? null;
253-
$param['isGlobal'] = $value['x-global'] ?? false;
254241
$param['isUploadID'] = $value['x-upload-id'] ?? false;
255242
$param['array'] = [
256243
'type' => $value['items']['type'] ?? '',
@@ -282,8 +269,6 @@ public function getMethods($service)
282269
}
283270
}
284271

285-
$this->serviceParams[$service] = $serviceParams;
286-
287272
return $list;
288273
}
289274

templates/android/docs/java/example.md.twig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ public class MainActivity extends AppCompatActivity {
2525
{% endfor %}
2626
{% endif %}
2727

28-
{{ service.name | caseUcfirst }} {{ service.name | caseCamel }} = new {{ service.name | caseUcfirst }}(client{% if service.globalParams | length %}{% for parameter in service.globalParams %}, {{ parameter | paramExample }}{% endfor %}{% endif %});
28+
{{ service.name | caseUcfirst }} {{ service.name | caseCamel }} = new {{ service.name | caseUcfirst }}(client);
2929

30-
{{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | filter((param) => not param.isGlobal) | length == 0 %}new Continuation<Object>() {
30+
{{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %}new Continuation<Object>() {
3131
@NotNull
3232
@Override
3333
public CoroutineContext getContext() {
@@ -56,7 +56,7 @@ public class MainActivity extends AppCompatActivity {
5656
{% if method.type == "webAuth" %}
5757
this,
5858
{% endif %}
59-
{% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
59+
{% for parameter in method.parameters.all %}
6060
{% if parameter.required %}
6161
{{ parameter | paramExample }}{% if not loop.last %}, {% endif %}
6262

templates/android/docs/kotlin/example.md.twig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ class MainActivity : AppCompatActivity() {
2323
{% endfor %}
2424
{% endif %}
2525

26-
val {{ service.name | caseCamel }} = {{ service.name | caseUcfirst }}(client{% if service.globalParams | length %}{% for parameter in service.globalParams %}, {{ parameter | paramExample }}{% endfor %}{% endif %})
26+
val {{ service.name | caseCamel }} = {{ service.name | caseUcfirst }}(client)
2727

2828
GlobalScope.launch {
29-
{% if method.type == 'webAuth' %} {% elseif method.type == 'location' %} val result = {% else %} val response = {% endif %}{{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | filter((param) => not param.isGlobal) | length == 0 %}){% endif %}
29+
{% if method.type == 'webAuth' %} {% elseif method.type == 'location' %} val result = {% else %} val response = {% endif %}{{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %}){% endif %}
3030

3131
{% if method.type == "webAuth" %}
3232
activity = this@MainActivity,
3333
{% endif %}
34-
{% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
34+
{% for parameter in method.parameters.all %}
3535
{% if parameter.required %}
3636
{{parameter.name}} = {{ parameter | paramExample }}{% if not loop.last %},{% endif %}
3737

templates/android/library/src/main/java/io/appwrite/services/ServiceTemplate.kt.twig

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% macro parameter(parameter) %}{{ parameter.name | caseCamel }}: {{ parameter | typeName }}{% if not parameter.required %}? = null{% endif %}{% endmacro %}
22
{% macro method_parameters(parameters, consumes) %}
3-
{% if parameters.all|length > 0 %}{% for parameter in parameters.all | filter((param) => not param.isGlobal) %}{{ '\n\t\t' }}{{ _self.parameter(parameter) }}{% if not loop.last %}{{ ',' }}{% endif %}{% endfor %}{% if 'multipart/form-data' in consumes %}, onProgress: ((UploadProgress) -> Unit)? = null{% endif %}{% endif %}
3+
{% if parameters.all|length > 0 %}{% for parameter in parameters.all %}{{ '\n\t\t' }}{{ _self.parameter(parameter) }}{% if not loop.last %}{{ ',' }}{% endif %}{% endfor %}{% if 'multipart/form-data' in consumes %}, onProgress: ((UploadProgress) -> Unit)? = null{% endif %}{% endif %}
44
{% endmacro %}
55
{% macro methodNeedsSecurityParameters(method) %}
66
{% if (method.type == "webAuth" or method.type == "location") and method.security|length > 0 %}{{ true }}{% else %}{{false}}{% endif %}
@@ -28,20 +28,7 @@ import java.io.File
2828

2929
class {{ service.name | caseUcfirst }} : Service {
3030

31-
{% if service.globalParams | length %}
32-
{% for parameter in service.globalParams %}
33-
val {{ parameter.name | caseCamel | escapeKeyword }}: {{ parameter | typeName | overrideIdentifier }}{% if not parameter.required %}?{% endif %}
34-
35-
{% endfor %}
36-
37-
public constructor(client: Client,{% for parameter in service.globalParams %} {{ parameter.name | caseCamel | escapeKeyword }}: {{ parameter | typeName | overrideIdentifier }}{% if not parameter.required %}? = null{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}) : super(client) {
38-
{% for parameter in service.globalParams %}
39-
this.{{ parameter.name | caseCamel | escapeKeyword }} = {{ parameter.name | caseCamel | escapeKeyword }}
40-
{% endfor %}
41-
}
42-
{% else %}
4331
public constructor (client: Client) : super(client) { }
44-
{% endif %}
4532

4633
{% for method in service.methods %}
4734
/**
@@ -51,7 +38,7 @@ class {{ service.name | caseUcfirst }} : Service {
5138
{{ method.description|comment1 }}
5239
*
5340
{% endif %}
54-
{% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
41+
{% for parameter in method.parameters.all %}
5542
* @param {{ parameter.name | caseCamel }} {{ parameter.description }}
5643
{% endfor %}
5744
* {% if method.type != "webAuth" %}@return [{{ _self.resultType(sdk.namespace, method) }}]{% endif %}

templates/dart/docs/example.md.twig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ void main() { // Init SDK
1717
{% endfor %} ;
1818

1919
{% endif %}
20-
Future result = {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
20+
Future result = {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% for parameter in method.parameters.all %}
2121
{% if loop.first %}
2222

2323
{% endif %}
2424
{% if parameter.required %}
2525
{{ parameter.name | caseCamel | overrideIdentifier }}: {{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }},
2626
{% endif %}
27-
{% endfor %}{% if method.parameters.all | filter((param) => not param.isGlobal) | length > 0 %} {% endif %});
27+
{% endfor %}{% if method.parameters.all | length > 0 %} {% endif %});
2828

2929
result
3030
.then((response) {

templates/dart/lib/services/service.dart.twig

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,16 @@ part of {{ language.params.packageName }};
1111
{{ service.description|dartComment}}
1212
{% endif %}
1313
class {{ service.name | caseUcfirst }} extends Service {
14-
{{ service.name | caseUcfirst }}(Client client{{ _self.service_params(service.globalParams) }}): super(client);
15-
{% if service.globalParams | length %}
16-
{% for parameter in service.globalParams %}
17-
{{ parameter | typeName }}{% if not parameter.required %}?{% endif %} {{ parameter.name | caseCamel | overrideIdentifier }};
18-
{% endfor %}
19-
{% endif %}
20-
{% for method in service.methods %}
14+
{{ service.name | caseUcfirst }}(super.client);
2115

16+
{% for method in service.methods %}
2217
/// {{ method.title }}
2318
{% if method.description %}
2419
///
2520
{{ method.description | dartComment }}
2621
///
2722
{% endif %}
28-
{% if method.type == 'location' %} Future<Uint8List> {% else %} {% if method.responseModel and method.responseModel != 'any' %}Future<models.{{method.responseModel | caseUcfirst | overrideIdentifier}}>{% else %}Future{% endif %}{% endif %} {{ method.name | caseCamel }}({{ _self.method_parameters(method.parameters.all | filter((param) => not param.isGlobal), method.consumes) }}) async {
23+
{% if method.type == 'location' %} Future<Uint8List> {% else %} {% if method.responseModel and method.responseModel != 'any' %}Future<models.{{method.responseModel | caseUcfirst | overrideIdentifier}}>{% else %}Future{% endif %}{% endif %} {{ method.name | caseCamel }}({{ _self.method_parameters(method.parameters.all, method.consumes) }}) async {
2924
final String path = '{{ method.path }}'{% for parameter in method.parameters.path %}.replaceAll('{{ '{' }}{{ parameter.name | caseCamel }}{{ '}' }}', {{ parameter.name | caseCamel | overrideIdentifier }}){% endfor %};
3025

3126
{% if 'multipart/form-data' in method.consumes %}

templates/dart/pubspec.yaml.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ repository: https://github.com/{{sdk.gitUserName}}/{{sdk.gitRepoName}}
66
issue_tracker: https://github.com/appwrite/sdk-generator/issues
77
documentation: {{ spec.contactURL }}
88
environment:
9-
sdk: '>=2.14.0 <3.0.0'
9+
sdk: '>=2.17.0 <3.0.0'
1010
dependencies:
1111
http: ^0.13.4
1212

templates/deno/docs/example.md.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ client
1919

2020
{% endif %}
2121

22-
let promise = {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}{% if parameter.required %}{% if not loop.first %}, {% endif %}{{ parameter | paramExample }}{% endif %}{% endfor %});
22+
let promise = {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% for parameter in method.parameters.all %}{% if parameter.required %}{% if not loop.first %}, {% endif %}{{ parameter | paramExample }}{% endif %}{% endfor %});
2323

2424
promise.then(function (response) {
2525
console.log(response);

templates/deno/src/services/service.ts.twig

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,12 @@ export type UploadProgress = {
4141
}
4242

4343
export class {{ service.name | caseUcfirst }} extends Service {
44-
{% if service.globalParams | length %}
45-
{% for parameter in service.globalParams %}
46-
protected {{ parameter.name | caseCamel | escapeKeyword }}: {{ parameter | typeName }};
47-
public set{{ parameter.name | caseUcfirst | escapeKeyword }}({{ parameter.name | caseCamel | escapeKeyword }}: {{ parameter | typeName }}): void
48-
{
49-
this.{{ parameter.name | caseCamel | escapeKeyword }} = {{ parameter.name | caseCamel | escapeKeyword }};
50-
}
51-
public get{{ parameter.name | caseUcfirst | escapeKeyword }}(): {{ parameter | typeName }}
52-
{
53-
return this.{{ parameter.name | caseCamel | escapeKeyword }};
54-
}
55-
{% endfor %}
56-
constructor(client: Client, {% for parameter in service.globalParams %} {{ parameter.name | caseCamel | escapeKeyword }}:{{ parameter | typeName }}{% if not parameter.required %}|null = null{% endif %}{% if not loop.last %}, {% endif %}{% endfor %})
44+
45+
constructor(client: Client)
5746
{
5847
super(client);
59-
60-
{% for parameter in service.globalParams %}
61-
this.{{ parameter.name | caseCamel | escapeKeyword }} = {{ parameter.name | caseCamel | escapeKeyword }};
62-
{% endfor %}
6348
}
64-
{% endif %}
49+
6550
{% for method in service.methods %}
6651
{% set generics = _self.get_generics(spec.definitions[method.responseModel], spec, true, true) %}
6752
{% set generics_return = _self.get_generics_return(spec.definitions[method.responseModel], spec) %}
@@ -72,33 +57,33 @@ export class {{ service.name | caseUcfirst }} extends Service {
7257
{{ method.description|comment1 }}
7358
*
7459
{% endif %}
75-
{% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
60+
{% for parameter in method.parameters.all%}
7661
* @param {{ '{' }}{{ parameter | typeName }}{{ '}' }} {{ parameter.name | caseCamel | escapeKeyword }}
7762
{% endfor %}
7863
* @throws {AppwriteException}
7964
* @returns {Promise}
8065
*/
81-
async {{ method.name | caseCamel }}{% if generics %}<{{generics}}>{% endif %}({% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}{{ parameter.name | caseCamel | escapeKeyword }}{% if not parameter.required %}?{% endif %}: {{ parameter | typeName }}{% if not loop.last %}, {% endif %}{% endfor %}{% if 'multipart/form-data' in method.consumes %}, onProgress = (progress: UploadProgress) => {}{% endif %}): Promise<{% if method.type == 'webAuth' %}Response{% elseif method.type == 'location' %}Response{% else %}{% if method.responseModel and method.responseModel != 'any' %}{% if not spec.definitions[method.responseModel].additionalProperties %}Models.{% endif %}{{method.responseModel | caseUcfirst}}{% if generics_return %}<{{generics_return}}>{% endif %}{% else %}Response{% endif %}{% endif %}> {
82-
{% for parameter in method.parameters.all | filter((param) => not param.isGlobal) %}
66+
async {{ method.name | caseCamel }}{% if generics %}<{{generics}}>{% endif %}({% for parameter in method.parameters.all %}{{ parameter.name | caseCamel | escapeKeyword }}{% if not parameter.required %}?{% endif %}: {{ parameter | typeName }}{% if not loop.last %}, {% endif %}{% endfor %}{% if 'multipart/form-data' in method.consumes %}, onProgress = (progress: UploadProgress) => {}{% endif %}): Promise<{% if method.type == 'webAuth' %}Response{% elseif method.type == 'location' %}Response{% else %}{% if method.responseModel and method.responseModel != 'any' %}{% if not spec.definitions[method.responseModel].additionalProperties %}Models.{% endif %}{{method.responseModel | caseUcfirst}}{% if generics_return %}<{{generics_return}}>{% endif %}{% else %}Response{% endif %}{% endif %}> {
67+
{% for parameter in method.parameters.all %}
8368
{% if parameter.required %}
8469
if (typeof {{ parameter.name | caseCamel | escapeKeyword }} === 'undefined') {
8570
throw new {{spec.title | caseUcfirst}}Exception('Missing required parameter: "{{ parameter.name | caseCamel | escapeKeyword }}"');
8671
}
8772

8873
{% endif %}
8974
{% endfor %}
90-
let path = '{{ method.path }}'{% for parameter in method.parameters.path %}.replace('{{ '{' }}{{ parameter.name }}{{ '}' }}', {% if parameter.isGlobal %}this.{% endif %}{{ parameter.name | caseCamel | escapeKeyword }}){% endfor %};
75+
let path = '{{ method.path }}'{% for parameter in method.parameters.path %}.replace('{{ '{' }}{{ parameter.name }}{{ '}' }}', {{ parameter.name | caseCamel | escapeKeyword }}){% endfor %};
9176
let payload: Payload = {};
9277

9378
{% for parameter in method.parameters.query %}
94-
if (typeof {% if parameter.isGlobal %}this.{% endif %}{{ parameter.name | caseCamel | escapeKeyword }} !== 'undefined') {
95-
payload['{{ parameter.name }}'] = {% if parameter.isGlobal %}this.{% endif %}{{ parameter.name | caseCamel | escapeKeyword }}{% if method.consumes[0] == "multipart/form-data" and ( parameter.type != "string" and parameter.type != "array" and parameter.type != "file" ) %}.toString(){% endif %};
79+
if (typeof {{ parameter.name | caseCamel | escapeKeyword }} !== 'undefined') {
80+
payload['{{ parameter.name }}'] = {{ parameter.name | caseCamel | escapeKeyword }}{% if method.consumes[0] == "multipart/form-data" and ( parameter.type != "string" and parameter.type != "array" and parameter.type != "file" ) %}.toString(){% endif %};
9681
}
9782

9883
{% endfor %}
9984
{% for parameter in method.parameters.body %}
100-
if (typeof {% if parameter.isGlobal %}this.{% endif %}{{ parameter.name | caseCamel | escapeKeyword }} !== 'undefined') {
101-
payload['{{ parameter.name }}'] = {% if parameter.isGlobal %}this.{% endif %}{{ parameter.name | caseCamel | escapeKeyword }}{% if method.consumes[0] == "multipart/form-data" and ( parameter.type != "string" and parameter.type != "array" and parameter.type != "file" ) %}.toString(){% endif %};
85+
if (typeof {{ parameter.name | caseCamel | escapeKeyword }} !== 'undefined') {
86+
payload['{{ parameter.name }}'] = {{ parameter.name | caseCamel | escapeKeyword }}{% if method.consumes[0] == "multipart/form-data" and ( parameter.type != "string" and parameter.type != "array" and parameter.type != "file" ) %}.toString(){% endif %};
10287
}
10388
{% endfor %}
10489
{% if 'multipart/form-data' in method.consumes %}

0 commit comments

Comments
 (0)