CarnegieLearningWeb / UpGrade

Framework for adding A/B testing to education applications
https://www.upgradeplatform.org/
BSD 3-Clause "New" or "Revised" License
25 stars 13 forks source link

FF: Add List (Implement for Exclude Table) #1754

Closed danoswaltCL closed 2 weeks ago

danoswaltCL commented 1 month ago

Once the Add Include List modal is working for Include, implement for Exclude list.

IMPLEMENTATION NOTE: you should be able to just implement similar config as Add-List for include, just with the UPSERT_PRIVATE_SEGMENT_LIST_ACTION.ADD_FLAG_EXCLUDE_LIST sent as the action.

That should take care of doing this already, but obviously verify that the call is actually wired up correctly.

POST /addExclusionList

Request body:

{
  "flagId": string(UUID),  // the id of the feature flag
  "enabled": boolean,
  "listType": string,
  "list": {
    "name": string,
    "description": string, //optional
    "context": string,
    "userIds": [ // Optional - populated if type is 'individual'
      string
    ],
    "groups": [ // Optional - populated if type is 'group'
      {
        "groupId": string,
        "type": string
      }
    ],
    "subSegmentIds": [string] //  Optional - populated with a single segmentId if type is 'segment'
  },
}
zackcl commented 1 month ago

I don't think there's any difference between the "Add Include List" and "Add Exclude List" modals.

Yagnik56 commented 1 month ago

@danoswaltCL this issue is for crud operation or the backend endpoint?

danoswaltCL commented 1 month ago

currently I'm working on the 'add list' modal, which will be first implemented for ADD INCLUDE. This story is poorly worded but was meant to just be a placeholder for the next step, which will be using the same modal for ADD EXCLUDE (and then also EDIT INCLUDE and EDIT EXCLUDE but I didn't make those stories yet).

danoswaltCL commented 3 weeks ago

Latest update is to the top-level comment, much of this is already done, should just need to plug-and-play for exclusion with a few different parameters in common-dialog.service