apache / apache/directory-scimple
Support the PATCH method with PatchOp operations in /Bulk
- Dominant language
- Java
- Stars
- 103
- Forks
- 47
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 16
Description
Hi,
The `/Bulk` endpoint currently supports `User` and `Group` SCIM resources with the method field set to `POST`. When the method field is set to `PATCH`, it is also possible to use `PatchOp` objects in the `data` field.
There's an example at https://scim.dev/playground/bulk.html
This is currently not implemented. Advertising support for `Bulk` without this implemented might be out of spec, so the `/ServiceProviderConfig` endpoint should probably return false by default for bulk support as long as this is not implemented.
I suppose one of the difficulties in supporting this is that the data field and the `setData()` and `getData()` methods in the `BulkOperation` class will somehow need to support `PatchOp` objects in addition to `ScimResource` objects. I started looking into this, possibly `getScimResource` and `getPatchOp` methods could be implemented in addition to a generic `getData()` method returning `Object` (as there's no proper union type in Java AFAIK). The data field could possibly be split into `scimResource` and `patchOp`... or not, maybe that's not necessary. I didn't go much further than this as I'm not quite sure how the code using `getData()` really works.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the BulkOperation class and trace callers of its data field, setData(), and getData() methods to understand how User and Group resources are handled. Check the /Bulk and /ServiceProviderConfig entry points. Done means PATCH operations accept PatchOp data correctly and bulk support is advertised as false by default until that support is available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100