From 6acffc7dda9cebad3c6228e0170bb416bdb5c530 Mon Sep 17 00:00:00 2001 From: Niels Dockbite Date: Thu, 30 Nov 2023 12:07:12 +0100 Subject: [PATCH] deepObject-nested Strapi filter fix --- templates/requestBuilder.handlebars | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/templates/requestBuilder.handlebars b/templates/requestBuilder.handlebars index f6986bb5..f73a56dc 100644 --- a/templates/requestBuilder.handlebars +++ b/templates/requestBuilder.handlebars @@ -151,8 +151,21 @@ class QueryParameter extends Parameter { // Append a parameter for each key, in the form `name[key]` for (const key of Object.keys(this.value)) { const propVal = this.value[key]; - if (propVal !== null && propVal !== undefined) { - params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal)); + if (propVal !== null && typeof propVal === 'object') { + for (const keyD of Object.keys(propVal)) { + const propValDeep = this.value[key][keyD]; + if (propValDeep !== null && propValDeep !== undefined) { + params = params.append( + `${this.name}[${key}][${keyD}]`, + this.serializeValue(propValDeep) + ); + } + } + } else if (propVal !== null && propVal !== undefined) { + params = params.append( + `${this.name}[${key}]`, + this.serializeValue(propVal) + ); } } } else if (this.options.explode) { @@ -177,8 +190,7 @@ class QueryParameter extends Parameter { } } else if (this.value !== null && this.value !== undefined) { // Plain value - params = this.value; - //params = params.append(this.name, this.serializeValue(this.value)); + params = params.append(this.name, this.serializeValue(this.value)); } return params; }