[
https://issues.apache.org/jira/browse/UNOMI-1030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18136165#comment-18136165
]
Serge Huber commented on UNOMI-1030:
------------------------------------
Pull request: https://github.com/apache/unomi/pull/940
> GraphQL add/remove profile to list is not saved when the profile is already
> in a list
> -------------------------------------------------------------------------------------
>
> Key: UNOMI-1030
> URL: https://issues.apache.org/jira/browse/UNOMI-1030
> Project: Apache Unomi
> Issue Type: Bug
> Affects Versions: unomi-4.0.0, unomi-3.0.1
> Reporter: Serge Huber
> Priority: Major
> Fix For: unomi-4.0.0
>
>
> h3. In short
> Adding a profile to a list, or removing it from one, through GraphQL silently
> does nothing if that profile already belongs to at least one list. The call
> succeeds, but the change is never saved.
> h3. Details
> * {{CDPUpdateListsAction}} edits the profile's existing
> {{systemProperties.lists}} object in place, then sends {{updateProperties}}
> with that same object.
> * {{PropertyHelper.setProperty}} compares the new value with the (already
> modified) old one, finds them equal and returns NO\_CHANGE, so
> {{AddProfileToListCommand}} / {{RemoveProfileFromListCommand}} never save the
> profile (remove also returns false).
> * Only profiles with no {{lists}} yet work, which is why {{GraphQLListIT}}
> (fresh profile) does not catch it. Found while reviewing PR 939 (UNOMI-1027).
> h3. Fix and test
> Build a new list (copy of the existing one) in {{CDPUpdateListsAction}}
> before adding/removing. Unit test: profile already in list A, join list B →
> PROFILE\_UPDATED and saved; same for leave.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)