Skip to content

Commit ae78997

Browse files
committed
Fix CLI encoding of JSON objects
When setting a JSON object string at the CLI, it is considered a string and passed to the API as a string, even though it's expected as an object. This change ensures that JSON object strings are decoded into PHP arrays so that they are properly encoded when sent to the Appwrite API.
1 parent 6f14fd2 commit ae78997

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

templates/cli/app/service.php.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ $cli
8383
$cFile = new \CURLFile(${{ parameter.name | caseCamel | escapeKeyword }}, {% if method.packaging %} 'application/x-gzip' {% else %} 'image/png' {% endif %}, basename(${{ parameter.name | caseCamel | escapeKeyword }}));
8484
$params['{{ parameter.name }}'] = $cFile;
8585
{% else %}
86-
$params['{{ parameter.name }}'] = {% if parameter.type == 'array' %}!is_array(${{ parameter.name | caseCamel | escapeKeyword }}) ? array(${{ parameter.name | caseCamel | escapeKeyword }}) : ${{ parameter.name | caseCamel | escapeKeyword }};{% elseif parameter.type == 'integer' %}(int)${{ parameter.name | caseCamel | escapeKeyword }};{% else %}${{ parameter.name | caseCamel | escapeKeyword }};{% endif %}
86+
$params['{{ parameter.name }}'] = {% if parameter.type == 'array' %}!is_array(${{ parameter.name | caseCamel | escapeKeyword }}) ? array(${{ parameter.name | caseCamel | escapeKeyword }}) : ${{ parameter.name | caseCamel | escapeKeyword }};{% elseif parameter.type == 'integer' %}(int)${{ parameter.name | caseCamel | escapeKeyword }};{% elseif parameter.type == 'object' %}\json_decode(${{ parameter.name | caseCamel | escapeKeyword }});{% else %}${{ parameter.name | caseCamel | escapeKeyword }};{% endif %}
8787
8888
{% endif %}
8989
{% endfor %}

0 commit comments

Comments
 (0)