Skip to content
4 changes: 2 additions & 2 deletions src/Spec/Swagger2.php
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ protected function parseMethod(string $methodName, string $pathName, array $meth
$param['default'] = (is_array($param['default']) || $param['default'] instanceof stdClass) ? json_encode($param['default']) : $param['default'];
if (isset($parameter['enum'])) {
$param['enumValues'] = $parameter['enum'];
$param['enumName'] = $parameter['x-enum-name'];
$param['enumName'] = $parameter['x-enum-name'] ?? $param['name'];
$param['enumKeys'] = $parameter['x-enum-keys'];
}

Expand Down Expand Up @@ -268,7 +268,7 @@ protected function parseMethod(string $methodName, string $pathName, array $meth

if (isset($value['enum'])) {
$temp['enumValues'] = $value['enum'];
$temp['enumName'] = $value['x-enum-name'];
$temp['enumName'] = $value['x-enum-name'] ?? $temp['name'];
$temp['enumKeys'] = $value['x-enum-keys'];
}

Expand Down
28 changes: 7 additions & 21 deletions templates/android/docs/java/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,10 @@ import {{ sdk.namespace | caseDot }}.models.InputFile;
import {{ sdk.namespace | caseDot }}.services.{{ service.name | caseUcfirst }};
{% set added = [] %}
{% for parameter in method.parameters.all %}
{% if method == parameter.required %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }};
{% set added = added|merge([name]) %}
{% endif %}
{% if parameter.enumName not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ parameter.enumName | caseUcfirst }};
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand Down Expand Up @@ -47,17 +40,10 @@ Client client = new Client(context)
}));{% endif %}

{% for parameter in method.parameters.all %}
{%~ if parameter.enumValues is not empty -%}
{%~ if parameter.enumName is not empty -%}
{%~ set name = parameter.enumName -%}
{%~ else -%}
{%~ set name = parameter.name -%}
{%~ endif %}
{{ name }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}, // {{ parameter.name }} {% if not parameter.required %}(optional){% endif %}
{%~ else %}
{{ parameter | paramExample }}, // {{ parameter.name }} {% if not parameter.required %}(optional){% endif %}
{%~ endif %}
{%~ if loop.last %}
{% if parameter.enumValues is not empty %}{{ parameter.enumName | caseUcfirst }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}, // {{ parameter.name }} {% if not parameter.required %}(optional){% endif %}
{% else %}{{ parameter | paramExample }}, // {{ parameter.name }} {% if not parameter.required %}(optional){% endif %}
{% endif %}
{%~ if loop.last %}

new CoroutineCallback<>((result, error) -> {
if (error != null) {
Expand Down
22 changes: 5 additions & 17 deletions templates/android/docs/kotlin/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,10 @@ import {{ sdk.namespace | caseDot }}.models.InputFile
import {{ sdk.namespace | caseDot }}.services.{{ service.name | caseUcfirst }}
{% set added = [] %}
{% for parameter in method.parameters.all %}
{% if method == parameter.required %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }}
{% set added = added|merge([name]) %}
{% endif %}
{% if parameter.enumName not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ parameter.enumName | caseUcfirst }}
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand All @@ -42,13 +35,8 @@ val {{ service.name | caseCamel }} = {{ service.name | caseUcfirst }}(client)
val result = {% endif %}{{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %}){% endif %}

{%~ for parameter in method.parameters.all %}
{%~ if parameter.enumValues is not empty -%}
{%~ if parameter.enumName is not empty -%}
{%~ set name = parameter.enumName -%}
{%~ else -%}
{%~ set name = parameter.name -%}
{%~ endif %}
{{ parameter.name }} = {{ name }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }},{% if not parameter.required %} // (optional){% endif %}
{%~ if parameter.enumValues is not empty %}
{{ parameter.name }} = {{ parameter.enumName }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }},{% if not parameter.required %} // (optional){% endif %}
{%~ else %}
{{ parameter.name }} = {{ parameter | paramExample }}, {% if not parameter.required %}// (optional){% endif %}
{%~ endif %}
Expand Down
2 changes: 1 addition & 1 deletion templates/dart/docs/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Client client = Client()
{% if method.method != 'delete' and method.type != 'webAuth' %}{% if method.type == 'location' %}Uint8List{% else %}{{ method.responseModel | caseUcfirst | overrideIdentifier }}{% endif %} result = {% endif %}await {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %});{% endif %}

{%~ for parameter in method.parameters.all %}
{{ parameter.name | caseCamel | overrideIdentifier }}: {% if parameter.enumValues | length > 0 %}{{ parameter.enumName }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseCamel | replace({'-': ''}) }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // (optional){% endif %}
{{ parameter.name | caseCamel | overrideIdentifier }}: {% if parameter.enumValues | length > 0 %}{{ parameter.enumName | caseUcfirst | overrideIdentifier }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // (optional){% endif %}

{%~ endfor %}
{% if method.parameters.all | length > 0 %});
Expand Down
11 changes: 3 additions & 8 deletions templates/deno/src/services/service.ts.twig
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,9 @@ import { Query } from '../query.ts';
{% for method in service.methods %}
{% for parameter in method.parameters.all %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import { {{ name | caseUcfirst }} } from '../enums/{{ name | caseKebab }}.ts';
{% set added = added|merge([name]) %}
{% if parameter.enumName not in added %}
import { {{ parameter.enumName | caseUcfirst }} } from '../enums/{{ parameter.enumName | caseKebab }}.ts';
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand Down
2 changes: 1 addition & 1 deletion templates/dotnet/docs/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Client client = new Client()
{% if method.method != 'delete' and method.type != 'webAuth' %}{% if method.type == 'location' %}byte[]{% else %}{{ method.responseModel | caseUcfirst | overrideIdentifier }}{% endif %} result = {% endif %}await {{ service.name | caseCamel }}.{{ method.name | caseUcfirst }}({% if method.parameters.all | length == 0 %});{% endif %}
{%~ for parameter in method.parameters.all %}

{{ parameter.name }}: {% if parameter.enumValues | length > 0%}{{ parameter.enumName }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}{% if not parameter.required %} // optional{% endif %}
{{ parameter.name }}: {% if parameter.enumValues | length > 0%}{{ parameter.enumName | caseUcfirst }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}{% if not parameter.required %} // optional{% endif %}
{%~ endfor %}

{% if method.parameters.all | length > 0 %});{% endif %}
6 changes: 3 additions & 3 deletions templates/flutter/docs/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Client client = Client()
// Downloading file
Uint8List bytes = await {{ service.name | caseCamel }}.{{ method.name | caseCamel }}(
{%~ for parameter in method.parameters.all %}
{{ parameter.name | caseCamel | overrideIdentifier}}: {% if parameter.enumValues | length > 0%}{{parameter.enumName}}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // optional{% endif %}
{{ parameter.name | caseCamel | overrideIdentifier}}: {% if parameter.enumValues | length > 0%}{{ parameter.enumName | caseUcfirst | overrideIdentifier }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // optional{% endif %}

{%~ endfor %}{% if method.parameters.all | length > 0 %}{% endif %})

Expand All @@ -34,7 +34,7 @@ file.writeAsBytesSync(bytes);
FutureBuilder(
future: {{ service.name | caseCamel }}.{{ method.name | caseCamel }}(
{%~ for parameter in method.parameters.all %}
{{ parameter.name | caseCamel | overrideIdentifier}}:{% if parameter.enumValues | length > 0%} {{parameter.enumName}}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }} {% endif %},{% if not parameter.required %} // optional{% endif %}
{{ parameter.name | caseCamel | overrideIdentifier}}:{% if parameter.enumValues | length > 0%} {{ parameter.enumName | caseUcfirst | overrideIdentifier }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }} {% endif %},{% if not parameter.required %} // optional{% endif %}

{%~ endfor %}
), // Works for both public file and private file, for private files you need to be logged in
Expand All @@ -48,7 +48,7 @@ FutureBuilder(
{% if method.method != 'delete' and method.type != 'webAuth' %}{% if method.type == 'location' %}Uint8List{% else %}{{ method.responseModel | caseUcfirst | overrideIdentifier }}{% endif %} result = {% endif %}await {{ service.name | caseCamel }}.{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %});{% endif %}

{%~ for parameter in method.parameters.all %}
{{ parameter.name | caseCamel | overrideIdentifier}}: {% if parameter.enumValues | length > 0%}{{parameter.enumName}}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // optional{% endif %}
{{ parameter.name | caseCamel | overrideIdentifier}}: {% if parameter.enumValues | length > 0%}{{ parameter.enumName | caseUcfirst | overrideIdentifier }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample | replace({'<field-name>': (parameter.name | caseCamel) }) | raw }}{% endif %},{% if not parameter.required %} // optional{% endif %}

{%~ endfor %}
{% if method.parameters.all | length > 0 %});
Expand Down
15 changes: 4 additions & 11 deletions templates/kotlin/docs/java/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,10 @@ import {{ sdk.namespace | caseDot }}.models.InputFile;
import {{ sdk.namespace | caseDot }}.services.{{ service.name | caseUcfirst }};
{% set added = [] %}
{% for parameter in method.parameters.all %}
{% if method == parameter.required %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }};
{% set added = added|merge([name]) %}
{% endif %}
{% if parameter.enumName not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ parameter.enumName | caseUcfirst }};
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand Down Expand Up @@ -45,7 +38,7 @@ Client client = new Client()
}));{% endif %}

{%~ for parameter in method.parameters.all %}
{% if parameter.enumValues | length > 0%}{{ parameter.enumName }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample }}{% endif %}, // {{ parameter.name }}{% if not parameter.required %} (optional){% endif %}
{% if parameter.enumValues | length > 0%}{{ parameter.enumName | caseUcfirst }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample }}{% endif %}, // {{ parameter.name }}{% if not parameter.required %} (optional){% endif %}
{%~ if loop.last %}

new CoroutineCallback<>((result, error) -> {
Expand Down
15 changes: 4 additions & 11 deletions templates/kotlin/docs/kotlin/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,10 @@ import {{ sdk.namespace | caseDot }}.models.InputFile
import {{ sdk.namespace | caseDot }}.services.{{ service.name | caseUcfirst }}
{% set added = [] %}
{% for parameter in method.parameters.all %}
{% if method == parameter.required %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }}
{% set added = added|merge([name]) %}
{% endif %}
{% if parameter.enumName not in added %}
import {{ sdk.namespace | caseDot }}.enums.{{ parameter.enumName | caseUcfirst }}
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand All @@ -39,7 +32,7 @@ val {{ service.name | caseCamel }} = {{ service.name | caseUcfirst }}(client)

{% for parameter in method.parameters.all %}
{% if parameter.required %}
{{parameter.name}} = {% if parameter.enumValues | length > 0 %} {{ parameter.enumName }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else%}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}
{{parameter.name}} = {% if parameter.enumValues | length > 0 %} {{ parameter.enumName | caseUcfirst }}.{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else%}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}

{% else %}
{{parameter.name}} = {{ parameter | paramExample }}{% if not loop.last %},{% endif %} // optional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName
import io.appwrite.extensions.jsonCast
{%~ for property in definition.properties %}
{%~ if property.enum %}
import {{ sdk.namespace | caseDot }}.enums.{{ (property.enumName ?? property.name) | caseUcfirst }}
import {{ sdk.namespace | caseDot }}.enums.{{ property.enumName | caseUcfirst }}
{%~ endif %}
{%~ endfor %}

Expand Down
4 changes: 2 additions & 2 deletions templates/node/docs/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ const result = await {{ service.name | caseCamel }}.{{ method.name | caseCamel }
{% else %}{
{%~ for parameter in method.parameters.all %}
{%~ if parameter.required %}
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}sdk.{{ parameter.enumName }}.{{(parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample}}{% endif %}{% if not loop.last %},{% endif%}
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}sdk.{{ parameter.enumName | caseUcfirst }}.{{(parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample}}{% endif %}{% if not loop.last %},{% endif%}

{%~ else %}
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}sdk.{{ parameter.enumName }}.{{(parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample}}{% endif %}{% if not loop.last %},{% endif%} // optional
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}sdk.{{ parameter.enumName | caseUcfirst }}.{{(parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}{% else %}{{ parameter | paramExample}}{% endif %}{% if not loop.last %},{% endif%} // optional
{%~ endif %}
{%~ endfor -%}
});
Expand Down
11 changes: 3 additions & 8 deletions templates/node/src/services/template.ts.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,9 @@ import type { Models } from '../models';
{% for method in service.methods %}
{% for parameter in method.parameters.all %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
import { {{ name | caseUcfirst }} } from '../enums/{{ name | caseKebab }}';
{% set added = added|merge([name]) %}
{% if parameter.enumName not in added %}
import { {{ parameter.enumName | caseUcfirst }} } from '../enums/{{ parameter.enumName | caseKebab }}';
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand Down
13 changes: 4 additions & 9 deletions templates/php/docs/example.md.twig
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,9 @@ use {{ spec.title | caseUcfirst }}\Services\{{ service.name | caseUcfirst }};
{% set added = [] %}
{% for parameter in method.parameters.all %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
use {{ spec.title | caseUcfirst }}\Enums\{{ name | caseUcfirst }};
{% set added = added|merge([name]) %}
{% if parameter.enumName not in added %}
use {{ spec.title | caseUcfirst }}\Enums\{{ parameter.enumName | caseUcfirst }};
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand All @@ -39,7 +34,7 @@ ${{ service.name | caseCamel }} = new {{ service.name | caseUcfirst }}($client);
$result = ${{ service.name | caseCamel }}->{{ method.name | caseCamel }}({% if method.parameters.all | length == 0 %});{% endif %}

{%~ for parameter in method.parameters.all %}
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}{% if parameter.enumName is not empty %}{{ parameter.enumName | caseUcfirst }}{% else %}{{ parameter.name | caseUcfirst }}{% endif %}::{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}(){% else%}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}{% if not parameter.required %} // optional{% endif %}
{{ parameter.name | caseCamel }}: {% if parameter.enumValues | length > 0%}{{ parameter.enumName | caseUcfirst }}::{{ (parameter.enumKeys[0] ?? parameter.enumValues[0]) | caseEnumKey }}(){% else%}{{ parameter | paramExample }}{% endif %}{% if not loop.last %},{% endif %}{% if not parameter.required %} // optional{% endif %}

{%~ endfor -%}
{% if method.parameters.all | length > 0 %});{% endif %}
11 changes: 3 additions & 8 deletions templates/php/src/Services/Service.php.twig
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,9 @@ use {{ spec.title | caseUcfirst }}\InputFile;
{% for method in service.methods %}
{% for parameter in method.parameters.all %}
{% if parameter.enumValues is not empty %}
{% if parameter.enumName is not empty %}
{% set name = parameter.enumName %}
{% else %}
{% set name = parameter.name %}
{% endif %}
{% if name not in added %}
use {{ spec.title | caseUcfirst }}\Enums\{{ name | caseUcfirst }};
{% set added = added|merge([name]) %}
{% if parameter.enumName not in added %}
use {{ spec.title | caseUcfirst }}\Enums\{{ parameter.enumName | caseUcfirst }};
{% set added = added|merge([parameter.enumName]) %}
{% endif %}
{% endif %}
{% endfor %}
Expand Down
Loading
Loading