diff options
Diffstat (limited to 'web/source/settings/lib/query')
| -rw-r--r-- | web/source/settings/lib/query/base.js | 22 | 
1 files changed, 4 insertions, 18 deletions
| diff --git a/web/source/settings/lib/query/base.js b/web/source/settings/lib/query/base.js index f880853d2..653fc449b 100644 --- a/web/source/settings/lib/query/base.js +++ b/web/source/settings/lib/query/base.js @@ -20,23 +20,7 @@  "use strict";  const { createApi, fetchBaseQuery } = require("@reduxjs/toolkit/query/react"); -const { isPlainObject } = require("is-plain-object"); - -function convertToForm(obj) { -	const formData = new FormData(); -	Object.entries(obj).forEach(([key, val]) => { -		if (isPlainObject(val)) { -			Object.entries(val).forEach(([key2, val2]) => { -				if (val2 != undefined) { -					formData.set(`${key}[${key2}]`, val2); -				} -			}); -		} else if (val != undefined) { -			formData.set(key, val); -		} -	}); -	return formData; -} +const { serialize: serializeForm } = require("object-to-formdata");  function instanceBasedQuery(args, api, extraOptions) {  	const state = api.getState(); @@ -55,7 +39,9 @@ function instanceBasedQuery(args, api, extraOptions) {  	if (args.asForm) {  		delete args.asForm; -		args.body = convertToForm(args.body); +		args.body = serializeForm(args.body, { +			indices: true, // Array indices, for profile fields +		});  	}  	return fetchBaseQuery({ | 
