[ 
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)

Reply via email to