Custom user data as array?
-
I want to add children's data to the user, but I don't need the child's email, etc.
I need only the child's name, date of birth, and the UUID which should be generated automatically, so I choose to use the custom user data.
But a user can have many children and the FusionAuth custom user data does not allow me to create an array object
How could I achieve this with FusionAuth?
-
@minhngocnguyenduy maybe using lambdas can help?
-
@maciej-wisniowski You should be able to create an array object.
Here's a data object which should work:
data: { children: [ { "name": "foo" "value": "bar" } ], }
Can you please print out the JSON of the object you are trying to store in the user.data field and share it?
-
@dan When I create children by array like this
userChildren = [{id: 'id', name: 'name', dateOfBirth: '2010-01-01'}] await axios.patch( `${config.iamHost}/api/user/${session.userId as string}`, { user: { email: session.user!.email!, data: { children: userChildren, }, }, }, { headers: { "X-FusionAuth-TenantId": config.iamTenantId, Authorization: config.iamApiKey, }, } );
The code above did change the user custom data to
children.id id children.name name etc
I think because I didn't put the properties in the double quote as you did.
So I have found a workaround, which is parsing it as a JSON string and later parsing it back.
data: { children: JSON.stringify(userChildren), },
-
@minhngocnguyenduy Glad you found a solution!